From 6ab34b6e18e138a89919970f2150b7bc956cb3ba Mon Sep 17 00:00:00 2001 From: Jonathan Grynspan Date: Tue, 16 Jul 2024 21:36:15 -0400 Subject: [PATCH] Disable Swift Testing by default in `swift package init`. This PR turns Swift Testing back off by default when running `swift package init` because it's not available in the toolchain yet and the package dependency may come as a surprise (also, it breaks CI, but who's counting?) Follow-up to #7766. --- Sources/Commands/PackageCommands/Init.swift | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/Sources/Commands/PackageCommands/Init.swift b/Sources/Commands/PackageCommands/Init.swift index 8fd9522df7e..43903533508 100644 --- a/Sources/Commands/PackageCommands/Init.swift +++ b/Sources/Commands/PackageCommands/Init.swift @@ -55,10 +55,22 @@ extension SwiftPackageCommand { } let packageName = self.packageName ?? cwd.basename + + // Which testing libraries should be used? XCTest is on by default, + // but Swift Testing must remain off by default until it is present + // in the Swift toolchain. + var supportedTestingLibraries = Set() + if testLibraryOptions.isEnabled(.xctest) { + supportedTestingLibraries.insert(.xctest) + } + if testLibraryOptions.explicitlyEnableSwiftTestingLibrarySupport == true || testLibraryOptions.explicitlyEnableExperimentalSwiftTestingLibrarySupport == true { + supportedTestingLibraries.insert(.swiftTesting) + } + let initPackage = try InitPackage( name: packageName, packageType: initMode, - supportedTestingLibraries: Set(testLibraryOptions.enabledTestingLibraries), + supportedTestingLibraries: supportedTestingLibraries, destinationPath: cwd, installedSwiftPMConfiguration: swiftCommandState.getHostToolchain().installedSwiftPMConfiguration, fileSystem: swiftCommandState.fileSystem