Build Information
Failed to build sMock with Swift 6.0 for Linux.
Build Command
bash -c docker run --rm -v "checkouts-4606859-0":/host -w "$workDir" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1
Build Log
========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Alkenso/sMock.git
Reference: master
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
From https://github.com/Alkenso/sMock
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at 831a80a Merge branch 'refactoring'
Cloned https://github.com/Alkenso/sMock.git
Revision (git rev-parse @):
831a80a4cef948c0b0a4bbaf812f7b6f4b101ba1
SUCCESS checkout https://github.com/Alkenso/sMock.git at master
========================================
Build
========================================
Selected platform: linux
Swift version: 6.0
Building package at path: $workDir
https://github.com/Alkenso/sMock.git
Running build ...
bash -c docker run --rm -v "checkouts-4606859-0":/host -w "$workDir" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/8] Compiling sMock MockMethod.swift
[4/8] Compiling sMock _MockFunctionBase.swift
/host/spi-builder-workspace/Sources/sMock/sMock.swift:45:23: warning: static property 'unexpectedCallBehavior' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
43 | /// By default, in such cases sMock will trigger XCTFail.
44 | /// Change this handler in 'setUp' method either on each test case or in the very beginning of the individual test.
45 | public static var unexpectedCallBehavior: UnexpectedCallBehavior = .failTest
| |- warning: static property 'unexpectedCallBehavior' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'unexpectedCallBehavior' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'unexpectedCallBehavior' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
46 |
47 | /// Timeout used when calling `waitForExpectations() -> Bool` method.
/host/spi-builder-workspace/Sources/sMock/_MockFunctionBase.swift:285:13: warning: capture of 'self' with non-sendable type 'ArgumentCaptor<Args>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
272 | // MARK: - Capturing arguments
273 |
274 | public class ArgumentCaptor<Args> {
| `- note: generic class 'ArgumentCaptor' does not conform to the 'Sendable' protocol
275 | private var queue = DispatchQueue(label: "ArgumentCaptor")
276 | private var capturedArgs: [Args] = []
:
283 | func capture(_ args: Args) {
284 | queue.async {
285 | self.capturedArgs.append(args)
| `- warning: capture of 'self' with non-sendable type 'ArgumentCaptor<Args>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
286 | }
287 | }
/host/spi-builder-workspace/Sources/sMock/_MockFunctionBase.swift:285:38: warning: capture of 'args' with non-sendable type 'Args' in a `@Sendable` closure; this is an error in the Swift 6 language mode
272 | // MARK: - Capturing arguments
273 |
274 | public class ArgumentCaptor<Args> {
| `- note: consider making generic parameter 'Args' conform to the 'Sendable' protocol
275 | private var queue = DispatchQueue(label: "ArgumentCaptor")
276 | private var capturedArgs: [Args] = []
:
283 | func capture(_ args: Args) {
284 | queue.async {
285 | self.capturedArgs.append(args)
| `- warning: capture of 'args' with non-sendable type 'Args' in a `@Sendable` closure; this is an error in the Swift 6 language mode
286 | }
287 | }
[5/8] Compiling sMock sMock.swift
/host/spi-builder-workspace/Sources/sMock/sMock.swift:45:23: warning: static property 'unexpectedCallBehavior' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
43 | /// By default, in such cases sMock will trigger XCTFail.
44 | /// Change this handler in 'setUp' method either on each test case or in the very beginning of the individual test.
45 | public static var unexpectedCallBehavior: UnexpectedCallBehavior = .failTest
| |- warning: static property 'unexpectedCallBehavior' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'unexpectedCallBehavior' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'unexpectedCallBehavior' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
46 |
47 | /// Timeout used when calling `waitForExpectations() -> Bool` method.
/host/spi-builder-workspace/Sources/sMock/sMock.swift:49:23: warning: static property 'waitTimeout' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
47 | /// Timeout used when calling `waitForExpectations() -> Bool` method.
48 | /// Change this value in 'setUp' method either on each test case or in the very beginning of the individual test.
49 | public static var waitTimeout: TimeInterval = 0.5
| |- warning: static property 'waitTimeout' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'waitTimeout' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'waitTimeout' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
50 |
51 | /// Wait for currently registered sMock expectations.
/host/spi-builder-workspace/Sources/sMock/sMock.swift:80:23: warning: static property 'explicitCurrentTestCase' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
78 | /// Set this variable before using any mock objects.
79 | /// Usually set it in 'setUp' method of concrete XCTestCase, assigning 'self' to it.
80 | public static var explicitCurrentTestCase: XCTestCase? = nil
| |- warning: static property 'explicitCurrentTestCase' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'explicitCurrentTestCase' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'explicitCurrentTestCase' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
81 | }
82 |
/host/spi-builder-workspace/Sources/sMock/sMock.swift:94:24: warning: static property 'expectations' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
92 |
93 | private static let expectationsSyncQueue = DispatchQueue(label: "sMock.expectationsSyncQueue")
94 | private static var expectations: [XCTestExpectation] = []
| |- warning: static property 'expectations' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'expectations' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'expectations' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
95 | }
96 |
/host/spi-builder-workspace/Sources/sMock/sMock.swift:112:16: warning: static property 'defaultUnexpectedCallBehavior' is not concurrency-safe because non-'Sendable' type 'sMock.UnexpectedCallBehavior' may have shared mutable state; this is an error in the Swift 6 language mode
29 | /// sMock configuration.
30 | extension sMock {
31 | public enum UnexpectedCallBehavior {
| `- note: consider making enum 'UnexpectedCallBehavior' conform to the 'Sendable' protocol
32 | /// Only warns (print) about unexpected call of mocked entities.
33 | case warning
:
110 |
111 | private extension sMock {
112 | static let defaultUnexpectedCallBehavior: UnexpectedCallBehavior = .failTest
| |- warning: static property 'defaultUnexpectedCallBehavior' is not concurrency-safe because non-'Sendable' type 'sMock.UnexpectedCallBehavior' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'defaultUnexpectedCallBehavior' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
113 | static var defaultWaitTimeout: TimeInterval = 0.5
114 | }
/host/spi-builder-workspace/Sources/sMock/sMock.swift:113:16: warning: static property 'defaultWaitTimeout' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
111 | private extension sMock {
112 | static let defaultUnexpectedCallBehavior: UnexpectedCallBehavior = .failTest
113 | static var defaultWaitTimeout: TimeInterval = 0.5
| |- warning: static property 'defaultWaitTimeout' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultWaitTimeout' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'defaultWaitTimeout' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
114 | }
115 |
/host/spi-builder-workspace/Sources/sMock/sMock.swift:119:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'MocksSupport' may have shared mutable state; this is an error in the Swift 6 language mode
116 | // MARK: - MocksSupport
117 |
118 | class MocksSupport {
| `- note: class 'MocksSupport' does not conform to the 'Sendable' protocol
119 | static let shared = MocksSupport()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'MocksSupport' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
120 |
121 | var currentTestCase: XCTestCase {
/host/spi-builder-workspace/Sources/sMock/sMock.swift:179:75: error: cannot find 'NSSelectorFromString' in scope
177 | static func extractCurrentTestCase() -> XCTestCase? {
178 | guard let cl: AnyClass = NSClassFromString("XCTestMisuseObserver"),
179 | let builtInObservers = XCTestObservationCenter.shared.perform(NSSelectorFromString("observers")),
| `- error: cannot find 'NSSelectorFromString' in scope
180 | let builtInObserverArray = builtInObservers.takeUnretainedValue() as? [NSObject],
181 | let misuseObserver = builtInObserverArray.first(where: { $0.isKind(of: cl) }),
/host/spi-builder-workspace/Sources/sMock/sMock.swift:179:67: error: value of type 'XCTestObservationCenter' has no member 'perform'
177 | static func extractCurrentTestCase() -> XCTestCase? {
178 | guard let cl: AnyClass = NSClassFromString("XCTestMisuseObserver"),
179 | let builtInObservers = XCTestObservationCenter.shared.perform(NSSelectorFromString("observers")),
| `- error: value of type 'XCTestObservationCenter' has no member 'perform'
180 | let builtInObserverArray = builtInObservers.takeUnretainedValue() as? [NSObject],
181 | let misuseObserver = builtInObserverArray.first(where: { $0.isKind(of: cl) }),
/host/spi-builder-workspace/Sources/sMock/sMock.swift:182:57: error: cannot find 'NSSelectorFromString' in scope
180 | let builtInObserverArray = builtInObservers.takeUnretainedValue() as? [NSObject],
181 | let misuseObserver = builtInObserverArray.first(where: { $0.isKind(of: cl) }),
182 | let currentCaseAny = misuseObserver.perform(NSSelectorFromString("currentTestCase")),
| `- error: cannot find 'NSSelectorFromString' in scope
183 | let currentCase = currentCaseAny.takeUnretainedValue() as? XCTestCase else {
184 | return nil
/host/spi-builder-workspace/Sources/sMock/sMock.swift:221:28: error: cannot find 'XCTSourceCodeLocation' in scope
219 |
220 | private func reportFailure(_ description: String) {
221 | let location = XCTSourceCodeLocation(filePath: _file, lineNumber: _line)
| `- error: cannot find 'XCTSourceCodeLocation' in scope
222 | let context = XCTSourceCodeContext(location: location)
223 | let issue = XCTIssue(type: .assertionFailure, compactDescription: description, detailedDescription: nil, sourceCodeContext: context, associatedError: nil, attachments: [])
/host/spi-builder-workspace/Sources/sMock/sMock.swift:222:27: error: cannot find 'XCTSourceCodeContext' in scope
220 | private func reportFailure(_ description: String) {
221 | let location = XCTSourceCodeLocation(filePath: _file, lineNumber: _line)
222 | let context = XCTSourceCodeContext(location: location)
| `- error: cannot find 'XCTSourceCodeContext' in scope
223 | let issue = XCTIssue(type: .assertionFailure, compactDescription: description, detailedDescription: nil, sourceCodeContext: context, associatedError: nil, attachments: [])
224 | MocksSupport.shared.currentTestCase.record(issue)
/host/spi-builder-workspace/Sources/sMock/sMock.swift:223:25: error: cannot find 'XCTIssue' in scope
221 | let location = XCTSourceCodeLocation(filePath: _file, lineNumber: _line)
222 | let context = XCTSourceCodeContext(location: location)
223 | let issue = XCTIssue(type: .assertionFailure, compactDescription: description, detailedDescription: nil, sourceCodeContext: context, associatedError: nil, attachments: [])
| `- error: cannot find 'XCTIssue' in scope
224 | MocksSupport.shared.currentTestCase.record(issue)
225 | }
/host/spi-builder-workspace/Sources/sMock/sMock.swift:223:41: error: cannot infer contextual base in reference to member 'assertionFailure'
221 | let location = XCTSourceCodeLocation(filePath: _file, lineNumber: _line)
222 | let context = XCTSourceCodeContext(location: location)
223 | let issue = XCTIssue(type: .assertionFailure, compactDescription: description, detailedDescription: nil, sourceCodeContext: context, associatedError: nil, attachments: [])
| `- error: cannot infer contextual base in reference to member 'assertionFailure'
224 | MocksSupport.shared.currentTestCase.record(issue)
225 | }
/host/spi-builder-workspace/Sources/sMock/sMock.swift:223:113: error: 'nil' requires a contextual type
221 | let location = XCTSourceCodeLocation(filePath: _file, lineNumber: _line)
222 | let context = XCTSourceCodeContext(location: location)
223 | let issue = XCTIssue(type: .assertionFailure, compactDescription: description, detailedDescription: nil, sourceCodeContext: context, associatedError: nil, attachments: [])
| `- error: 'nil' requires a contextual type
224 | MocksSupport.shared.currentTestCase.record(issue)
225 | }
/host/spi-builder-workspace/Sources/sMock/sMock.swift:223:163: error: 'nil' requires a contextual type
221 | let location = XCTSourceCodeLocation(filePath: _file, lineNumber: _line)
222 | let context = XCTSourceCodeContext(location: location)
223 | let issue = XCTIssue(type: .assertionFailure, compactDescription: description, detailedDescription: nil, sourceCodeContext: context, associatedError: nil, attachments: [])
| `- error: 'nil' requires a contextual type
224 | MocksSupport.shared.currentTestCase.record(issue)
225 | }
/host/spi-builder-workspace/Sources/sMock/sMock.swift:224:49: error: value of type 'XCTestCase' has no member 'record'
222 | let context = XCTSourceCodeContext(location: location)
223 | let issue = XCTIssue(type: .assertionFailure, compactDescription: description, detailedDescription: nil, sourceCodeContext: context, associatedError: nil, attachments: [])
224 | MocksSupport.shared.currentTestCase.record(issue)
| `- error: value of type 'XCTestCase' has no member 'record'
225 | }
226 | }
[6/8] Compiling sMock Matcher.swift
[7/8] Emitting module sMock
/host/spi-builder-workspace/Sources/sMock/sMock.swift:45:23: warning: static property 'unexpectedCallBehavior' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
43 | /// By default, in such cases sMock will trigger XCTFail.
44 | /// Change this handler in 'setUp' method either on each test case or in the very beginning of the individual test.
45 | public static var unexpectedCallBehavior: UnexpectedCallBehavior = .failTest
| |- warning: static property 'unexpectedCallBehavior' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'unexpectedCallBehavior' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'unexpectedCallBehavior' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
46 |
47 | /// Timeout used when calling `waitForExpectations() -> Bool` method.
/host/spi-builder-workspace/Sources/sMock/sMock.swift:49:23: warning: static property 'waitTimeout' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
47 | /// Timeout used when calling `waitForExpectations() -> Bool` method.
48 | /// Change this value in 'setUp' method either on each test case or in the very beginning of the individual test.
49 | public static var waitTimeout: TimeInterval = 0.5
| |- warning: static property 'waitTimeout' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'waitTimeout' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'waitTimeout' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
50 |
51 | /// Wait for currently registered sMock expectations.
/host/spi-builder-workspace/Sources/sMock/sMock.swift:80:23: warning: static property 'explicitCurrentTestCase' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
78 | /// Set this variable before using any mock objects.
79 | /// Usually set it in 'setUp' method of concrete XCTestCase, assigning 'self' to it.
80 | public static var explicitCurrentTestCase: XCTestCase? = nil
| |- warning: static property 'explicitCurrentTestCase' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'explicitCurrentTestCase' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'explicitCurrentTestCase' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
81 | }
82 |
/host/spi-builder-workspace/Sources/sMock/sMock.swift:94:24: warning: static property 'expectations' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
92 |
93 | private static let expectationsSyncQueue = DispatchQueue(label: "sMock.expectationsSyncQueue")
94 | private static var expectations: [XCTestExpectation] = []
| |- warning: static property 'expectations' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'expectations' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'expectations' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
95 | }
96 |
/host/spi-builder-workspace/Sources/sMock/sMock.swift:112:16: warning: static property 'defaultUnexpectedCallBehavior' is not concurrency-safe because non-'Sendable' type 'sMock.UnexpectedCallBehavior' may have shared mutable state; this is an error in the Swift 6 language mode
29 | /// sMock configuration.
30 | extension sMock {
31 | public enum UnexpectedCallBehavior {
| `- note: consider making enum 'UnexpectedCallBehavior' conform to the 'Sendable' protocol
32 | /// Only warns (print) about unexpected call of mocked entities.
33 | case warning
:
110 |
111 | private extension sMock {
112 | static let defaultUnexpectedCallBehavior: UnexpectedCallBehavior = .failTest
| |- warning: static property 'defaultUnexpectedCallBehavior' is not concurrency-safe because non-'Sendable' type 'sMock.UnexpectedCallBehavior' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'defaultUnexpectedCallBehavior' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
113 | static var defaultWaitTimeout: TimeInterval = 0.5
114 | }
/host/spi-builder-workspace/Sources/sMock/sMock.swift:113:16: warning: static property 'defaultWaitTimeout' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
111 | private extension sMock {
112 | static let defaultUnexpectedCallBehavior: UnexpectedCallBehavior = .failTest
113 | static var defaultWaitTimeout: TimeInterval = 0.5
| |- warning: static property 'defaultWaitTimeout' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultWaitTimeout' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'defaultWaitTimeout' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
114 | }
115 |
/host/spi-builder-workspace/Sources/sMock/sMock.swift:119:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'MocksSupport' may have shared mutable state; this is an error in the Swift 6 language mode
116 | // MARK: - MocksSupport
117 |
118 | class MocksSupport {
| `- note: class 'MocksSupport' does not conform to the 'Sendable' protocol
119 | static let shared = MocksSupport()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'MocksSupport' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
120 |
121 | var currentTestCase: XCTestCase {
[8/8] Compiling sMock MockClosure.swift
BUILD FAILURE 6.0 linux