diff --git a/utils/build-presets.ini b/utils/build-presets.ini index 9868639c98f1e..aeea82d2b579c 100644 --- a/utils/build-presets.ini +++ b/utils/build-presets.ini @@ -1854,6 +1854,7 @@ release assertions swiftsyntax swiftsyntax-enable-rawsyntax-validation +swiftsyntax-enable-test-fuzzing swiftsyntax-verify-generated-files swiftsyntax-lint swiftformat @@ -1868,6 +1869,7 @@ release assertions swiftsyntax swiftsyntax-enable-rawsyntax-validation +swiftsyntax-enable-test-fuzzing swiftsyntax-verify-generated-files swiftsyntax-lint sourcekit-lsp diff --git a/utils/build_swift/build_swift/driver_arguments.py b/utils/build_swift/build_swift/driver_arguments.py index 2f9d7978bb45a..0692436f01da7 100644 --- a/utils/build_swift/build_swift/driver_arguments.py +++ b/utils/build_swift/build_swift/driver_arguments.py @@ -718,6 +718,10 @@ def create_argument_parser(): toggle_true('swiftsyntax_verify_generated_files'), help='set to verify that the generated files in the source tree ' + 'match the ones that would be generated from current main') + option('--swiftsyntax-enable-test-fuzzing', + toggle_true('swiftsyntax_enable_test_fuzzing'), + help='set to modify test cases in SwiftParserTest to check for ' + + 'round-trip failures and assertion failures') option('--swiftsyntax-enable-rawsyntax-validation', toggle_true('swiftsyntax_enable_rawsyntax_validation'), help='set to validate that RawSyntax layout nodes contain children of ' + diff --git a/utils/build_swift/tests/expected_options.py b/utils/build_swift/tests/expected_options.py index 7e76bc829c917..6e27397b84156 100644 --- a/utils/build_swift/tests/expected_options.py +++ b/utils/build_swift/tests/expected_options.py @@ -112,6 +112,7 @@ 'install_swiftdocc': False, 'swiftsyntax_verify_generated_files': False, 'swiftsyntax_enable_rawsyntax_validation': False, + 'swiftsyntax_enable_test_fuzzing': False, 'swiftsyntax_lint': False, 'install_playgroundsupport': False, 'install_sourcekitlsp': False, @@ -609,6 +610,8 @@ class BuildScriptImplOption(_BaseOption): dest='swiftsyntax_verify_generated_files'), EnableOption('--swiftsyntax-enable-rawsyntax-validation', dest='swiftsyntax_enable_rawsyntax_validation'), + EnableOption('--swiftsyntax-enable-test-fuzzing', + dest='swiftsyntax_enable_test_fuzzing'), EnableOption('--swiftsyntax-lint', dest='swiftsyntax_lint'), EnableOption('--install-swiftpm', dest='install_swiftpm'), diff --git a/utils/swift_build_support/swift_build_support/products/swiftsyntax.py b/utils/swift_build_support/swift_build_support/products/swiftsyntax.py index 1189e358f31e6..0142abfb17071 100644 --- a/utils/swift_build_support/swift_build_support/products/swiftsyntax.py +++ b/utils/swift_build_support/swift_build_support/products/swiftsyntax.py @@ -66,6 +66,9 @@ def run_swiftsyntax_build_script(self, target, command, additional_params=[]): if self.args.swiftsyntax_enable_rawsyntax_validation: build_cmd.append('--enable-rawsyntax-validation') + if self.args.swiftsyntax_enable_test_fuzzing: + build_cmd.append('--enable-test-fuzzing') + if self.args.verbose_build: build_cmd.append('--verbose')