Skip to content

Commit 526bd77

Browse files
authored
Move the check for SWT_EXPERIMENTAL_MAXIMUM_PARALLELIZATION_WIDTH. (#1486)
1 parent 9e04507 commit 526bd77

3 files changed

Lines changed: 17 additions & 17 deletions

File tree

Sources/Testing/ABI/EntryPoints/EntryPoint.swift

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -553,21 +553,13 @@ public func configurationForEntryPoint(from args: __CommandLineArguments_v0) thr
553553
var configuration = Configuration()
554554

555555
// Parallelization (on by default)
556-
if let parallel = args.parallel, !parallel {
556+
if let parallel = args.parallel {
557557
configuration.isParallelizationEnabled = parallel
558-
} else {
559-
var maximumParallelizationWidth = args.experimentalMaximumParallelizationWidth
560-
if maximumParallelizationWidth == nil && Test.current == nil {
561-
// Don't check the environment variable when a current test is set (which
562-
// presumably means we're running our own unit tests).
563-
maximumParallelizationWidth = Environment.variable(named: "SWT_EXPERIMENTAL_MAXIMUM_PARALLELIZATION_WIDTH").flatMap(Int.init)
564-
}
565-
if let maximumParallelizationWidth {
566-
if maximumParallelizationWidth < 1 {
567-
throw _EntryPointError.invalidArgument("--experimental-maximum-parallelization-width", value: String(describing: maximumParallelizationWidth))
568-
}
569-
configuration.maximumParallelizationWidth = maximumParallelizationWidth
558+
} else if let maximumParallelizationWidth = args.experimentalMaximumParallelizationWidth {
559+
if maximumParallelizationWidth < 1 {
560+
throw _EntryPointError.invalidArgument("--experimental-maximum-parallelization-width", value: String(describing: maximumParallelizationWidth))
570561
}
562+
configuration.maximumParallelizationWidth = maximumParallelizationWidth
571563
}
572564

573565
// Whether or not to symbolicate backtraces in the event stream.

Sources/Testing/Running/Configuration.swift

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,11 @@ public struct Configuration: Sendable {
2828
maximumParallelizationWidth > 1
2929
}
3030
set {
31-
maximumParallelizationWidth = newValue ? defaultParallelizationWidth : 1
31+
if newValue {
32+
maximumParallelizationWidth = max(maximumParallelizationWidth, defaultParallelizationWidth)
33+
} else {
34+
maximumParallelizationWidth = 1
35+
}
3236
}
3337
}
3438

Sources/Testing/Support/Serializer.swift

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,14 @@ private var _cpuCoreCount: Int? {
3030
#endif
3131

3232
/// The default parallelization width when parallelized testing is enabled.
33-
var defaultParallelizationWidth: Int {
33+
let defaultParallelizationWidth: Int = {
3434
// _cpuCoreCount.map { max(1, $0) * 2 } ?? .max
35-
.max
36-
}
35+
if let environmentValue = Environment.variable(named: "SWT_EXPERIMENTAL_MAXIMUM_PARALLELIZATION_WIDTH").flatMap(Int.init),
36+
environmentValue > 0 {
37+
return environmentValue
38+
}
39+
return .max
40+
}()
3741

3842
/// A type whose instances can run a series of work items in strict order.
3943
///

0 commit comments

Comments
 (0)