diff --git a/aws/sdk-codegen/src/test/kotlin/software/amazon/smithy/rustsdk/EndpointConfigCustomizationTest.kt b/aws/sdk-codegen/src/test/kotlin/software/amazon/smithy/rustsdk/EndpointConfigCustomizationTest.kt index e6c3b5be5a0e88018940d8196887d1c3ac63685c..cbc90a1a58d78956dd8453a87ee92a5f198a4c4f 100644 --- a/aws/sdk-codegen/src/test/kotlin/software/amazon/smithy/rustsdk/EndpointConfigCustomizationTest.kt +++ b/aws/sdk-codegen/src/test/kotlin/software/amazon/smithy/rustsdk/EndpointConfigCustomizationTest.kt @@ -167,7 +167,6 @@ internal class EndpointConfigCustomizationTest { """ ) } - println("file:///" + project.baseDir + "/src/aws_endpoint.rs") project.compileAndTest() } } diff --git a/codegen/src/main/kotlin/software/amazon/smithy/rust/codegen/testutil/Rust.kt b/codegen/src/main/kotlin/software/amazon/smithy/rust/codegen/testutil/Rust.kt index fc4c1a36fd15cefd78f84d0a0992e92ea5ebc671..bf24a684aefdd7bb61c53a2c9a859f14e68b04cd 100644 --- a/codegen/src/main/kotlin/software/amazon/smithy/rust/codegen/testutil/Rust.kt +++ b/codegen/src/main/kotlin/software/amazon/smithy/rust/codegen/testutil/Rust.kt @@ -154,9 +154,11 @@ fun RustWriter.unitTest( } } -class TestWriterDelegator(fileManifest: FileManifest, symbolProvider: RustSymbolProvider) : +class TestWriterDelegator(private val fileManifest: FileManifest, symbolProvider: RustSymbolProvider) : RustCrate(fileManifest, symbolProvider, DefaultPublicModules) { val baseDir: Path = fileManifest.baseDir + + fun generatedFiles(): List = fileManifest.files.toList().sorted() } /** @@ -177,6 +179,10 @@ fun TestWriterDelegator.compileAndTest(runClippy: Boolean = false) { manifestCustomizations = emptyMap(), libRsCustomizations = listOf(), ) + println("Generated files:") + generatedFiles().forEach { path -> + println("file:///$path") + } try { "cargo fmt".runCommand(baseDir) } catch (e: Exception) { diff --git a/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/generators/StructureGeneratorTest.kt b/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/generators/StructureGeneratorTest.kt index 9f948470d26c143ae7749973fc678d6767fb321e..df5f22247f4a7a57ca9f67b1e08c17e36bdfeb97 100644 --- a/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/generators/StructureGeneratorTest.kt +++ b/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/generators/StructureGeneratorTest.kt @@ -244,8 +244,6 @@ class StructureGeneratorTest { ) val provider = testSymbolProvider(testModel) val project = TestWorkspace.testProject(provider) - println("file:///" + project.baseDir + "/src/lib.rs") - println("file:///" + project.baseDir + "/src/model.rs") project.useShapeWriter(inner) { writer -> writer.withModule("model") { diff --git a/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/generators/http/RequestBindingGeneratorTest.kt b/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/generators/http/RequestBindingGeneratorTest.kt index c646e983c1b3042c7d2ac0245362e4c73bc6b674..1e70ea7d7aff999d37aeb2dc2cd5fe23d1e8ccd5 100644 --- a/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/generators/http/RequestBindingGeneratorTest.kt +++ b/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/generators/http/RequestBindingGeneratorTest.kt @@ -199,7 +199,7 @@ class RequestBindingGeneratorTest { let mut o = String::new(); inp.test_uri_query(&mut o); assert_eq!(o.as_str(), "?primitive=1&enabled=true") - """ + """ ) writer.unitTest( @@ -232,7 +232,7 @@ class RequestBindingGeneratorTest { let prefix_header = http_request.headers().get_all("X-Prefix-k").iter().map(|hv|std::str::from_utf8(hv.as_ref()).unwrap()).collect::>(); assert_eq!(prefix_header, vec!["😹"]) - """ + """ ) writer.unitTest( @@ -247,7 +247,7 @@ class RequestBindingGeneratorTest { .build().unwrap(); let err = inp.test_request_builder_base().expect_err("can't make a header out of a cat emoji"); assert_eq!(format!("{}", err), "Invalid field in input: prefix (Details: `😹` cannot be used as a header name: invalid HTTP header name)"); - """ + """ ) writer.unitTest( @@ -262,7 +262,7 @@ class RequestBindingGeneratorTest { .build().unwrap(); let err = inp.test_request_builder_base().expect_err("can't make a header with a newline"); assert_eq!(format!("{}", err), "Invalid field in input: prefix (Details: `\n can\'t put a newline in a header value` cannot be used as a header value: failed to parse header value)"); - """ + """ ) writer.unitTest( @@ -277,7 +277,7 @@ class RequestBindingGeneratorTest { let err = inp.test_request_builder_base().expect_err("can't make a header with a newline"); // make sure we obey the sensitive trait assert_eq!(format!("{}", err), "Invalid field in input: string_header (Details: `*** Sensitive Data Redacted ***` cannot be used as a header value: failed to parse header value)"); - """ + """ ) writer.unitTest( @@ -311,20 +311,17 @@ class RequestBindingGeneratorTest { writer.unitTest( name = "empty_uri_label_produces_an_error", test = """ - let ts = aws_smithy_types::DateTime::from_secs(10123125); - let inp = PutObjectInput::builder() - .bucket_name("") - .key(ts.clone()) - .build().unwrap(); - let err = inp.test_request_builder_base().expect_err("can't build request with bucket unset"); - assert!(matches!(err, ${writer.format(TestRuntimeConfig.operationBuildError())}::MissingField { .. })) - """ + let ts = aws_smithy_types::DateTime::from_secs(10123125); + let inp = PutObjectInput::builder() + .bucket_name("") + .key(ts.clone()) + .build().unwrap(); + let err = inp.test_request_builder_base().expect_err("can't build request with bucket unset"); + assert!(matches!(err, ${writer.format(TestRuntimeConfig.operationBuildError())}::MissingField { .. })) + """ ) } - println("file:///${project.baseDir}/src/lib.rs") - println("file:///${project.baseDir}/src/model.rs") - println("file:///${project.baseDir}/src/input.rs") project.compileAndTest() } } diff --git a/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/EventStreamTestTools.kt b/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/EventStreamTestTools.kt index 1946d6f8d1351c042a41fe0a675f6b12f5b7f32b..19f9b4979f44d49b14bdb30d045b94b816513eed 100644 --- a/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/EventStreamTestTools.kt +++ b/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/EventStreamTestTools.kt @@ -355,13 +355,6 @@ object EventStreamTestTools { project.withModule(RustModule.public("output")) { operationShape.outputShape(model).renderWithModelBuilder(model, symbolProvider, it) } - println("file:///${project.baseDir}/src/error.rs") - println("file:///${project.baseDir}/src/event_stream.rs") - println("file:///${project.baseDir}/src/event_stream_serde.rs") - println("file:///${project.baseDir}/src/json_ser.rs") - println("file:///${project.baseDir}/src/lib.rs") - println("file:///${project.baseDir}/src/model.rs") - println("file:///${project.baseDir}/src/operation_ser.rs") return TestEventStreamProject(model, serviceShape, operationShape, unionShape, symbolProvider, project) } diff --git a/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/parse/AwsQueryParserGeneratorTest.kt b/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/parse/AwsQueryParserGeneratorTest.kt index fab4ca426487b5e902b062df94b995d70e05c236..20007d270c98ac61147a0ab751b9c48650b5eae6 100644 --- a/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/parse/AwsQueryParserGeneratorTest.kt +++ b/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/parse/AwsQueryParserGeneratorTest.kt @@ -77,10 +77,6 @@ class AwsQueryParserGeneratorTest { model.lookup("test#SomeOperation").outputShape(model) .renderWithModelBuilder(model, symbolProvider, it) } - println("file:///${project.baseDir}/src/lib.rs") - println("file:///${project.baseDir}/src/model.rs") - println("file:///${project.baseDir}/src/output.rs") - println("file:///${project.baseDir}/src/xml_deser.rs") project.compileAndTest() } } diff --git a/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/parse/Ec2QueryParserGeneratorTest.kt b/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/parse/Ec2QueryParserGeneratorTest.kt index a43cfaf54d456ba1f7de9286a6a37b77d704b8a5..e0c7c5e09ea88286b77e8314dfefee1deb538df1 100644 --- a/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/parse/Ec2QueryParserGeneratorTest.kt +++ b/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/parse/Ec2QueryParserGeneratorTest.kt @@ -75,10 +75,6 @@ class Ec2QueryParserGeneratorTest { model.lookup("test#SomeOperation").outputShape(model) .renderWithModelBuilder(model, symbolProvider, it) } - println("file:///${project.baseDir}/src/lib.rs") - println("file:///${project.baseDir}/src/model.rs") - println("file:///${project.baseDir}/src/output.rs") - println("file:///${project.baseDir}/src/xml_deser.rs") project.compileAndTest() } } diff --git a/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/parse/JsonParserGeneratorTest.kt b/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/parse/JsonParserGeneratorTest.kt index 16adf7d43f001c6d6d42a90356d6de173ff4f2e7..d4c7602cc1920666fbab851d6c9c445eb6551ef8 100644 --- a/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/parse/JsonParserGeneratorTest.kt +++ b/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/parse/JsonParserGeneratorTest.kt @@ -200,10 +200,6 @@ class JsonParserGeneratorTest { project.withModule(RustModule.public("error")) { model.lookup("test#Error").renderWithModelBuilder(model, symbolProvider, it) } - println("file:///${project.baseDir}/src/json_deser.rs") - println("file:///${project.baseDir}/src/lib.rs") - println("file:///${project.baseDir}/src/model.rs") - println("file:///${project.baseDir}/src/output.rs") project.compileAndTest() } } diff --git a/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/serialize/AwsQuerySerializerGeneratorTest.kt b/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/serialize/AwsQuerySerializerGeneratorTest.kt index 01aef3f9699e971355ac3703183e00f4b4c41e33..8e7bcf75f6fa693e7130601f3129b1253618a69b 100644 --- a/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/serialize/AwsQuerySerializerGeneratorTest.kt +++ b/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/serialize/AwsQuerySerializerGeneratorTest.kt @@ -142,10 +142,6 @@ class AwsQuerySerializerGeneratorTest { project.withModule(RustModule.public("input")) { model.lookup("test#Op").inputShape(model).renderWithModelBuilder(model, symbolProvider, it) } - println("file:///${project.baseDir}/src/lib.rs") - println("file:///${project.baseDir}/src/model.rs") - println("file:///${project.baseDir}/src/operation_ser.rs") - println("file:///${project.baseDir}/src/query_ser.rs") project.compileAndTest() } } diff --git a/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/serialize/Ec2QuerySerializerGeneratorTest.kt b/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/serialize/Ec2QuerySerializerGeneratorTest.kt index 50c9dbb26df2be1be35abdd38af5fa59aa40820e..b0fe56b23513b5da6da4657e633d436169af80bc 100644 --- a/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/serialize/Ec2QuerySerializerGeneratorTest.kt +++ b/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/serialize/Ec2QuerySerializerGeneratorTest.kt @@ -134,10 +134,6 @@ class Ec2QuerySerializerGeneratorTest { project.withModule(RustModule.public("input")) { model.lookup("test#Op").inputShape(model).renderWithModelBuilder(model, symbolProvider, it) } - println("file:///${project.baseDir}/src/lib.rs") - println("file:///${project.baseDir}/src/model.rs") - println("file:///${project.baseDir}/src/operation_ser.rs") - println("file:///${project.baseDir}/src/query_ser.rs") project.compileAndTest() } } diff --git a/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/serialize/JsonSerializerGeneratorTest.kt b/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/serialize/JsonSerializerGeneratorTest.kt index bd84733cdff2a4eecd5ff7b373d996ec3d082232..d4ce6a4d39628645a012c2969e2d9ebaa96ba007 100644 --- a/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/serialize/JsonSerializerGeneratorTest.kt +++ b/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/serialize/JsonSerializerGeneratorTest.kt @@ -150,10 +150,6 @@ class JsonSerializerGeneratorTest { project.withModule(RustModule.public("input")) { model.lookup("test#Op").inputShape(model).renderWithModelBuilder(model, symbolProvider, it) } - println("file:///${project.baseDir}/src/json_ser.rs") - println("file:///${project.baseDir}/src/lib.rs") - println("file:///${project.baseDir}/src/model.rs") - println("file:///${project.baseDir}/src/operation_ser.rs") project.compileAndTest() } } diff --git a/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/serialize/XmlBindingTraitSerializerGeneratorTest.kt b/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/serialize/XmlBindingTraitSerializerGeneratorTest.kt index 437dcc8d36264f5247c61a8e99310545ca9485fe..8b276dcad467ba1c30d07bce657efdc747a0b687 100644 --- a/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/serialize/XmlBindingTraitSerializerGeneratorTest.kt +++ b/codegen/src/test/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/serialize/XmlBindingTraitSerializerGeneratorTest.kt @@ -153,7 +153,6 @@ internal class XmlBindingTraitSerializerGeneratorTest { project.withModule(RustModule.public("input")) { model.lookup("test#Op").inputShape(model).renderWithModelBuilder(model, symbolProvider, it) } - println("file:///${project.baseDir}/src/xml_ser.rs") project.compileAndTest() } }