-
Notifications
You must be signed in to change notification settings - Fork 10.6k
Always build SwiftDriver and use it as default compiler driver #36377
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
…iver. This will make sure that compiler developers are using the new driver when they build the compiler locally and use it. - Adds a new build-script product category: before_build_script_impl for products we wish to build before the impl products. - Adds a new EarlySwiftDriver product to that category, which gets built with the host toolchain. - Adds an escape hatch: --skip-early-swift-driver - Adjusts the swift CMake configuration with an additional step: swift_create_early_driver_symlinks which (if one was built) creates symlinks in the swift build bin directory to the EarlySwiftDriver swift-driver and swift-help executables. - Adds a new test subset : only_early_swiftdriver, which will get built into a corresponding CMake test target: check-swift-only_early_swiftdriver-* which runs a small subset of driver-related tests against the Early SwiftDriver. - This subset is run always when the compiler itself is tested (--test is specified) - With an escape disable-switch: --skip-test-early-swift-driver - All tests outside of only_early_swiftdriver are forced to run using the legacy C++ driver (to ensure it gets tested, still). NOTE: SwiftDriver product (no 'Early') is still the main product used to build the driver for toolchain installation into and for executing the product's own tests. This change does not affect that.
- Loading branch information
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -188,6 +188,7 @@ set(TEST_SUBSETS | |
| only_validation | ||
| only_long | ||
| only_stress | ||
| only_early_swiftdriver | ||
| ) | ||
|
|
||
| if(NOT "${COVERAGE_DB}" STREQUAL "") | ||
|
|
@@ -353,6 +354,7 @@ foreach(SDK ${SWIFT_SDKS}) | |
| (test_subset STREQUAL "validation") OR | ||
| (test_subset STREQUAL "only_long") OR | ||
| (test_subset STREQUAL "only_stress") OR | ||
| (test_subset STREQUAL "only_early_swiftdriver") OR | ||
|
||
| (test_subset STREQUAL "all")) | ||
| list(APPEND directories "${test_bin_dir}") | ||
| endif() | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -63,7 +63,7 @@ elif swift_test_subset == 'only_stress': | |
| # Currently those tests are very fast so it doesn't matter much. | ||
| pass | ||
| else: | ||
| lit_config.fatal("Unknown test mode %r" % swift_test_subset) | ||
| lit_config.fatal("Unknown test subset %r" % swift_test_subset) | ||
|
||
|
|
||
| # test_source_root: The root path where tests are located. | ||
| # test_exec_root: The root path where tests should be run. | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -167,6 +167,14 @@ def __init__(self, host_target, args): | |
| else: | ||
| subset_suffix = "" | ||
|
|
||
| # If the compiler is being tested after being built to use the | ||
| # standalone swift-driver, we build a test-target to | ||
| # run a reduced set of lit-tests that verify the early swift-driver. | ||
| if getattr(args, 'test_early_swift_driver', False) and\ | ||
|
||
| not test_host_only: | ||
| self.swift_test_run_targets.append( | ||
| "check-swift-only_early_swiftdriver-{}".format(name)) | ||
|
|
||
| # Support for running the macCatalyst tests with | ||
| # the iOS-like target triple. | ||
| macosx_platform_match = re.search("macosx-(.*)", name) | ||
|
|
@@ -180,6 +188,7 @@ def __init__(self, host_target, args): | |
| (self.swift_test_run_targets | ||
| .append("check-swift{}{}-{}".format( | ||
| subset_suffix, suffix, name))) | ||
|
|
||
| if args.test_optimized and not test_host_only: | ||
| self.swift_test_run_targets.append( | ||
| "check-swift{}-optimize-{}".format( | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.