Skip to content

Commit 19dcc69

Browse files
authored
Parallelize tests by default. (#174)
This PR enables parallelization by default when using `swift test` and enables support for the `--no-parallel` flag in `swift test` added in swiftlang/swift-package-manager#7231. The default value of `Configuration.isParallelizationEnabled` remains `false`. Other adopters are free to enable or disable parallelization by default. `XCTestScaffold` is not affected. It is a shim used with XCTest in Swift 5.10 only and expects serial execution of tests.
1 parent e814bd8 commit 19dcc69

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

Sources/Testing/Running/EntryPoint.swift

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -129,9 +129,10 @@ func configurationForSwiftPMEntryPoint(withArguments args: [String]) throws -> C
129129
// Do not consider the executable path AKA argv[0].
130130
let args = args.dropFirst()
131131

132-
// Parallelization
133-
if args.contains("--parallel") {
134-
configuration.isParallelizationEnabled = true
132+
// Parallelization (on by default)
133+
configuration.isParallelizationEnabled = true
134+
if args.contains("--no-parallel") {
135+
configuration.isParallelizationEnabled = false
135136
}
136137

137138
#if !SWT_NO_FILE_IO

Tests/TestingTests/SwiftPMTests.swift

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,16 @@ struct SwiftPMTests {
2222
#expect(!CommandLine.arguments().isEmpty)
2323
}
2424

25-
@Test("--parallel argument")
25+
@Test("--parallel/--no-parallel argument")
2626
func parallel() throws {
2727
var configuration = try configurationForSwiftPMEntryPoint(withArguments: ["PATH"])
28-
#expect(!configuration.isParallelizationEnabled)
28+
#expect(configuration.isParallelizationEnabled)
2929

3030
configuration = try configurationForSwiftPMEntryPoint(withArguments: ["PATH", "--parallel"])
3131
#expect(configuration.isParallelizationEnabled)
32+
33+
configuration = try configurationForSwiftPMEntryPoint(withArguments: ["PATH", "--no-parallel"])
34+
#expect(!configuration.isParallelizationEnabled)
3235
}
3336

3437
@Test("No --filter or --skip argument")

0 commit comments

Comments
 (0)