Build Information
Failed to build UITestingPlus, reference main (a6ba69
), with Swift 6.1 for Wasm on 28 May 2025 11:59:54 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi 2>&1
Build Log
========================================
RunAll
========================================
Builder version: 4.63.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/ChimeHQ/UITestingPlus.git
Reference: main
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/ChimeHQ/UITestingPlus
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at a6ba690 funding
Cloned https://github.com/ChimeHQ/UITestingPlus.git
Revision (git rev-parse @):
a6ba6902019187300cd340d0479f8c48cd435af9
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/ChimeHQ/UITestingPlus.git at main
========================================
Build
========================================
Selected platform: wasm
Swift version: 6.1
Building package at path: $PWD
https://github.com/ChimeHQ/UITestingPlus.git
https://github.com/ChimeHQ/UITestingPlus.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
"dependencies" : [
],
"manifest_display_name" : "UITestingPlus",
"name" : "UITestingPlus",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "11.0"
},
{
"name" : "ios",
"version" : "13.0"
}
],
"products" : [
{
"name" : "UITestingPlus",
"targets" : [
"UITestingPlus"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "UITestingPlusTests",
"module_type" : "SwiftTarget",
"name" : "UITestingPlusTests",
"path" : "Tests/UITestingPlusTests",
"sources" : [
"UITestingPlusTests.swift"
],
"target_dependencies" : [
"UITestingPlus"
],
"type" : "test"
},
{
"c99name" : "UITestingPlus",
"module_type" : "SwiftTarget",
"name" : "UITestingPlus",
"path" : "Sources/UITestingPlus",
"product_memberships" : [
"UITestingPlus"
],
"sources" : [
"HittableElementExpectation.swift",
"XCTest+Soon.swift",
"XCUIApplication+Apps.swift",
"XCUIApplication+Documents.swift",
"XCUIApplication+Menus.swift",
"XCUIApplication+Windows.swift",
"XCUIElement+Accessors.swift",
"XCUIElement+Existence.swift",
"XCUIElement+Hittable.swift",
"XCUIElement+Soon.swift",
"XCUIElement+TextEditing.swift"
],
"type" : "library"
}
],
"tools_version" : "5.5"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
wasm-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:7e37457820e5f17452a98118754f345f2619722c485f2db0d8b666940a83afd2
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[3/13] Emitting module UITestingPlus
/host/spi-builder-workspace/Sources/UITestingPlus/HittableElementExpectation.swift:6:41: error: 'init(format:_:)' has been renamed to 'init(block:)': Predicate strings and key-value coding are not supported in swift-corelibs-foundation. Use a closure instead if possible.
4 | /// Expectation subclass for waiting on an XCUIElement to be hittable.
5 | public class HittableElementExpectation: XCTNSPredicateExpectation {
6 | private static let hittablePredicate = NSPredicate(format: "exists == 1 && isHittable == 1")
| `- error: 'init(format:_:)' has been renamed to 'init(block:)': Predicate strings and key-value coding are not supported in swift-corelibs-foundation. Use a closure instead if possible.
7 |
8 | public init(element: XCUIElement) {
Foundation.NSPredicate.init:3:22: note: 'init(format:_:)' has been explicitly marked unavailable here
1 | class NSPredicate {
2 | @available(*, unavailable, renamed: "init(block:)", message: "Predicate strings and key-value coding are not supported in swift-corelibs-foundation. Use a closure instead if possible.")
3 | public convenience init(format predicateFormat: String, _ args: any CVarArg...)}
| `- note: 'init(format:_:)' has been explicitly marked unavailable here
4 |
/host/spi-builder-workspace/Sources/UITestingPlus/HittableElementExpectation.swift:6:21: warning: static property 'hittablePredicate' is not concurrency-safe because non-'Sendable' type 'NSPredicate' may have shared mutable state; this is an error in the Swift 6 language mode
4 | /// Expectation subclass for waiting on an XCUIElement to be hittable.
5 | public class HittableElementExpectation: XCTNSPredicateExpectation {
6 | private static let hittablePredicate = NSPredicate(format: "exists == 1 && isHittable == 1")
| |- warning: static property 'hittablePredicate' is not concurrency-safe because non-'Sendable' type 'NSPredicate' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'hittablePredicate' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
7 |
8 | public init(element: XCUIElement) {
Foundation.NSPredicate:1:12: note: class 'NSPredicate' does not conform to the 'Sendable' protocol
1 | open class NSPredicate : NSObject, NSCopying {
| `- note: class 'NSPredicate' does not conform to the 'Sendable' protocol
2 | override open func copy() -> Any
3 | open func copy(with zone: NSZone? = nil) -> Any
/host/spi-builder-workspace/Sources/UITestingPlus/HittableElementExpectation.swift:8:23: error: cannot find type 'XCUIElement' in scope
6 | private static let hittablePredicate = NSPredicate(format: "exists == 1 && isHittable == 1")
7 |
8 | public init(element: XCUIElement) {
| `- error: cannot find type 'XCUIElement' in scope
9 | let p = HittableElementExpectation.hittablePredicate
10 |
/host/spi-builder-workspace/Sources/UITestingPlus/HittableElementExpectation.swift:14:22: error: cannot find type 'XCUIElement' in scope
12 | }
13 |
14 | public var element: XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
15 | return object as! XCUIElement
16 | }
/host/spi-builder-workspace/Sources/UITestingPlus/HittableElementExpectation.swift:5:42: error: cannot find type 'XCTNSPredicateExpectation' in scope
3 |
4 | /// Expectation subclass for waiting on an XCUIElement to be hittable.
5 | public class HittableElementExpectation: XCTNSPredicateExpectation {
| `- error: cannot find type 'XCTNSPredicateExpectation' in scope
6 | private static let hittablePredicate = NSPredicate(format: "exists == 1 && isHittable == 1")
7 |
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIApplication+Windows.swift:4:18: error: cannot find type 'XCUIApplication' in scope
2 | import XCTest
3 |
4 | public extension XCUIApplication {
| `- error: cannot find type 'XCUIApplication' in scope
5 | func launchWithNoWindows() {
6 | launchArguments.append(contentsOf: ["-ApplePersistenceIgnoreState", "YES"])
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIElement+Accessors.swift:3:18: error: cannot find type 'XCUIElement' in scope
1 | import XCTest
2 |
3 | public extension XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
4 | var outlineDisclosureTriangle: XCUIElement {
5 | return disclosureTriangles["NSOutlineViewDisclosureButtonKey"]
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIElement+Accessors.swift:9:18: error: cannot find type 'XCUIElement' in scope
7 | }
8 |
9 | public extension XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
10 | var closeWindowButton: XCUIElement {
11 | return buttons.matching(identifier: XCUIIdentifierCloseWindow).firstMatch
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIElement+Accessors.swift:15:18: error: cannot find type 'XCUIElementQuery' in scope
13 | }
14 |
15 | public extension XCUIElementQuery {
| `- error: cannot find type 'XCUIElementQuery' in scope
16 | subscript(index: Int) -> XCUIElement {
17 | return element(boundBy: index)
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIElement+Accessors.swift:21:18: error: cannot find type 'XCUIElement' in scope
19 | }
20 |
21 | public extension XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
22 | var hasKeyboardFocus: Bool {
23 | return (value(forKey: "hasKeyboardFocus") as? Bool) ?? false
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIElement+Existence.swift:3:18: error: cannot find type 'XCUIElement' in scope
1 | import XCTest
2 |
3 | public extension XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
4 | /// Waits until an element no longer exists.
5 | ///
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIElement+Hittable.swift:4:18: error: cannot find type 'XCUIElement' in scope
2 | import XCTest
3 |
4 | public extension XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
5 |
6 | /// Returns true if the element's `isHittable` property is true within `timeout` seconds
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIElement+Soon.swift:4:18: error: cannot find type 'XCUIElement' in scope
2 | import XCTest
3 |
4 | public extension XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
5 |
6 | /// Returns true if the element exists within 3 seconds
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIElement+TextEditing.swift:41:18: error: cannot find type 'XCUIElement' in scope
39 | }
40 |
41 | public extension XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
42 | func stringValue(in range: NSRange? = nil) throws -> String {
43 | guard let stringValue = self.value as? NSString else {
[4/14] Compiling UITestingPlus XCUIApplication+Apps.swift
[5/14] Compiling UITestingPlus XCUIApplication+Documents.swift
[6/14] Compiling UITestingPlus XCUIApplication+Menus.swift
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIApplication+Windows.swift:4:18: error: cannot find type 'XCUIApplication' in scope
2 | import XCTest
3 |
4 | public extension XCUIApplication {
| `- error: cannot find type 'XCUIApplication' in scope
5 | func launchWithNoWindows() {
6 | launchArguments.append(contentsOf: ["-ApplePersistenceIgnoreState", "YES"])
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIApplication+Windows.swift:47:19: error: cannot find type 'XCUIElement' in scope
45 | #endif
46 |
47 | var frontWindow: XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
48 | return windows.element
49 | }
[7/14] Compiling UITestingPlus XCUIApplication+Windows.swift
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIApplication+Windows.swift:4:18: error: cannot find type 'XCUIApplication' in scope
2 | import XCTest
3 |
4 | public extension XCUIApplication {
| `- error: cannot find type 'XCUIApplication' in scope
5 | func launchWithNoWindows() {
6 | launchArguments.append(contentsOf: ["-ApplePersistenceIgnoreState", "YES"])
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIApplication+Windows.swift:47:19: error: cannot find type 'XCUIElement' in scope
45 | #endif
46 |
47 | var frontWindow: XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
48 | return windows.element
49 | }
[8/14] Compiling UITestingPlus XCUIElement+TextEditing.swift
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIElement+TextEditing.swift:41:18: error: cannot find type 'XCUIElement' in scope
39 | }
40 |
41 | public extension XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
42 | func stringValue(in range: NSRange? = nil) throws -> String {
43 | guard let stringValue = self.value as? NSString else {
[9/14] Compiling UITestingPlus XCUIElement+Soon.swift
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIElement+Soon.swift:4:18: error: cannot find type 'XCUIElement' in scope
2 | import XCTest
3 |
4 | public extension XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
5 |
6 | /// Returns true if the element exists within 3 seconds
[10/14] Compiling UITestingPlus XCUIElement+Hittable.swift
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIElement+Hittable.swift:4:18: error: cannot find type 'XCUIElement' in scope
2 | import XCTest
3 |
4 | public extension XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
5 |
6 | /// Returns true if the element's `isHittable` property is true within `timeout` seconds
[11/14] Compiling UITestingPlus XCUIElement+Accessors.swift
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIElement+Accessors.swift:3:18: error: cannot find type 'XCUIElement' in scope
1 | import XCTest
2 |
3 | public extension XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
4 | var outlineDisclosureTriangle: XCUIElement {
5 | return disclosureTriangles["NSOutlineViewDisclosureButtonKey"]
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIElement+Accessors.swift:9:18: error: cannot find type 'XCUIElement' in scope
7 | }
8 |
9 | public extension XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
10 | var closeWindowButton: XCUIElement {
11 | return buttons.matching(identifier: XCUIIdentifierCloseWindow).firstMatch
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIElement+Accessors.swift:15:18: error: cannot find type 'XCUIElementQuery' in scope
13 | }
14 |
15 | public extension XCUIElementQuery {
| `- error: cannot find type 'XCUIElementQuery' in scope
16 | subscript(index: Int) -> XCUIElement {
17 | return element(boundBy: index)
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIElement+Accessors.swift:21:18: error: cannot find type 'XCUIElement' in scope
19 | }
20 |
21 | public extension XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
22 | var hasKeyboardFocus: Bool {
23 | return (value(forKey: "hasKeyboardFocus") as? Bool) ?? false
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIElement+Accessors.swift:4:33: error: cannot find type 'XCUIElement' in scope
2 |
3 | public extension XCUIElement {
4 | var outlineDisclosureTriangle: XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
5 | return disclosureTriangles["NSOutlineViewDisclosureButtonKey"]
6 | }
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIElement+Accessors.swift:10:25: error: cannot find type 'XCUIElement' in scope
8 |
9 | public extension XCUIElement {
10 | var closeWindowButton: XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
11 | return buttons.matching(identifier: XCUIIdentifierCloseWindow).firstMatch
12 | }
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIElement+Accessors.swift:16:27: error: cannot find type 'XCUIElement' in scope
14 |
15 | public extension XCUIElementQuery {
16 | subscript(index: Int) -> XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
17 | return element(boundBy: index)
18 | }
[12/14] Compiling UITestingPlus XCUIElement+Existence.swift
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIElement+Existence.swift:3:18: error: cannot find type 'XCUIElement' in scope
1 | import XCTest
2 |
3 | public extension XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
4 | /// Waits until an element no longer exists.
5 | ///
[13/14] Compiling UITestingPlus HittableElementExpectation.swift
/host/spi-builder-workspace/Sources/UITestingPlus/HittableElementExpectation.swift:6:41: error: 'init(format:_:)' has been renamed to 'init(block:)': Predicate strings and key-value coding are not supported in swift-corelibs-foundation. Use a closure instead if possible.
4 | /// Expectation subclass for waiting on an XCUIElement to be hittable.
5 | public class HittableElementExpectation: XCTNSPredicateExpectation {
6 | private static let hittablePredicate = NSPredicate(format: "exists == 1 && isHittable == 1")
| `- error: 'init(format:_:)' has been renamed to 'init(block:)': Predicate strings and key-value coding are not supported in swift-corelibs-foundation. Use a closure instead if possible.
7 |
8 | public init(element: XCUIElement) {
Foundation.NSPredicate.init:3:22: note: 'init(format:_:)' has been explicitly marked unavailable here
1 | class NSPredicate {
2 | @available(*, unavailable, renamed: "init(block:)", message: "Predicate strings and key-value coding are not supported in swift-corelibs-foundation. Use a closure instead if possible.")
3 | public convenience init(format predicateFormat: String, _ args: any CVarArg...)}
| `- note: 'init(format:_:)' has been explicitly marked unavailable here
4 |
/host/spi-builder-workspace/Sources/UITestingPlus/HittableElementExpectation.swift:6:21: warning: static property 'hittablePredicate' is not concurrency-safe because non-'Sendable' type 'NSPredicate' may have shared mutable state; this is an error in the Swift 6 language mode
4 | /// Expectation subclass for waiting on an XCUIElement to be hittable.
5 | public class HittableElementExpectation: XCTNSPredicateExpectation {
6 | private static let hittablePredicate = NSPredicate(format: "exists == 1 && isHittable == 1")
| |- warning: static property 'hittablePredicate' is not concurrency-safe because non-'Sendable' type 'NSPredicate' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'hittablePredicate' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
7 |
8 | public init(element: XCUIElement) {
Foundation.NSPredicate:1:12: note: class 'NSPredicate' does not conform to the 'Sendable' protocol
1 | open class NSPredicate : NSObject, NSCopying {
| `- note: class 'NSPredicate' does not conform to the 'Sendable' protocol
2 | override open func copy() -> Any
3 | open func copy(with zone: NSZone? = nil) -> Any
/host/spi-builder-workspace/Sources/UITestingPlus/HittableElementExpectation.swift:8:23: error: cannot find type 'XCUIElement' in scope
6 | private static let hittablePredicate = NSPredicate(format: "exists == 1 && isHittable == 1")
7 |
8 | public init(element: XCUIElement) {
| `- error: cannot find type 'XCUIElement' in scope
9 | let p = HittableElementExpectation.hittablePredicate
10 |
/host/spi-builder-workspace/Sources/UITestingPlus/HittableElementExpectation.swift:14:22: error: cannot find type 'XCUIElement' in scope
12 | }
13 |
14 | public var element: XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
15 | return object as! XCUIElement
16 | }
/host/spi-builder-workspace/Sources/UITestingPlus/HittableElementExpectation.swift:5:42: error: cannot find type 'XCTNSPredicateExpectation' in scope
3 |
4 | /// Expectation subclass for waiting on an XCUIElement to be hittable.
5 | public class HittableElementExpectation: XCTNSPredicateExpectation {
| `- error: cannot find type 'XCTNSPredicateExpectation' in scope
6 | private static let hittablePredicate = NSPredicate(format: "exists == 1 && isHittable == 1")
7 |
/host/spi-builder-workspace/Sources/UITestingPlus/HittableElementExpectation.swift:11:3: error: 'super' cannot be used in class 'HittableElementExpectation' because it has no superclass
9 | let p = HittableElementExpectation.hittablePredicate
10 |
11 | super.init(predicate: p, object: element)
| `- error: 'super' cannot be used in class 'HittableElementExpectation' because it has no superclass
12 | }
13 |
/host/spi-builder-workspace/Sources/UITestingPlus/XCTest+Soon.swift:19:13: error: cannot find 'Thread' in scope
17 | }
18 | else {
19 | Thread.sleep(forTimeInterval: 1)
| `- error: cannot find 'Thread' in scope
20 | }
21 | }
/host/spi-builder-workspace/Sources/UITestingPlus/XCTest+Soon.swift:40:13: error: cannot find 'Thread' in scope
38 | }
39 | else {
40 | Thread.sleep(forTimeInterval: 1)
| `- error: cannot find 'Thread' in scope
41 | }
42 | }
[14/14] Compiling UITestingPlus XCTest+Soon.swift
/host/spi-builder-workspace/Sources/UITestingPlus/HittableElementExpectation.swift:6:41: error: 'init(format:_:)' has been renamed to 'init(block:)': Predicate strings and key-value coding are not supported in swift-corelibs-foundation. Use a closure instead if possible.
4 | /// Expectation subclass for waiting on an XCUIElement to be hittable.
5 | public class HittableElementExpectation: XCTNSPredicateExpectation {
6 | private static let hittablePredicate = NSPredicate(format: "exists == 1 && isHittable == 1")
| `- error: 'init(format:_:)' has been renamed to 'init(block:)': Predicate strings and key-value coding are not supported in swift-corelibs-foundation. Use a closure instead if possible.
7 |
8 | public init(element: XCUIElement) {
Foundation.NSPredicate.init:3:22: note: 'init(format:_:)' has been explicitly marked unavailable here
1 | class NSPredicate {
2 | @available(*, unavailable, renamed: "init(block:)", message: "Predicate strings and key-value coding are not supported in swift-corelibs-foundation. Use a closure instead if possible.")
3 | public convenience init(format predicateFormat: String, _ args: any CVarArg...)}
| `- note: 'init(format:_:)' has been explicitly marked unavailable here
4 |
/host/spi-builder-workspace/Sources/UITestingPlus/HittableElementExpectation.swift:6:21: warning: static property 'hittablePredicate' is not concurrency-safe because non-'Sendable' type 'NSPredicate' may have shared mutable state; this is an error in the Swift 6 language mode
4 | /// Expectation subclass for waiting on an XCUIElement to be hittable.
5 | public class HittableElementExpectation: XCTNSPredicateExpectation {
6 | private static let hittablePredicate = NSPredicate(format: "exists == 1 && isHittable == 1")
| |- warning: static property 'hittablePredicate' is not concurrency-safe because non-'Sendable' type 'NSPredicate' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'hittablePredicate' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
7 |
8 | public init(element: XCUIElement) {
Foundation.NSPredicate:1:12: note: class 'NSPredicate' does not conform to the 'Sendable' protocol
1 | open class NSPredicate : NSObject, NSCopying {
| `- note: class 'NSPredicate' does not conform to the 'Sendable' protocol
2 | override open func copy() -> Any
3 | open func copy(with zone: NSZone? = nil) -> Any
/host/spi-builder-workspace/Sources/UITestingPlus/HittableElementExpectation.swift:8:23: error: cannot find type 'XCUIElement' in scope
6 | private static let hittablePredicate = NSPredicate(format: "exists == 1 && isHittable == 1")
7 |
8 | public init(element: XCUIElement) {
| `- error: cannot find type 'XCUIElement' in scope
9 | let p = HittableElementExpectation.hittablePredicate
10 |
/host/spi-builder-workspace/Sources/UITestingPlus/HittableElementExpectation.swift:14:22: error: cannot find type 'XCUIElement' in scope
12 | }
13 |
14 | public var element: XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
15 | return object as! XCUIElement
16 | }
/host/spi-builder-workspace/Sources/UITestingPlus/HittableElementExpectation.swift:5:42: error: cannot find type 'XCTNSPredicateExpectation' in scope
3 |
4 | /// Expectation subclass for waiting on an XCUIElement to be hittable.
5 | public class HittableElementExpectation: XCTNSPredicateExpectation {
| `- error: cannot find type 'XCTNSPredicateExpectation' in scope
6 | private static let hittablePredicate = NSPredicate(format: "exists == 1 && isHittable == 1")
7 |
/host/spi-builder-workspace/Sources/UITestingPlus/HittableElementExpectation.swift:11:3: error: 'super' cannot be used in class 'HittableElementExpectation' because it has no superclass
9 | let p = HittableElementExpectation.hittablePredicate
10 |
11 | super.init(predicate: p, object: element)
| `- error: 'super' cannot be used in class 'HittableElementExpectation' because it has no superclass
12 | }
13 |
/host/spi-builder-workspace/Sources/UITestingPlus/XCTest+Soon.swift:19:13: error: cannot find 'Thread' in scope
17 | }
18 | else {
19 | Thread.sleep(forTimeInterval: 1)
| `- error: cannot find 'Thread' in scope
20 | }
21 | }
/host/spi-builder-workspace/Sources/UITestingPlus/XCTest+Soon.swift:40:13: error: cannot find 'Thread' in scope
38 | }
39 | else {
40 | Thread.sleep(forTimeInterval: 1)
| `- error: cannot find 'Thread' in scope
41 | }
42 | }
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi 2>&1
wasm-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:7e37457820e5f17452a98118754f345f2619722c485f2db0d8b666940a83afd2
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-24593BA9C3E375BF.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[2/12] Compiling UITestingPlus XCUIApplication+Apps.swift
[3/12] Compiling UITestingPlus XCUIApplication+Documents.swift
[4/12] Emitting module UITestingPlus
/host/spi-builder-workspace/Sources/UITestingPlus/HittableElementExpectation.swift:6:41: error: 'init(format:_:)' has been renamed to 'init(block:)': Predicate strings and key-value coding are not supported in swift-corelibs-foundation. Use a closure instead if possible.
4 | /// Expectation subclass for waiting on an XCUIElement to be hittable.
5 | public class HittableElementExpectation: XCTNSPredicateExpectation {
6 | private static let hittablePredicate = NSPredicate(format: "exists == 1 && isHittable == 1")
| `- error: 'init(format:_:)' has been renamed to 'init(block:)': Predicate strings and key-value coding are not supported in swift-corelibs-foundation. Use a closure instead if possible.
7 |
8 | public init(element: XCUIElement) {
Foundation.NSPredicate.init:3:22: note: 'init(format:_:)' has been explicitly marked unavailable here
1 | class NSPredicate {
2 | @available(*, unavailable, renamed: "init(block:)", message: "Predicate strings and key-value coding are not supported in swift-corelibs-foundation. Use a closure instead if possible.")
3 | public convenience init(format predicateFormat: String, _ args: any CVarArg...)}
| `- note: 'init(format:_:)' has been explicitly marked unavailable here
4 |
/host/spi-builder-workspace/Sources/UITestingPlus/HittableElementExpectation.swift:8:23: error: cannot find type 'XCUIElement' in scope
6 | private static let hittablePredicate = NSPredicate(format: "exists == 1 && isHittable == 1")
7 |
8 | public init(element: XCUIElement) {
| `- error: cannot find type 'XCUIElement' in scope
9 | let p = HittableElementExpectation.hittablePredicate
10 |
/host/spi-builder-workspace/Sources/UITestingPlus/HittableElementExpectation.swift:14:22: error: cannot find type 'XCUIElement' in scope
12 | }
13 |
14 | public var element: XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
15 | return object as! XCUIElement
16 | }
/host/spi-builder-workspace/Sources/UITestingPlus/HittableElementExpectation.swift:5:42: error: cannot find type 'XCTNSPredicateExpectation' in scope
3 |
4 | /// Expectation subclass for waiting on an XCUIElement to be hittable.
5 | public class HittableElementExpectation: XCTNSPredicateExpectation {
| `- error: cannot find type 'XCTNSPredicateExpectation' in scope
6 | private static let hittablePredicate = NSPredicate(format: "exists == 1 && isHittable == 1")
7 |
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIApplication+Windows.swift:4:18: error: cannot find type 'XCUIApplication' in scope
2 | import XCTest
3 |
4 | public extension XCUIApplication {
| `- error: cannot find type 'XCUIApplication' in scope
5 | func launchWithNoWindows() {
6 | launchArguments.append(contentsOf: ["-ApplePersistenceIgnoreState", "YES"])
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIElement+Accessors.swift:3:18: error: cannot find type 'XCUIElement' in scope
1 | import XCTest
2 |
3 | public extension XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
4 | var outlineDisclosureTriangle: XCUIElement {
5 | return disclosureTriangles["NSOutlineViewDisclosureButtonKey"]
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIElement+Accessors.swift:9:18: error: cannot find type 'XCUIElement' in scope
7 | }
8 |
9 | public extension XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
10 | var closeWindowButton: XCUIElement {
11 | return buttons.matching(identifier: XCUIIdentifierCloseWindow).firstMatch
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIElement+Accessors.swift:15:18: error: cannot find type 'XCUIElementQuery' in scope
13 | }
14 |
15 | public extension XCUIElementQuery {
| `- error: cannot find type 'XCUIElementQuery' in scope
16 | subscript(index: Int) -> XCUIElement {
17 | return element(boundBy: index)
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIElement+Accessors.swift:21:18: error: cannot find type 'XCUIElement' in scope
19 | }
20 |
21 | public extension XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
22 | var hasKeyboardFocus: Bool {
23 | return (value(forKey: "hasKeyboardFocus") as? Bool) ?? false
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIElement+Existence.swift:3:18: error: cannot find type 'XCUIElement' in scope
1 | import XCTest
2 |
3 | public extension XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
4 | /// Waits until an element no longer exists.
5 | ///
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIElement+Hittable.swift:4:18: error: cannot find type 'XCUIElement' in scope
2 | import XCTest
3 |
4 | public extension XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
5 |
6 | /// Returns true if the element's `isHittable` property is true within `timeout` seconds
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIElement+Soon.swift:4:18: error: cannot find type 'XCUIElement' in scope
2 | import XCTest
3 |
4 | public extension XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
5 |
6 | /// Returns true if the element exists within 3 seconds
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIElement+TextEditing.swift:41:18: error: cannot find type 'XCUIElement' in scope
39 | }
40 |
41 | public extension XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
42 | func stringValue(in range: NSRange? = nil) throws -> String {
43 | guard let stringValue = self.value as? NSString else {
[5/13] Compiling UITestingPlus XCUIElement+Accessors.swift
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIElement+Accessors.swift:3:18: error: cannot find type 'XCUIElement' in scope
1 | import XCTest
2 |
3 | public extension XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
4 | var outlineDisclosureTriangle: XCUIElement {
5 | return disclosureTriangles["NSOutlineViewDisclosureButtonKey"]
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIElement+Accessors.swift:9:18: error: cannot find type 'XCUIElement' in scope
7 | }
8 |
9 | public extension XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
10 | var closeWindowButton: XCUIElement {
11 | return buttons.matching(identifier: XCUIIdentifierCloseWindow).firstMatch
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIElement+Accessors.swift:15:18: error: cannot find type 'XCUIElementQuery' in scope
13 | }
14 |
15 | public extension XCUIElementQuery {
| `- error: cannot find type 'XCUIElementQuery' in scope
16 | subscript(index: Int) -> XCUIElement {
17 | return element(boundBy: index)
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIElement+Accessors.swift:21:18: error: cannot find type 'XCUIElement' in scope
19 | }
20 |
21 | public extension XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
22 | var hasKeyboardFocus: Bool {
23 | return (value(forKey: "hasKeyboardFocus") as? Bool) ?? false
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIElement+Accessors.swift:4:33: error: cannot find type 'XCUIElement' in scope
2 |
3 | public extension XCUIElement {
4 | var outlineDisclosureTriangle: XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
5 | return disclosureTriangles["NSOutlineViewDisclosureButtonKey"]
6 | }
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIElement+Accessors.swift:10:25: error: cannot find type 'XCUIElement' in scope
8 |
9 | public extension XCUIElement {
10 | var closeWindowButton: XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
11 | return buttons.matching(identifier: XCUIIdentifierCloseWindow).firstMatch
12 | }
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIElement+Accessors.swift:16:27: error: cannot find type 'XCUIElement' in scope
14 |
15 | public extension XCUIElementQuery {
16 | subscript(index: Int) -> XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
17 | return element(boundBy: index)
18 | }
[6/13] Compiling UITestingPlus XCUIElement+Hittable.swift
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIElement+Hittable.swift:4:18: error: cannot find type 'XCUIElement' in scope
2 | import XCTest
3 |
4 | public extension XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
5 |
6 | /// Returns true if the element's `isHittable` property is true within `timeout` seconds
[7/13] Compiling UITestingPlus XCUIElement+Soon.swift
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIElement+Soon.swift:4:18: error: cannot find type 'XCUIElement' in scope
2 | import XCTest
3 |
4 | public extension XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
5 |
6 | /// Returns true if the element exists within 3 seconds
[8/13] Compiling UITestingPlus XCUIElement+TextEditing.swift
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIElement+TextEditing.swift:41:18: error: cannot find type 'XCUIElement' in scope
39 | }
40 |
41 | public extension XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
42 | func stringValue(in range: NSRange? = nil) throws -> String {
43 | guard let stringValue = self.value as? NSString else {
[9/13] Compiling UITestingPlus XCUIElement+Existence.swift
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIElement+Existence.swift:3:18: error: cannot find type 'XCUIElement' in scope
1 | import XCTest
2 |
3 | public extension XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
4 | /// Waits until an element no longer exists.
5 | ///
[10/13] Compiling UITestingPlus XCUIApplication+Menus.swift
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIApplication+Windows.swift:4:18: error: cannot find type 'XCUIApplication' in scope
2 | import XCTest
3 |
4 | public extension XCUIApplication {
| `- error: cannot find type 'XCUIApplication' in scope
5 | func launchWithNoWindows() {
6 | launchArguments.append(contentsOf: ["-ApplePersistenceIgnoreState", "YES"])
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIApplication+Windows.swift:47:19: error: cannot find type 'XCUIElement' in scope
45 | #endif
46 |
47 | var frontWindow: XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
48 | return windows.element
49 | }
[11/13] Compiling UITestingPlus XCUIApplication+Windows.swift
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIApplication+Windows.swift:4:18: error: cannot find type 'XCUIApplication' in scope
2 | import XCTest
3 |
4 | public extension XCUIApplication {
| `- error: cannot find type 'XCUIApplication' in scope
5 | func launchWithNoWindows() {
6 | launchArguments.append(contentsOf: ["-ApplePersistenceIgnoreState", "YES"])
/host/spi-builder-workspace/Sources/UITestingPlus/XCUIApplication+Windows.swift:47:19: error: cannot find type 'XCUIElement' in scope
45 | #endif
46 |
47 | var frontWindow: XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
48 | return windows.element
49 | }
[12/13] Compiling UITestingPlus HittableElementExpectation.swift
/host/spi-builder-workspace/Sources/UITestingPlus/HittableElementExpectation.swift:6:41: error: 'init(format:_:)' has been renamed to 'init(block:)': Predicate strings and key-value coding are not supported in swift-corelibs-foundation. Use a closure instead if possible.
4 | /// Expectation subclass for waiting on an XCUIElement to be hittable.
5 | public class HittableElementExpectation: XCTNSPredicateExpectation {
6 | private static let hittablePredicate = NSPredicate(format: "exists == 1 && isHittable == 1")
| `- error: 'init(format:_:)' has been renamed to 'init(block:)': Predicate strings and key-value coding are not supported in swift-corelibs-foundation. Use a closure instead if possible.
7 |
8 | public init(element: XCUIElement) {
Foundation.NSPredicate.init:3:22: note: 'init(format:_:)' has been explicitly marked unavailable here
1 | class NSPredicate {
2 | @available(*, unavailable, renamed: "init(block:)", message: "Predicate strings and key-value coding are not supported in swift-corelibs-foundation. Use a closure instead if possible.")
3 | public convenience init(format predicateFormat: String, _ args: any CVarArg...)}
| `- note: 'init(format:_:)' has been explicitly marked unavailable here
4 |
/host/spi-builder-workspace/Sources/UITestingPlus/HittableElementExpectation.swift:8:23: error: cannot find type 'XCUIElement' in scope
6 | private static let hittablePredicate = NSPredicate(format: "exists == 1 && isHittable == 1")
7 |
8 | public init(element: XCUIElement) {
| `- error: cannot find type 'XCUIElement' in scope
9 | let p = HittableElementExpectation.hittablePredicate
10 |
/host/spi-builder-workspace/Sources/UITestingPlus/HittableElementExpectation.swift:14:22: error: cannot find type 'XCUIElement' in scope
12 | }
13 |
14 | public var element: XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
15 | return object as! XCUIElement
16 | }
/host/spi-builder-workspace/Sources/UITestingPlus/HittableElementExpectation.swift:5:42: error: cannot find type 'XCTNSPredicateExpectation' in scope
3 |
4 | /// Expectation subclass for waiting on an XCUIElement to be hittable.
5 | public class HittableElementExpectation: XCTNSPredicateExpectation {
| `- error: cannot find type 'XCTNSPredicateExpectation' in scope
6 | private static let hittablePredicate = NSPredicate(format: "exists == 1 && isHittable == 1")
7 |
/host/spi-builder-workspace/Sources/UITestingPlus/HittableElementExpectation.swift:11:3: error: 'super' cannot be used in class 'HittableElementExpectation' because it has no superclass
9 | let p = HittableElementExpectation.hittablePredicate
10 |
11 | super.init(predicate: p, object: element)
| `- error: 'super' cannot be used in class 'HittableElementExpectation' because it has no superclass
12 | }
13 |
/host/spi-builder-workspace/Sources/UITestingPlus/XCTest+Soon.swift:19:13: error: cannot find 'Thread' in scope
17 | }
18 | else {
19 | Thread.sleep(forTimeInterval: 1)
| `- error: cannot find 'Thread' in scope
20 | }
21 | }
/host/spi-builder-workspace/Sources/UITestingPlus/XCTest+Soon.swift:40:13: error: cannot find 'Thread' in scope
38 | }
39 | else {
40 | Thread.sleep(forTimeInterval: 1)
| `- error: cannot find 'Thread' in scope
41 | }
42 | }
[13/13] Compiling UITestingPlus XCTest+Soon.swift
/host/spi-builder-workspace/Sources/UITestingPlus/HittableElementExpectation.swift:6:41: error: 'init(format:_:)' has been renamed to 'init(block:)': Predicate strings and key-value coding are not supported in swift-corelibs-foundation. Use a closure instead if possible.
4 | /// Expectation subclass for waiting on an XCUIElement to be hittable.
5 | public class HittableElementExpectation: XCTNSPredicateExpectation {
6 | private static let hittablePredicate = NSPredicate(format: "exists == 1 && isHittable == 1")
| `- error: 'init(format:_:)' has been renamed to 'init(block:)': Predicate strings and key-value coding are not supported in swift-corelibs-foundation. Use a closure instead if possible.
7 |
8 | public init(element: XCUIElement) {
Foundation.NSPredicate.init:3:22: note: 'init(format:_:)' has been explicitly marked unavailable here
1 | class NSPredicate {
2 | @available(*, unavailable, renamed: "init(block:)", message: "Predicate strings and key-value coding are not supported in swift-corelibs-foundation. Use a closure instead if possible.")
3 | public convenience init(format predicateFormat: String, _ args: any CVarArg...)}
| `- note: 'init(format:_:)' has been explicitly marked unavailable here
4 |
/host/spi-builder-workspace/Sources/UITestingPlus/HittableElementExpectation.swift:8:23: error: cannot find type 'XCUIElement' in scope
6 | private static let hittablePredicate = NSPredicate(format: "exists == 1 && isHittable == 1")
7 |
8 | public init(element: XCUIElement) {
| `- error: cannot find type 'XCUIElement' in scope
9 | let p = HittableElementExpectation.hittablePredicate
10 |
/host/spi-builder-workspace/Sources/UITestingPlus/HittableElementExpectation.swift:14:22: error: cannot find type 'XCUIElement' in scope
12 | }
13 |
14 | public var element: XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
15 | return object as! XCUIElement
16 | }
/host/spi-builder-workspace/Sources/UITestingPlus/HittableElementExpectation.swift:5:42: error: cannot find type 'XCTNSPredicateExpectation' in scope
3 |
4 | /// Expectation subclass for waiting on an XCUIElement to be hittable.
5 | public class HittableElementExpectation: XCTNSPredicateExpectation {
| `- error: cannot find type 'XCTNSPredicateExpectation' in scope
6 | private static let hittablePredicate = NSPredicate(format: "exists == 1 && isHittable == 1")
7 |
/host/spi-builder-workspace/Sources/UITestingPlus/HittableElementExpectation.swift:11:3: error: 'super' cannot be used in class 'HittableElementExpectation' because it has no superclass
9 | let p = HittableElementExpectation.hittablePredicate
10 |
11 | super.init(predicate: p, object: element)
| `- error: 'super' cannot be used in class 'HittableElementExpectation' because it has no superclass
12 | }
13 |
/host/spi-builder-workspace/Sources/UITestingPlus/XCTest+Soon.swift:19:13: error: cannot find 'Thread' in scope
17 | }
18 | else {
19 | Thread.sleep(forTimeInterval: 1)
| `- error: cannot find 'Thread' in scope
20 | }
21 | }
/host/spi-builder-workspace/Sources/UITestingPlus/XCTest+Soon.swift:40:13: error: cannot find 'Thread' in scope
38 | }
39 | else {
40 | Thread.sleep(forTimeInterval: 1)
| `- error: cannot find 'Thread' in scope
41 | }
42 | }
BUILD FAILURE 6.1 wasm