From 5321be217ba86de4ef610995e03387bf9cf22cba Mon Sep 17 00:00:00 2001 From: Alex Hoppen Date: Thu, 13 Apr 2023 18:32:17 -0700 Subject: [PATCH] [SwiftSyntax] Enable test fuzzing for SwiftSyntax PR job Companion of https://github.com/apple/swift-syntax/pull/1340 --- utils/build-presets.ini | 2 ++ utils/build_swift/build_swift/driver_arguments.py | 4 ++++ utils/build_swift/tests/expected_options.py | 3 +++ .../swift_build_support/products/swiftsyntax.py | 3 +++ 4 files changed, 12 insertions(+) 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')