Build Information
Failed to build StreamSwiftTestHelpers, reference 0.4.1 (b7a09e
), with Swift 6.1 for macOS (SPM) on 28 Apr 2025 01:11:12 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64
Build Log
========================================
RunAll
========================================
Builder version: 4.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/GetStream/stream-chat-swift-test-helpers.git
Reference: 0.4.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/GetStream/stream-chat-swift-test-helpers
* tag 0.4.1 -> FETCH_HEAD
HEAD is now at b7a09e5 Remove Difference
Cloned https://github.com/GetStream/stream-chat-swift-test-helpers.git
Revision (git rev-parse @):
b7a09e53a6647df94c02a67770ec876faa707f9d
SUCCESS checkout https://github.com/GetStream/stream-chat-swift-test-helpers.git at 0.4.1
Fetching https://github.com/pointfreeco/swift-snapshot-testing from cache
Fetched https://github.com/pointfreeco/swift-snapshot-testing from cache (0.52s)
Computing version for https://github.com/pointfreeco/swift-snapshot-testing
Computed https://github.com/pointfreeco/swift-snapshot-testing at 1.11.1 (1.13s)
Creating working copy for https://github.com/pointfreeco/swift-snapshot-testing
Working copy of https://github.com/pointfreeco/swift-snapshot-testing resolved at 1.11.1
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"dependencies": [
{
"identity": "stream-chat-swift-test-helpers",
"name": "StreamSwiftTestHelpers",
"url": "https://github.com/GetStream/stream-chat-swift-test-helpers.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/stream-chat-swift-test-helpers",
"dependencies": [
{
"identity": "swift-snapshot-testing",
"name": "swift-snapshot-testing",
"url": "https://github.com/pointfreeco/swift-snapshot-testing",
"version": "1.11.1",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-snapshot-testing",
"dependencies": [
]
}
]
}
]
}
Fetching https://github.com/GetStream/stream-chat-swift-test-helpers.git
[3/295] Fetching stream-chat-swift-test-helpers
Fetched https://github.com/GetStream/stream-chat-swift-test-helpers.git from cache (0.65s)
Fetching https://github.com/pointfreeco/swift-snapshot-testing from cache
Fetched https://github.com/pointfreeco/swift-snapshot-testing from cache (0.52s)
Computing version for https://github.com/pointfreeco/swift-snapshot-testing
Computed https://github.com/pointfreeco/swift-snapshot-testing at 1.11.1 (0.57s)
Creating working copy for https://github.com/GetStream/stream-chat-swift-test-helpers.git
Working copy of https://github.com/GetStream/stream-chat-swift-test-helpers.git resolved at 0.4.1 (b7a09e5)
Creating working copy for https://github.com/pointfreeco/swift-snapshot-testing
Working copy of https://github.com/pointfreeco/swift-snapshot-testing resolved at 1.11.1
warning: '.resolve-product-dependencies': dependency 'stream-chat-swift-test-helpers' is not used by any target
Found 1 product dependencies
- swift-snapshot-testing
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/GetStream/stream-chat-swift-test-helpers.git
https://github.com/GetStream/stream-chat-swift-test-helpers.git
{
"dependencies" : [
{
"identity" : "swift-snapshot-testing",
"requirement" : {
"exact" : [
"1.11.1"
]
},
"type" : "sourceControl",
"url" : "https://github.com/pointfreeco/swift-snapshot-testing"
}
],
"manifest_display_name" : "StreamSwiftTestHelpers",
"name" : "StreamSwiftTestHelpers",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "12.0"
},
{
"name" : "macos",
"version" : "10.15"
}
],
"products" : [
{
"name" : "StreamSwiftTestHelpers",
"targets" : [
"StreamSwiftTestHelpers"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "StreamSwiftTestHelpers",
"module_type" : "SwiftTarget",
"name" : "StreamSwiftTestHelpers",
"path" : "Sources/TestHelpers",
"product_dependencies" : [
"SnapshotTesting"
],
"product_memberships" : [
"StreamSwiftTestHelpers"
],
"sources" : [
"E2ETesting/DeviceRobot.swift",
"E2ETesting/ElementState.swift",
"E2ETesting/Robot+Assert.swift",
"E2ETesting/Robot.swift",
"E2ETesting/TestRunnerEnvironment.swift",
"E2ETesting/TestsEnvironmentSetup.swift",
"E2ETesting/XCTest+GivenWhenThenAnd.swift",
"E2ETesting/XCTest+TestOps.swift",
"E2ETesting/XCTestCase+AlertHandler.swift",
"E2ETesting/XCTestCase+MockJSON.swift",
"E2ETesting/XCUIApplication.swift",
"E2ETesting/XCUIElement+Helpers.swift",
"E2ETesting/XCUIElement+LabelContains.swift",
"E2ETesting/XCUIElementQuery+Helpers.swift",
"SnapshotTesting/AssertSnapshot.swift",
"SnapshotTesting/SnapshotVariant.swift"
],
"type" : "library"
}
],
"tools_version" : "5.2"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -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
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version-2F0A5646E1D333AE.txt
[4/34] Emitting module SnapshotTesting
[5/37] Compiling SnapshotTesting UIView.swift
[6/37] Compiling SnapshotTesting UIViewController.swift
[7/37] Compiling SnapshotTesting URLRequest.swift
[8/37] Compiling SnapshotTesting AssertInlineSnapshot.swift
[9/37] Compiling SnapshotTesting AssertSnapshot.swift
[10/37] Compiling SnapshotTesting Async.swift
[11/37] Compiling SnapshotTesting Internal.swift
[12/37] Compiling SnapshotTesting CGPath.swift
[13/37] Compiling SnapshotTesting CaseIterable.swift
[14/37] Compiling SnapshotTesting Codable.swift
[15/37] Compiling SnapshotTesting Diff.swift
[16/37] Compiling SnapshotTesting Diffing.swift
[17/37] Compiling SnapshotTesting Wait.swift
[18/37] Compiling SnapshotTesting SnapshotTestCase.swift
[19/37] Compiling SnapshotTesting Data.swift
[20/37] Compiling SnapshotTesting Description.swift
[21/37] Compiling SnapshotTesting NSBezierPath.swift
[22/37] Compiling SnapshotTesting Snapshotting.swift
[23/37] Compiling SnapshotTesting Any.swift
[24/37] Compiling SnapshotTesting CALayer.swift
[25/37] Compiling SnapshotTesting SceneKit.swift
[26/37] Compiling SnapshotTesting SpriteKit.swift
[27/37] Compiling SnapshotTesting String.swift
[28/37] Compiling SnapshotTesting NSImage.swift
[29/37] Compiling SnapshotTesting NSView.swift
[30/37] Compiling SnapshotTesting NSViewController.swift
[31/37] Compiling SnapshotTesting SwiftUIView.swift
[32/37] Compiling SnapshotTesting UIBezierPath.swift
[33/37] Compiling SnapshotTesting UIImage.swift
[34/37] Compiling SnapshotTesting PlistEncoder.swift
[35/37] Compiling SnapshotTesting String+SpecialCharacters.swift
[36/37] Compiling SnapshotTesting View.swift
[37/37] Compiling SnapshotTesting XCTAttachment.swift
[38/53] Compiling StreamSwiftTestHelpers XCUIElementQuery+Helpers.swift
[39/53] Compiling StreamSwiftTestHelpers XCTest+GivenWhenThenAnd.swift
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCTest+GivenWhenThenAnd.swift:10:20: warning: call to main actor-isolated class method 'runActivity(named:block:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
7 | public extension XCTest {
8 |
9 | func step(_ name: String, step: () -> Void) {
| `- note: add '@MainActor' to make instance method 'step(_:step:)' part of global actor 'MainActor'
10 | XCTContext.runActivity(named: name) { _ in
| `- warning: call to main actor-isolated class method 'runActivity(named:block:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
11 | step()
12 | }
XCTest.XCTContext.runActivity:2:46: note: calls to class method 'runActivity(named:block:)' from outside of its actor context are implicitly asynchronous
1 | class XCTContext {
2 | @MainActor @preconcurrency public class func runActivity<Result>(named name: String, block: @MainActor (any XCTActivity) throws -> Result) rethrows -> Result}
| `- note: calls to class method 'runActivity(named:block:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCTest+TestOps.swift:19:24: warning: call to main actor-isolated class method 'runActivity(named:block:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
15 | }
16 |
17 | private func label(name: String, values: [String]) {
| `- note: add '@MainActor' to make instance method 'label(name:values:)' part of global actor 'MainActor'
18 | for value in values {
19 | XCTContext.runActivity(
| `- warning: call to main actor-isolated class method 'runActivity(named:block:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
20 | named: "allure.label.\(name):\(value)",
21 | block: {_ in}
XCTest.XCTContext.runActivity:2:46: note: calls to class method 'runActivity(named:block:)' from outside of its actor context are implicitly asynchronous
1 | class XCTContext {
2 | @MainActor @preconcurrency public class func runActivity<Result>(named name: String, block: @MainActor (any XCTActivity) throws -> Result) rethrows -> Result}
| `- note: calls to class method 'runActivity(named:block:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCTest+GivenWhenThenAnd.swift:11:13: warning: sending 'step' risks causing data races; this is an error in the Swift 6 language mode
9 | func step(_ name: String, step: () -> Void) {
10 | XCTContext.runActivity(named: name) { _ in
11 | step()
| |- warning: sending 'step' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'step' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
12 | }
13 | }
[40/53] Compiling StreamSwiftTestHelpers XCTest+TestOps.swift
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCTest+GivenWhenThenAnd.swift:10:20: warning: call to main actor-isolated class method 'runActivity(named:block:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
7 | public extension XCTest {
8 |
9 | func step(_ name: String, step: () -> Void) {
| `- note: add '@MainActor' to make instance method 'step(_:step:)' part of global actor 'MainActor'
10 | XCTContext.runActivity(named: name) { _ in
| `- warning: call to main actor-isolated class method 'runActivity(named:block:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
11 | step()
12 | }
XCTest.XCTContext.runActivity:2:46: note: calls to class method 'runActivity(named:block:)' from outside of its actor context are implicitly asynchronous
1 | class XCTContext {
2 | @MainActor @preconcurrency public class func runActivity<Result>(named name: String, block: @MainActor (any XCTActivity) throws -> Result) rethrows -> Result}
| `- note: calls to class method 'runActivity(named:block:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCTest+TestOps.swift:19:24: warning: call to main actor-isolated class method 'runActivity(named:block:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
15 | }
16 |
17 | private func label(name: String, values: [String]) {
| `- note: add '@MainActor' to make instance method 'label(name:values:)' part of global actor 'MainActor'
18 | for value in values {
19 | XCTContext.runActivity(
| `- warning: call to main actor-isolated class method 'runActivity(named:block:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
20 | named: "allure.label.\(name):\(value)",
21 | block: {_ in}
XCTest.XCTContext.runActivity:2:46: note: calls to class method 'runActivity(named:block:)' from outside of its actor context are implicitly asynchronous
1 | class XCTContext {
2 | @MainActor @preconcurrency public class func runActivity<Result>(named name: String, block: @MainActor (any XCTActivity) throws -> Result) rethrows -> Result}
| `- note: calls to class method 'runActivity(named:block:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCTest+GivenWhenThenAnd.swift:11:13: warning: sending 'step' risks causing data races; this is an error in the Swift 6 language mode
9 | func step(_ name: String, step: () -> Void) {
10 | XCTContext.runActivity(named: name) { _ in
11 | step()
| |- warning: sending 'step' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'step' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
12 | }
13 | }
[41/54] Compiling StreamSwiftTestHelpers SnapshotVariant.swift
[42/54] Compiling StreamSwiftTestHelpers XCTestCase+AlertHandler.swift
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCTestCase+AlertHandler.swift:181:21: warning: main actor-isolated property 'exists' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
171 | /// - resolution: Accept or decline the alert
172 | /// - Returns: `Bool` value signalling if the interuption was handled successfully
173 | private func alertHandler(app: XCUIApplication,
| `- note: add '@MainActor' to make instance method 'alertHandler(app:alert:resource:resolution:)' part of global actor 'MainActor'
174 | alert: XCUIElement,
175 | resource: Permission.Resource,
:
179 | sleep(2)
180 |
181 | guard alert.exists else {
| `- warning: main actor-isolated property 'exists' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
182 | return false
183 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCUIAutomation.framework/Headers/XCUIElement.h:54:27: note: property declared here
52 |
53 | /*! Test to determine if the element exists. */
54 | @property (readonly) BOOL exists;
| `- note: property declared here
55 |
56 | /*! Waits the specified amount of time for the element's exist property to be true and returns false if the timeout expires without the element coming into existence. */
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCTestCase+AlertHandler.swift:184:21: warning: call to main actor-isolated instance method 'labelContains(text:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
171 | /// - resolution: Accept or decline the alert
172 | /// - Returns: `Bool` value signalling if the interuption was handled successfully
173 | private func alertHandler(app: XCUIApplication,
| `- note: add '@MainActor' to make instance method 'alertHandler(app:alert:resource:resolution:)' part of global actor 'MainActor'
174 | alert: XCUIElement,
175 | resource: Permission.Resource,
:
182 | return false
183 | }
184 | guard alert.labelContains(text: resource.expectedTitle) else {
| `- warning: call to main actor-isolated instance method 'labelContains(text:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
185 | return false
186 | }
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCUIElement+LabelContains.swift:10:10: note: calls to instance method 'labelContains(text:)' from outside of its actor context are implicitly asynchronous
8 | public extension XCUIElement {
9 | /// Match substring in accessibility label
10 | func labelContains(text: String) -> Bool {
| `- note: calls to instance method 'labelContains(text:)' from outside of its actor context are implicitly asynchronous
11 | staticTexts.element(contains: text).exists
12 | }
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCTestCase+AlertHandler.swift:189:30: warning: call to main actor-isolated instance method 'safeTap()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
171 | /// - resolution: Accept or decline the alert
172 | /// - Returns: `Bool` value signalling if the interuption was handled successfully
173 | private func alertHandler(app: XCUIApplication,
| `- note: add '@MainActor' to make instance method 'alertHandler(app:alert:resource:resolution:)' part of global actor 'MainActor'
174 | alert: XCUIElement,
175 | resource: Permission.Resource,
:
187 |
188 | let label = resource.label(for: resolution)
189 | alert.buttons[label].safeTap()
| `- warning: call to main actor-isolated instance method 'safeTap()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
190 |
191 | /// Hi, I'm a UI Interruption handler and i need a nap AFTER handling an alert.
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCUIElement+Helpers.swift:17:10: note: calls to instance method 'safeTap()' from outside of its actor context are implicitly asynchronous
15 | }
16 |
17 | func safeTap() {
| `- note: calls to instance method 'safeTap()' from outside of its actor context are implicitly asynchronous
18 | if !isHittable {
19 | let coordinate: XCUICoordinate =
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCTestCase+AlertHandler.swift:189:22: warning: main actor-isolated subscript 'subscript(_:)' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
171 | /// - resolution: Accept or decline the alert
172 | /// - Returns: `Bool` value signalling if the interuption was handled successfully
173 | private func alertHandler(app: XCUIApplication,
| `- note: add '@MainActor' to make instance method 'alertHandler(app:alert:resource:resolution:)' part of global actor 'MainActor'
174 | alert: XCUIElement,
175 | resource: Permission.Resource,
:
187 |
188 | let label = resource.label(for: resolution)
189 | alert.buttons[label].safeTap()
| `- warning: main actor-isolated subscript 'subscript(_:)' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
190 |
191 | /// Hi, I'm a UI Interruption handler and i need a nap AFTER handling an alert.
XCUIAutomation.XCUIElementQuery.subscript:2:17: note: subscript declared here
1 | class XCUIElementQuery {
2 | @MainActor open subscript(key: String) -> XCUIElement { get }}
| `- note: subscript declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCTestCase+AlertHandler.swift:189:15: warning: main actor-isolated property 'buttons' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
171 | /// - resolution: Accept or decline the alert
172 | /// - Returns: `Bool` value signalling if the interuption was handled successfully
173 | private func alertHandler(app: XCUIApplication,
| `- note: add '@MainActor' to make instance method 'alertHandler(app:alert:resource:resolution:)' part of global actor 'MainActor'
174 | alert: XCUIElement,
175 | resource: Permission.Resource,
:
187 |
188 | let label = resource.label(for: resolution)
189 | alert.buttons[label].safeTap()
| `- warning: main actor-isolated property 'buttons' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
190 |
191 | /// Hi, I'm a UI Interruption handler and i need a nap AFTER handling an alert.
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCUIAutomation.framework/Headers/XCUIElementTypeQueryProvider.h:22:46: note: property declared here
20 | @property (readonly, copy) XCUIElementQuery *alerts;
21 | @property (readonly, copy) XCUIElementQuery *dialogs;
22 | @property (readonly, copy) XCUIElementQuery *buttons;
| `- note: property declared here
23 | @property (readonly, copy) XCUIElementQuery *radioButtons;
24 | @property (readonly, copy) XCUIElementQuery *radioGroups;
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCTestCase+AlertHandler.swift:194:13: warning: call to main actor-isolated instance method 'activate()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
171 | /// - resolution: Accept or decline the alert
172 | /// - Returns: `Bool` value signalling if the interuption was handled successfully
173 | private func alertHandler(app: XCUIApplication,
| `- note: add '@MainActor' to make instance method 'alertHandler(app:alert:resource:resolution:)' part of global actor 'MainActor'
174 | alert: XCUIElement,
175 | resource: Permission.Resource,
:
192 | /// Removing this will introduce flakiness to alert handling, do it at your own risk.
193 | sleep(2)
194 | app.activate()
| `- warning: call to main actor-isolated instance method 'activate()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
195 | return true
196 | }
XCUIAutomation.XCUIApplication.activate:2:22: note: calls to instance method 'activate()' from outside of its actor context are implicitly asynchronous
1 | class XCUIApplication {
2 | @MainActor open func activate()}
| `- note: calls to instance method 'activate()' from outside of its actor context are implicitly asynchronous
3 |
error: emit-module command failed with exit code 1 (use -v to see invocation)
[43/54] Compiling StreamSwiftTestHelpers XCTestCase+MockJSON.swift
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCTestCase+AlertHandler.swift:181:21: warning: main actor-isolated property 'exists' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
171 | /// - resolution: Accept or decline the alert
172 | /// - Returns: `Bool` value signalling if the interuption was handled successfully
173 | private func alertHandler(app: XCUIApplication,
| `- note: add '@MainActor' to make instance method 'alertHandler(app:alert:resource:resolution:)' part of global actor 'MainActor'
174 | alert: XCUIElement,
175 | resource: Permission.Resource,
:
179 | sleep(2)
180 |
181 | guard alert.exists else {
| `- warning: main actor-isolated property 'exists' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
182 | return false
183 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCUIAutomation.framework/Headers/XCUIElement.h:54:27: note: property declared here
52 |
53 | /*! Test to determine if the element exists. */
54 | @property (readonly) BOOL exists;
| `- note: property declared here
55 |
56 | /*! Waits the specified amount of time for the element's exist property to be true and returns false if the timeout expires without the element coming into existence. */
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCTestCase+AlertHandler.swift:184:21: warning: call to main actor-isolated instance method 'labelContains(text:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
171 | /// - resolution: Accept or decline the alert
172 | /// - Returns: `Bool` value signalling if the interuption was handled successfully
173 | private func alertHandler(app: XCUIApplication,
| `- note: add '@MainActor' to make instance method 'alertHandler(app:alert:resource:resolution:)' part of global actor 'MainActor'
174 | alert: XCUIElement,
175 | resource: Permission.Resource,
:
182 | return false
183 | }
184 | guard alert.labelContains(text: resource.expectedTitle) else {
| `- warning: call to main actor-isolated instance method 'labelContains(text:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
185 | return false
186 | }
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCUIElement+LabelContains.swift:10:10: note: calls to instance method 'labelContains(text:)' from outside of its actor context are implicitly asynchronous
8 | public extension XCUIElement {
9 | /// Match substring in accessibility label
10 | func labelContains(text: String) -> Bool {
| `- note: calls to instance method 'labelContains(text:)' from outside of its actor context are implicitly asynchronous
11 | staticTexts.element(contains: text).exists
12 | }
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCTestCase+AlertHandler.swift:189:30: warning: call to main actor-isolated instance method 'safeTap()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
171 | /// - resolution: Accept or decline the alert
172 | /// - Returns: `Bool` value signalling if the interuption was handled successfully
173 | private func alertHandler(app: XCUIApplication,
| `- note: add '@MainActor' to make instance method 'alertHandler(app:alert:resource:resolution:)' part of global actor 'MainActor'
174 | alert: XCUIElement,
175 | resource: Permission.Resource,
:
187 |
188 | let label = resource.label(for: resolution)
189 | alert.buttons[label].safeTap()
| `- warning: call to main actor-isolated instance method 'safeTap()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
190 |
191 | /// Hi, I'm a UI Interruption handler and i need a nap AFTER handling an alert.
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCUIElement+Helpers.swift:17:10: note: calls to instance method 'safeTap()' from outside of its actor context are implicitly asynchronous
15 | }
16 |
17 | func safeTap() {
| `- note: calls to instance method 'safeTap()' from outside of its actor context are implicitly asynchronous
18 | if !isHittable {
19 | let coordinate: XCUICoordinate =
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCTestCase+AlertHandler.swift:189:22: warning: main actor-isolated subscript 'subscript(_:)' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
171 | /// - resolution: Accept or decline the alert
172 | /// - Returns: `Bool` value signalling if the interuption was handled successfully
173 | private func alertHandler(app: XCUIApplication,
| `- note: add '@MainActor' to make instance method 'alertHandler(app:alert:resource:resolution:)' part of global actor 'MainActor'
174 | alert: XCUIElement,
175 | resource: Permission.Resource,
:
187 |
188 | let label = resource.label(for: resolution)
189 | alert.buttons[label].safeTap()
| `- warning: main actor-isolated subscript 'subscript(_:)' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
190 |
191 | /// Hi, I'm a UI Interruption handler and i need a nap AFTER handling an alert.
XCUIAutomation.XCUIElementQuery.subscript:2:17: note: subscript declared here
1 | class XCUIElementQuery {
2 | @MainActor open subscript(key: String) -> XCUIElement { get }}
| `- note: subscript declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCTestCase+AlertHandler.swift:189:15: warning: main actor-isolated property 'buttons' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
171 | /// - resolution: Accept or decline the alert
172 | /// - Returns: `Bool` value signalling if the interuption was handled successfully
173 | private func alertHandler(app: XCUIApplication,
| `- note: add '@MainActor' to make instance method 'alertHandler(app:alert:resource:resolution:)' part of global actor 'MainActor'
174 | alert: XCUIElement,
175 | resource: Permission.Resource,
:
187 |
188 | let label = resource.label(for: resolution)
189 | alert.buttons[label].safeTap()
| `- warning: main actor-isolated property 'buttons' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
190 |
191 | /// Hi, I'm a UI Interruption handler and i need a nap AFTER handling an alert.
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCUIAutomation.framework/Headers/XCUIElementTypeQueryProvider.h:22:46: note: property declared here
20 | @property (readonly, copy) XCUIElementQuery *alerts;
21 | @property (readonly, copy) XCUIElementQuery *dialogs;
22 | @property (readonly, copy) XCUIElementQuery *buttons;
| `- note: property declared here
23 | @property (readonly, copy) XCUIElementQuery *radioButtons;
24 | @property (readonly, copy) XCUIElementQuery *radioGroups;
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCTestCase+AlertHandler.swift:194:13: warning: call to main actor-isolated instance method 'activate()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
171 | /// - resolution: Accept or decline the alert
172 | /// - Returns: `Bool` value signalling if the interuption was handled successfully
173 | private func alertHandler(app: XCUIApplication,
| `- note: add '@MainActor' to make instance method 'alertHandler(app:alert:resource:resolution:)' part of global actor 'MainActor'
174 | alert: XCUIElement,
175 | resource: Permission.Resource,
:
192 | /// Removing this will introduce flakiness to alert handling, do it at your own risk.
193 | sleep(2)
194 | app.activate()
| `- warning: call to main actor-isolated instance method 'activate()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
195 | return true
196 | }
XCUIAutomation.XCUIApplication.activate:2:22: note: calls to instance method 'activate()' from outside of its actor context are implicitly asynchronous
1 | class XCUIApplication {
2 | @MainActor open func activate()}
| `- note: calls to instance method 'activate()' from outside of its actor context are implicitly asynchronous
3 |
[44/54] Compiling StreamSwiftTestHelpers XCUIApplication.swift
[45/54] Compiling StreamSwiftTestHelpers XCUIElement+Helpers.swift
[46/54] Compiling StreamSwiftTestHelpers Robot+Assert.swift
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot+Assert.swift:50:9: warning: main actor-isolated default value in a nonisolated context; this is an error in the Swift 6 language mode
48 | _ element: XCUIElement,
49 | state: ElementState,
50 | timeout: Double = XCUIElement.waitTimeout,
| `- warning: main actor-isolated default value in a nonisolated context; this is an error in the Swift 6 language mode
51 | file: StaticString = #file,
52 | line: UInt = #line
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot+Assert.swift:19:17: warning: call to main actor-isolated instance method 'wait(timeout:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
13 | /// - Returns: Self for command chaining
14 | @discardableResult
15 | func assertElement(_ element: XCUIElement,
| `- note: add '@MainActor' to make instance method 'assertElement(_:state:file:line:)' part of global actor 'MainActor'
16 | state: ElementState,
17 | file: StaticString = #filePath,
18 | line: UInt = #line) -> Self {
19 | element.wait(timeout: 1.5)
| `- warning: call to main actor-isolated instance method 'wait(timeout:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
20 |
21 | let expected: Bool
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCUIElement+Helpers.swift:91:10: note: calls to instance method 'wait(timeout:)' from outside of its actor context are implicitly asynchronous
89 |
90 | @discardableResult
91 | func wait(timeout: Double = XCUIElement.waitTimeout) -> Self {
| `- note: calls to instance method 'wait(timeout:)' from outside of its actor context are implicitly asynchronous
92 | _ = waitForExistence(timeout: timeout)
93 | return self
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot+Assert.swift:26:30: warning: main actor-isolated property 'isEnabled' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
13 | /// - Returns: Self for command chaining
14 | @discardableResult
15 | func assertElement(_ element: XCUIElement,
| `- note: add '@MainActor' to make instance method 'assertElement(_:state:file:line:)' part of global actor 'MainActor'
16 | state: ElementState,
17 | file: StaticString = #filePath,
:
24 | case .enabled(let isEnabled):
25 | expected = isEnabled
26 | actual = element.isEnabled
| `- warning: main actor-isolated property 'isEnabled' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
27 | case .focused(let isFocused):
28 | expected = isFocused
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCUIAutomation.framework/Headers/XCUIElementAttributes.h:53:47: note: property declared here
51 |
52 | /*! Whether or not the element is enabled for user interaction. */
53 | @property (readonly, getter = isEnabled) BOOL enabled;
| `- note: property declared here
54 |
55 | /*! The horizontal size class of the element. */
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot+Assert.swift:29:30: warning: main actor-isolated property 'hasKeyboardFocus' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
13 | /// - Returns: Self for command chaining
14 | @discardableResult
15 | func assertElement(_ element: XCUIElement,
| `- note: add '@MainActor' to make instance method 'assertElement(_:state:file:line:)' part of global actor 'MainActor'
16 | state: ElementState,
17 | file: StaticString = #filePath,
:
27 | case .focused(let isFocused):
28 | expected = isFocused
29 | actual = element.hasKeyboardFocus
| `- warning: main actor-isolated property 'hasKeyboardFocus' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
30 |
31 | case .visible(let isVisible):
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCUIElement+Helpers.swift:147:9: note: property declared here
145 | public extension XCUIElement {
146 |
147 | var hasKeyboardFocus: Bool {
| `- note: property declared here
148 | (value(forKey: "hasKeyboardFocus") as? Bool) ?? false
149 | }
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot+Assert.swift:33:30: warning: main actor-isolated property 'exists' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
13 | /// - Returns: Self for command chaining
14 | @discardableResult
15 | func assertElement(_ element: XCUIElement,
| `- note: add '@MainActor' to make instance method 'assertElement(_:state:file:line:)' part of global actor 'MainActor'
16 | state: ElementState,
17 | file: StaticString = #filePath,
:
31 | case .visible(let isVisible):
32 | expected = isVisible
33 | actual = element.exists
| `- warning: main actor-isolated property 'exists' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
34 | }
35 | XCTAssertEqual(expected, actual, state.errorMessage, file: file, line: line)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCUIAutomation.framework/Headers/XCUIElement.h:54:27: note: property declared here
52 |
53 | /*! Test to determine if the element exists. */
54 | @property (readonly) BOOL exists;
| `- note: property declared here
55 |
56 | /*! Waits the specified amount of time for the element's exist property to be true and returns false if the timeout expires without the element coming into existence. */
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot+Assert.swift:54:17: warning: call to main actor-isolated instance method 'wait(timeout:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
45 | /// - Returns: Self
46 | @discardableResult
47 | func assertElement(
| `- note: add '@MainActor' to make instance method 'assertElement(_:state:timeout:file:line:)' part of global actor 'MainActor'
48 | _ element: XCUIElement,
49 | state: ElementState,
:
52 | line: UInt = #line
53 | ) -> Self {
54 | element.wait(timeout: timeout)
| `- warning: call to main actor-isolated instance method 'wait(timeout:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
55 | let expected: Bool
56 | let actual: Bool
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCUIElement+Helpers.swift:91:10: note: calls to instance method 'wait(timeout:)' from outside of its actor context are implicitly asynchronous
89 |
90 | @discardableResult
91 | func wait(timeout: Double = XCUIElement.waitTimeout) -> Self {
| `- note: calls to instance method 'wait(timeout:)' from outside of its actor context are implicitly asynchronous
92 | _ = waitForExistence(timeout: timeout)
93 | return self
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot+Assert.swift:60:30: warning: main actor-isolated property 'isEnabled' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
45 | /// - Returns: Self
46 | @discardableResult
47 | func assertElement(
| `- note: add '@MainActor' to make instance method 'assertElement(_:state:timeout:file:line:)' part of global actor 'MainActor'
48 | _ element: XCUIElement,
49 | state: ElementState,
:
58 | case .enabled(let isEnabled):
59 | expected = isEnabled
60 | actual = element.isEnabled
| `- warning: main actor-isolated property 'isEnabled' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
61 | case .focused(let isFocused):
62 | expected = isFocused
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCUIAutomation.framework/Headers/XCUIElementAttributes.h:53:47: note: property declared here
51 |
52 | /*! Whether or not the element is enabled for user interaction. */
53 | @property (readonly, getter = isEnabled) BOOL enabled;
| `- note: property declared here
54 |
55 | /*! The horizontal size class of the element. */
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot+Assert.swift:63:30: warning: main actor-isolated property 'hasKeyboardFocus' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
45 | /// - Returns: Self
46 | @discardableResult
47 | func assertElement(
| `- note: add '@MainActor' to make instance method 'assertElement(_:state:timeout:file:line:)' part of global actor 'MainActor'
48 | _ element: XCUIElement,
49 | state: ElementState,
:
61 | case .focused(let isFocused):
62 | expected = isFocused
63 | actual = element.hasKeyboardFocus
| `- warning: main actor-isolated property 'hasKeyboardFocus' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
64 | case .visible(let isVisible):
65 | expected = isVisible
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCUIElement+Helpers.swift:147:9: note: property declared here
145 | public extension XCUIElement {
146 |
147 | var hasKeyboardFocus: Bool {
| `- note: property declared here
148 | (value(forKey: "hasKeyboardFocus") as? Bool) ?? false
149 | }
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot+Assert.swift:66:30: warning: main actor-isolated property 'exists' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
45 | /// - Returns: Self
46 | @discardableResult
47 | func assertElement(
| `- note: add '@MainActor' to make instance method 'assertElement(_:state:timeout:file:line:)' part of global actor 'MainActor'
48 | _ element: XCUIElement,
49 | state: ElementState,
:
64 | case .visible(let isVisible):
65 | expected = isVisible
66 | actual = element.exists
| `- warning: main actor-isolated property 'exists' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
67 | }
68 | XCTAssertEqual(expected, actual, state.errorMessage, file: file, line: line)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCUIAutomation.framework/Headers/XCUIElement.h:54:27: note: property declared here
52 |
53 | /*! Test to determine if the element exists. */
54 | @property (readonly) BOOL exists;
| `- note: property declared here
55 |
56 | /*! Waits the specified amount of time for the element's exist property to be true and returns false if the timeout expires without the element coming into existence. */
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot+Assert.swift:88:48: warning: main actor-isolated property 'isHittable' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
78 | /// - Returns: Self
79 | @discardableResult
80 | private func assertElement(
| `- note: add '@MainActor' to make instance method 'assertElement(_:isEnabled:isVisible:file:line:)' part of global actor 'MainActor'
81 | _ element: XCUIElement,
82 | isEnabled: Bool,
:
86 | ) -> Self {
87 | if isEnabled || isVisible {
88 | let visible = isVisible == element.isHittable
| `- warning: main actor-isolated property 'isHittable' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
89 | let enabled = isEnabled == element.isEnabled
90 | XCTAssertTrue(visible && enabled, file: file, line: line)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCUIAutomation.framework/Headers/XCUIElement.h:63:48: note: property declared here
61 |
62 | /*! Whether or not a hit point can be computed for the element for the purpose of synthesizing events. */
63 | @property (readonly, getter = isHittable) BOOL hittable;
| `- note: property declared here
64 |
65 | /*! Returns a query for all descendants of the element matching the specified type. */
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot+Assert.swift:89:48: warning: main actor-isolated property 'isEnabled' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
78 | /// - Returns: Self
79 | @discardableResult
80 | private func assertElement(
| `- note: add '@MainActor' to make instance method 'assertElement(_:isEnabled:isVisible:file:line:)' part of global actor 'MainActor'
81 | _ element: XCUIElement,
82 | isEnabled: Bool,
:
87 | if isEnabled || isVisible {
88 | let visible = isVisible == element.isHittable
89 | let enabled = isEnabled == element.isEnabled
| `- warning: main actor-isolated property 'isEnabled' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
90 | XCTAssertTrue(visible && enabled, file: file, line: line)
91 | } else {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCUIAutomation.framework/Headers/XCUIElementAttributes.h:53:47: note: property declared here
51 |
52 | /*! Whether or not the element is enabled for user interaction. */
53 | @property (readonly, getter = isEnabled) BOOL enabled;
| `- note: property declared here
54 |
55 | /*! The horizontal size class of the element. */
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot+Assert.swift:92:36: warning: main actor-isolated property 'exists' can not be referenced from a nonisolated autoclosure; this is an error in the Swift 6 language mode
90 | XCTAssertTrue(visible && enabled, file: file, line: line)
91 | } else {
92 | XCTAssertFalse(element.exists, file: file, line: line)
| `- warning: main actor-isolated property 'exists' can not be referenced from a nonisolated autoclosure; this is an error in the Swift 6 language mode
93 | }
94 | return self
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCUIAutomation.framework/Headers/XCUIElement.h:54:27: note: property declared here
52 |
53 | /*! Test to determine if the element exists. */
54 | @property (readonly) BOOL exists;
| `- note: property declared here
55 |
56 | /*! Waits the specified amount of time for the element's exist property to be true and returns false if the timeout expires without the element coming into existence. */
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot+Assert.swift:108:32: warning: main actor-isolated property 'identifier' can not be referenced from a nonisolated autoclosure; this is an error in the Swift 6 language mode
106 | file: StaticString = #filePath,
107 | line: UInt = #line) -> Self {
108 | XCTAssertEqual(element.identifier, identifier)
| `- warning: main actor-isolated property 'identifier' can not be referenced from a nonisolated autoclosure; this is an error in the Swift 6 language mode
109 | return self
110 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCUIAutomation.framework/Headers/XCUIElementAttributes.h:35:32: note: property declared here
33 |
34 | /*! The accessibility identifier. */
35 | @property (readonly) NSString *identifier;
| `- note: property declared here
36 |
37 | /*! The frame of the element in the screen coordinate space. */
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot+Assert.swift:125:32: warning: main actor-isolated property 'frame' can not be referenced from a nonisolated autoclosure; this is an error in the Swift 6 language mode
123 | line: UInt = #line
124 | ) -> Self {
125 | XCTAssertEqual(element.frame.size, size)
| `- warning: main actor-isolated property 'frame' can not be referenced from a nonisolated autoclosure; this is an error in the Swift 6 language mode
126 | return self
127 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCUIAutomation.framework/Headers/XCUIElementAttributes.h:38:29: note: property declared here
36 |
37 | /*! The frame of the element in the screen coordinate space. */
38 | @property (readonly) CGRect frame;
| `- note: property declared here
39 |
40 | /*! The raw value attribute of the element. Depending on the element, the actual type can vary. */
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot+Assert.swift:134:62: warning: main actor-isolated property 'count' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
128 |
129 | @discardableResult
130 | func assertQuery(_ query: XCUIElementQuery,
| `- note: add '@MainActor' to make instance method 'assertQuery(_:count:file:line:)' part of global actor 'MainActor'
131 | count: Int,
132 | file: StaticString = #filePath,
133 | line: UInt = #line) -> Self {
134 | let actualCount = query.waitCount(count, timeout: 5).count
| `- warning: main actor-isolated property 'count' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
135 | let errorMessage = "Expected: \(count) messages, received: \(actualCount)"
136 | XCTAssertEqual(actualCount, count, errorMessage, file: file, line: line)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCUIAutomation.framework/Headers/XCUIElementQuery.h:29:33: note: property declared here
27 |
28 | /*! Evaluates the query at the time it is called and returns the number of matches found. */
29 | @property (readonly) NSUInteger count;
| `- note: property declared here
30 |
31 | /*! Returns an element that will resolve to the index into the query's result set. */
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot+Assert.swift:134:33: warning: call to main actor-isolated instance method 'waitCount(_:timeout:exact:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
128 |
129 | @discardableResult
130 | func assertQuery(_ query: XCUIElementQuery,
| `- note: add '@MainActor' to make instance method 'assertQuery(_:count:file:line:)' part of global actor 'MainActor'
131 | count: Int,
132 | file: StaticString = #filePath,
133 | line: UInt = #line) -> Self {
134 | let actualCount = query.waitCount(count, timeout: 5).count
| `- warning: call to main actor-isolated instance method 'waitCount(_:timeout:exact:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
135 | let errorMessage = "Expected: \(count) messages, received: \(actualCount)"
136 | XCTAssertEqual(actualCount, count, errorMessage, file: file, line: line)
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCUIElementQuery+Helpers.swift:38:10: note: calls to instance method 'waitCount(_:timeout:exact:)' from outside of its actor context are implicitly asynchronous
36 |
37 | @discardableResult
38 | func waitCount(_ expectedCount: Int, timeout: Double = XCUIElement.waitTimeout, exact: Bool = false) -> Self {
| |- note: calls to instance method 'waitCount(_:timeout:exact:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'XCUIElementTypeQueryProvider'
39 | let endTime = Date().timeIntervalSince1970 * 1000 + timeout * 1000
40 | var actualCount = count
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot+Assert.swift:143:59: warning: call to main actor-isolated instance method 'waitForExistence(timeout:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
138 | }
139 |
140 | func findMatch(for identifier: String,
| `- note: add '@MainActor' to make instance method 'findMatch(for:in:waitTimeout:)' part of global actor 'MainActor'
141 | in query: XCUIElementQuery,
142 | waitTimeout timeout: TimeInterval = 3.0) -> Bool {
143 | query.matching(identifier: identifier).firstMatch.waitForExistence(timeout: timeout)
| `- warning: call to main actor-isolated instance method 'waitForExistence(timeout:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
144 | }
145 | }
XCUIAutomation.XCUIElement.waitForExistence:2:22: note: calls to instance method 'waitForExistence(timeout:)' from outside of its actor context are implicitly asynchronous
1 | class XCUIElement {
2 | @MainActor open func waitForExistence(timeout: TimeInterval) -> Bool}
| `- note: calls to instance method 'waitForExistence(timeout:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot+Assert.swift:143:48: warning: main actor-isolated property 'firstMatch' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
138 | }
139 |
140 | func findMatch(for identifier: String,
| `- note: add '@MainActor' to make instance method 'findMatch(for:in:waitTimeout:)' part of global actor 'MainActor'
141 | in query: XCUIElementQuery,
142 | waitTimeout timeout: TimeInterval = 3.0) -> Bool {
143 | query.matching(identifier: identifier).firstMatch.waitForExistence(timeout: timeout)
| `- warning: main actor-isolated property 'firstMatch' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
144 | }
145 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCUIAutomation.framework/Headers/XCUIElementTypeQueryProvider.h:105:35: note: property declared here
103 | * matches will not be detected.
104 | */
105 | @property (readonly) XCUIElement *firstMatch;
| `- note: property declared here
106 |
107 | @end
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot+Assert.swift:143:15: warning: call to main actor-isolated instance method 'matching(identifier:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
138 | }
139 |
140 | func findMatch(for identifier: String,
| `- note: add '@MainActor' to make instance method 'findMatch(for:in:waitTimeout:)' part of global actor 'MainActor'
141 | in query: XCUIElementQuery,
142 | waitTimeout timeout: TimeInterval = 3.0) -> Bool {
143 | query.matching(identifier: identifier).firstMatch.waitForExistence(timeout: timeout)
| `- warning: call to main actor-isolated instance method 'matching(identifier:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
144 | }
145 | }
XCUIAutomation.XCUIElementQuery.matching:2:22: note: calls to instance method 'matching(identifier:)' from outside of its actor context are implicitly asynchronous
1 | class XCUIElementQuery {
2 | @MainActor open func matching(identifier: String) -> XCUIElementQuery}
| |- note: calls to instance method 'matching(identifier:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'XCUIElementTypeQueryProvider'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot.swift:19:21: warning: call to main actor-isolated instance method 'wait(timeout:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
16 | /// - Returns: instance of `Robot`
17 | @discardableResult
18 | func setSwitchState(_ element: XCUIElement, state: SwitchState) -> Self {
| `- note: add '@MainActor' to make instance method 'setSwitchState(_:state:)' part of global actor 'MainActor'
19 | _ = element.wait()
| `- warning: call to main actor-isolated instance method 'wait(timeout:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
20 | switch state {
21 | case .off where element.isOn:
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCUIElement+Helpers.swift:91:10: note: calls to instance method 'wait(timeout:)' from outside of its actor context are implicitly asynchronous
89 |
90 | @discardableResult
91 | func wait(timeout: Double = XCUIElement.waitTimeout) -> Self {
| `- note: calls to instance method 'wait(timeout:)' from outside of its actor context are implicitly asynchronous
92 | _ = waitForExistence(timeout: timeout)
93 | return self
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot.swift:21:33: warning: main actor-isolated property 'isOn' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
16 | /// - Returns: instance of `Robot`
17 | @discardableResult
18 | func setSwitchState(_ element: XCUIElement, state: SwitchState) -> Self {
| `- note: add '@MainActor' to make instance method 'setSwitchState(_:state:)' part of global actor 'MainActor'
19 | _ = element.wait()
20 | switch state {
21 | case .off where element.isOn:
| `- warning: main actor-isolated property 'isOn' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
22 | element.safeTap()
23 | case .on where element.isOff:
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCUIElement+Helpers.swift:135:9: note: property declared here
133 | /// Check if switch is enabled
134 | public extension XCUIElement {
135 | var isOn: Bool {
| `- note: property declared here
136 | (self.value as? String) == "1"
137 | }
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot.swift:22:21: warning: call to main actor-isolated instance method 'safeTap()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
16 | /// - Returns: instance of `Robot`
17 | @discardableResult
18 | func setSwitchState(_ element: XCUIElement, state: SwitchState) -> Self {
| `- note: add '@MainActor' to make instance method 'setSwitchState(_:state:)' part of global actor 'MainActor'
19 | _ = element.wait()
20 | switch state {
21 | case .off where element.isOn:
22 | element.safeTap()
| `- warning: call to main actor-isolated instance method 'safeTap()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
23 | case .on where element.isOff:
24 | element.safeTap()
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCUIElement+Helpers.swift:17:10: note: calls to instance method 'safeTap()' from outside of its actor context are implicitly asynchronous
15 | }
16 |
17 | func safeTap() {
| `- note: calls to instance method 'safeTap()' from outside of its actor context are implicitly asynchronous
18 | if !isHittable {
19 | let coordinate: XCUICoordinate =
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot.swift:23:32: warning: main actor-isolated property 'isOff' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
16 | /// - Returns: instance of `Robot`
17 | @discardableResult
18 | func setSwitchState(_ element: XCUIElement, state: SwitchState) -> Self {
| `- note: add '@MainActor' to make instance method 'setSwitchState(_:state:)' part of global actor 'MainActor'
19 | _ = element.wait()
20 | switch state {
21 | case .off where element.isOn:
22 | element.safeTap()
23 | case .on where element.isOff:
| `- warning: main actor-isolated property 'isOff' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
24 | element.safeTap()
25 | default:
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCUIElement+Helpers.swift:139:9: note: property declared here
137 | }
138 |
139 | var isOff: Bool {
| `- note: property declared here
140 | (self.value as? String) == "0"
141 | }
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot.swift:24:21: warning: call to main actor-isolated instance method 'safeTap()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
16 | /// - Returns: instance of `Robot`
17 | @discardableResult
18 | func setSwitchState(_ element: XCUIElement, state: SwitchState) -> Self {
| `- note: add '@MainActor' to make instance method 'setSwitchState(_:state:)' part of global actor 'MainActor'
19 | _ = element.wait()
20 | switch state {
:
22 | element.safeTap()
23 | case .on where element.isOff:
24 | element.safeTap()
| `- warning: call to main actor-isolated instance method 'safeTap()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
25 | default:
26 | return self
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCUIElement+Helpers.swift:17:10: note: calls to instance method 'safeTap()' from outside of its actor context are implicitly asynchronous
15 | }
16 |
17 | func safeTap() {
| `- note: calls to instance method 'safeTap()' from outside of its actor context are implicitly asynchronous
18 | if !isHittable {
19 | let coordinate: XCUICoordinate =
[47/54] Compiling StreamSwiftTestHelpers Robot.swift
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot+Assert.swift:50:9: warning: main actor-isolated default value in a nonisolated context; this is an error in the Swift 6 language mode
48 | _ element: XCUIElement,
49 | state: ElementState,
50 | timeout: Double = XCUIElement.waitTimeout,
| `- warning: main actor-isolated default value in a nonisolated context; this is an error in the Swift 6 language mode
51 | file: StaticString = #file,
52 | line: UInt = #line
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot+Assert.swift:19:17: warning: call to main actor-isolated instance method 'wait(timeout:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
13 | /// - Returns: Self for command chaining
14 | @discardableResult
15 | func assertElement(_ element: XCUIElement,
| `- note: add '@MainActor' to make instance method 'assertElement(_:state:file:line:)' part of global actor 'MainActor'
16 | state: ElementState,
17 | file: StaticString = #filePath,
18 | line: UInt = #line) -> Self {
19 | element.wait(timeout: 1.5)
| `- warning: call to main actor-isolated instance method 'wait(timeout:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
20 |
21 | let expected: Bool
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCUIElement+Helpers.swift:91:10: note: calls to instance method 'wait(timeout:)' from outside of its actor context are implicitly asynchronous
89 |
90 | @discardableResult
91 | func wait(timeout: Double = XCUIElement.waitTimeout) -> Self {
| `- note: calls to instance method 'wait(timeout:)' from outside of its actor context are implicitly asynchronous
92 | _ = waitForExistence(timeout: timeout)
93 | return self
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot+Assert.swift:26:30: warning: main actor-isolated property 'isEnabled' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
13 | /// - Returns: Self for command chaining
14 | @discardableResult
15 | func assertElement(_ element: XCUIElement,
| `- note: add '@MainActor' to make instance method 'assertElement(_:state:file:line:)' part of global actor 'MainActor'
16 | state: ElementState,
17 | file: StaticString = #filePath,
:
24 | case .enabled(let isEnabled):
25 | expected = isEnabled
26 | actual = element.isEnabled
| `- warning: main actor-isolated property 'isEnabled' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
27 | case .focused(let isFocused):
28 | expected = isFocused
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCUIAutomation.framework/Headers/XCUIElementAttributes.h:53:47: note: property declared here
51 |
52 | /*! Whether or not the element is enabled for user interaction. */
53 | @property (readonly, getter = isEnabled) BOOL enabled;
| `- note: property declared here
54 |
55 | /*! The horizontal size class of the element. */
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot+Assert.swift:29:30: warning: main actor-isolated property 'hasKeyboardFocus' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
13 | /// - Returns: Self for command chaining
14 | @discardableResult
15 | func assertElement(_ element: XCUIElement,
| `- note: add '@MainActor' to make instance method 'assertElement(_:state:file:line:)' part of global actor 'MainActor'
16 | state: ElementState,
17 | file: StaticString = #filePath,
:
27 | case .focused(let isFocused):
28 | expected = isFocused
29 | actual = element.hasKeyboardFocus
| `- warning: main actor-isolated property 'hasKeyboardFocus' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
30 |
31 | case .visible(let isVisible):
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCUIElement+Helpers.swift:147:9: note: property declared here
145 | public extension XCUIElement {
146 |
147 | var hasKeyboardFocus: Bool {
| `- note: property declared here
148 | (value(forKey: "hasKeyboardFocus") as? Bool) ?? false
149 | }
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot+Assert.swift:33:30: warning: main actor-isolated property 'exists' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
13 | /// - Returns: Self for command chaining
14 | @discardableResult
15 | func assertElement(_ element: XCUIElement,
| `- note: add '@MainActor' to make instance method 'assertElement(_:state:file:line:)' part of global actor 'MainActor'
16 | state: ElementState,
17 | file: StaticString = #filePath,
:
31 | case .visible(let isVisible):
32 | expected = isVisible
33 | actual = element.exists
| `- warning: main actor-isolated property 'exists' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
34 | }
35 | XCTAssertEqual(expected, actual, state.errorMessage, file: file, line: line)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCUIAutomation.framework/Headers/XCUIElement.h:54:27: note: property declared here
52 |
53 | /*! Test to determine if the element exists. */
54 | @property (readonly) BOOL exists;
| `- note: property declared here
55 |
56 | /*! Waits the specified amount of time for the element's exist property to be true and returns false if the timeout expires without the element coming into existence. */
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot+Assert.swift:54:17: warning: call to main actor-isolated instance method 'wait(timeout:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
45 | /// - Returns: Self
46 | @discardableResult
47 | func assertElement(
| `- note: add '@MainActor' to make instance method 'assertElement(_:state:timeout:file:line:)' part of global actor 'MainActor'
48 | _ element: XCUIElement,
49 | state: ElementState,
:
52 | line: UInt = #line
53 | ) -> Self {
54 | element.wait(timeout: timeout)
| `- warning: call to main actor-isolated instance method 'wait(timeout:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
55 | let expected: Bool
56 | let actual: Bool
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCUIElement+Helpers.swift:91:10: note: calls to instance method 'wait(timeout:)' from outside of its actor context are implicitly asynchronous
89 |
90 | @discardableResult
91 | func wait(timeout: Double = XCUIElement.waitTimeout) -> Self {
| `- note: calls to instance method 'wait(timeout:)' from outside of its actor context are implicitly asynchronous
92 | _ = waitForExistence(timeout: timeout)
93 | return self
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot+Assert.swift:60:30: warning: main actor-isolated property 'isEnabled' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
45 | /// - Returns: Self
46 | @discardableResult
47 | func assertElement(
| `- note: add '@MainActor' to make instance method 'assertElement(_:state:timeout:file:line:)' part of global actor 'MainActor'
48 | _ element: XCUIElement,
49 | state: ElementState,
:
58 | case .enabled(let isEnabled):
59 | expected = isEnabled
60 | actual = element.isEnabled
| `- warning: main actor-isolated property 'isEnabled' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
61 | case .focused(let isFocused):
62 | expected = isFocused
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCUIAutomation.framework/Headers/XCUIElementAttributes.h:53:47: note: property declared here
51 |
52 | /*! Whether or not the element is enabled for user interaction. */
53 | @property (readonly, getter = isEnabled) BOOL enabled;
| `- note: property declared here
54 |
55 | /*! The horizontal size class of the element. */
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot+Assert.swift:63:30: warning: main actor-isolated property 'hasKeyboardFocus' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
45 | /// - Returns: Self
46 | @discardableResult
47 | func assertElement(
| `- note: add '@MainActor' to make instance method 'assertElement(_:state:timeout:file:line:)' part of global actor 'MainActor'
48 | _ element: XCUIElement,
49 | state: ElementState,
:
61 | case .focused(let isFocused):
62 | expected = isFocused
63 | actual = element.hasKeyboardFocus
| `- warning: main actor-isolated property 'hasKeyboardFocus' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
64 | case .visible(let isVisible):
65 | expected = isVisible
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCUIElement+Helpers.swift:147:9: note: property declared here
145 | public extension XCUIElement {
146 |
147 | var hasKeyboardFocus: Bool {
| `- note: property declared here
148 | (value(forKey: "hasKeyboardFocus") as? Bool) ?? false
149 | }
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot+Assert.swift:66:30: warning: main actor-isolated property 'exists' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
45 | /// - Returns: Self
46 | @discardableResult
47 | func assertElement(
| `- note: add '@MainActor' to make instance method 'assertElement(_:state:timeout:file:line:)' part of global actor 'MainActor'
48 | _ element: XCUIElement,
49 | state: ElementState,
:
64 | case .visible(let isVisible):
65 | expected = isVisible
66 | actual = element.exists
| `- warning: main actor-isolated property 'exists' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
67 | }
68 | XCTAssertEqual(expected, actual, state.errorMessage, file: file, line: line)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCUIAutomation.framework/Headers/XCUIElement.h:54:27: note: property declared here
52 |
53 | /*! Test to determine if the element exists. */
54 | @property (readonly) BOOL exists;
| `- note: property declared here
55 |
56 | /*! Waits the specified amount of time for the element's exist property to be true and returns false if the timeout expires without the element coming into existence. */
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot+Assert.swift:88:48: warning: main actor-isolated property 'isHittable' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
78 | /// - Returns: Self
79 | @discardableResult
80 | private func assertElement(
| `- note: add '@MainActor' to make instance method 'assertElement(_:isEnabled:isVisible:file:line:)' part of global actor 'MainActor'
81 | _ element: XCUIElement,
82 | isEnabled: Bool,
:
86 | ) -> Self {
87 | if isEnabled || isVisible {
88 | let visible = isVisible == element.isHittable
| `- warning: main actor-isolated property 'isHittable' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
89 | let enabled = isEnabled == element.isEnabled
90 | XCTAssertTrue(visible && enabled, file: file, line: line)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCUIAutomation.framework/Headers/XCUIElement.h:63:48: note: property declared here
61 |
62 | /*! Whether or not a hit point can be computed for the element for the purpose of synthesizing events. */
63 | @property (readonly, getter = isHittable) BOOL hittable;
| `- note: property declared here
64 |
65 | /*! Returns a query for all descendants of the element matching the specified type. */
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot+Assert.swift:89:48: warning: main actor-isolated property 'isEnabled' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
78 | /// - Returns: Self
79 | @discardableResult
80 | private func assertElement(
| `- note: add '@MainActor' to make instance method 'assertElement(_:isEnabled:isVisible:file:line:)' part of global actor 'MainActor'
81 | _ element: XCUIElement,
82 | isEnabled: Bool,
:
87 | if isEnabled || isVisible {
88 | let visible = isVisible == element.isHittable
89 | let enabled = isEnabled == element.isEnabled
| `- warning: main actor-isolated property 'isEnabled' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
90 | XCTAssertTrue(visible && enabled, file: file, line: line)
91 | } else {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCUIAutomation.framework/Headers/XCUIElementAttributes.h:53:47: note: property declared here
51 |
52 | /*! Whether or not the element is enabled for user interaction. */
53 | @property (readonly, getter = isEnabled) BOOL enabled;
| `- note: property declared here
54 |
55 | /*! The horizontal size class of the element. */
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot+Assert.swift:92:36: warning: main actor-isolated property 'exists' can not be referenced from a nonisolated autoclosure; this is an error in the Swift 6 language mode
90 | XCTAssertTrue(visible && enabled, file: file, line: line)
91 | } else {
92 | XCTAssertFalse(element.exists, file: file, line: line)
| `- warning: main actor-isolated property 'exists' can not be referenced from a nonisolated autoclosure; this is an error in the Swift 6 language mode
93 | }
94 | return self
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCUIAutomation.framework/Headers/XCUIElement.h:54:27: note: property declared here
52 |
53 | /*! Test to determine if the element exists. */
54 | @property (readonly) BOOL exists;
| `- note: property declared here
55 |
56 | /*! Waits the specified amount of time for the element's exist property to be true and returns false if the timeout expires without the element coming into existence. */
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot+Assert.swift:108:32: warning: main actor-isolated property 'identifier' can not be referenced from a nonisolated autoclosure; this is an error in the Swift 6 language mode
106 | file: StaticString = #filePath,
107 | line: UInt = #line) -> Self {
108 | XCTAssertEqual(element.identifier, identifier)
| `- warning: main actor-isolated property 'identifier' can not be referenced from a nonisolated autoclosure; this is an error in the Swift 6 language mode
109 | return self
110 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCUIAutomation.framework/Headers/XCUIElementAttributes.h:35:32: note: property declared here
33 |
34 | /*! The accessibility identifier. */
35 | @property (readonly) NSString *identifier;
| `- note: property declared here
36 |
37 | /*! The frame of the element in the screen coordinate space. */
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot+Assert.swift:125:32: warning: main actor-isolated property 'frame' can not be referenced from a nonisolated autoclosure; this is an error in the Swift 6 language mode
123 | line: UInt = #line
124 | ) -> Self {
125 | XCTAssertEqual(element.frame.size, size)
| `- warning: main actor-isolated property 'frame' can not be referenced from a nonisolated autoclosure; this is an error in the Swift 6 language mode
126 | return self
127 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCUIAutomation.framework/Headers/XCUIElementAttributes.h:38:29: note: property declared here
36 |
37 | /*! The frame of the element in the screen coordinate space. */
38 | @property (readonly) CGRect frame;
| `- note: property declared here
39 |
40 | /*! The raw value attribute of the element. Depending on the element, the actual type can vary. */
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot+Assert.swift:134:62: warning: main actor-isolated property 'count' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
128 |
129 | @discardableResult
130 | func assertQuery(_ query: XCUIElementQuery,
| `- note: add '@MainActor' to make instance method 'assertQuery(_:count:file:line:)' part of global actor 'MainActor'
131 | count: Int,
132 | file: StaticString = #filePath,
133 | line: UInt = #line) -> Self {
134 | let actualCount = query.waitCount(count, timeout: 5).count
| `- warning: main actor-isolated property 'count' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
135 | let errorMessage = "Expected: \(count) messages, received: \(actualCount)"
136 | XCTAssertEqual(actualCount, count, errorMessage, file: file, line: line)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCUIAutomation.framework/Headers/XCUIElementQuery.h:29:33: note: property declared here
27 |
28 | /*! Evaluates the query at the time it is called and returns the number of matches found. */
29 | @property (readonly) NSUInteger count;
| `- note: property declared here
30 |
31 | /*! Returns an element that will resolve to the index into the query's result set. */
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot+Assert.swift:134:33: warning: call to main actor-isolated instance method 'waitCount(_:timeout:exact:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
128 |
129 | @discardableResult
130 | func assertQuery(_ query: XCUIElementQuery,
| `- note: add '@MainActor' to make instance method 'assertQuery(_:count:file:line:)' part of global actor 'MainActor'
131 | count: Int,
132 | file: StaticString = #filePath,
133 | line: UInt = #line) -> Self {
134 | let actualCount = query.waitCount(count, timeout: 5).count
| `- warning: call to main actor-isolated instance method 'waitCount(_:timeout:exact:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
135 | let errorMessage = "Expected: \(count) messages, received: \(actualCount)"
136 | XCTAssertEqual(actualCount, count, errorMessage, file: file, line: line)
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCUIElementQuery+Helpers.swift:38:10: note: calls to instance method 'waitCount(_:timeout:exact:)' from outside of its actor context are implicitly asynchronous
36 |
37 | @discardableResult
38 | func waitCount(_ expectedCount: Int, timeout: Double = XCUIElement.waitTimeout, exact: Bool = false) -> Self {
| |- note: calls to instance method 'waitCount(_:timeout:exact:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'XCUIElementTypeQueryProvider'
39 | let endTime = Date().timeIntervalSince1970 * 1000 + timeout * 1000
40 | var actualCount = count
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot+Assert.swift:143:59: warning: call to main actor-isolated instance method 'waitForExistence(timeout:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
138 | }
139 |
140 | func findMatch(for identifier: String,
| `- note: add '@MainActor' to make instance method 'findMatch(for:in:waitTimeout:)' part of global actor 'MainActor'
141 | in query: XCUIElementQuery,
142 | waitTimeout timeout: TimeInterval = 3.0) -> Bool {
143 | query.matching(identifier: identifier).firstMatch.waitForExistence(timeout: timeout)
| `- warning: call to main actor-isolated instance method 'waitForExistence(timeout:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
144 | }
145 | }
XCUIAutomation.XCUIElement.waitForExistence:2:22: note: calls to instance method 'waitForExistence(timeout:)' from outside of its actor context are implicitly asynchronous
1 | class XCUIElement {
2 | @MainActor open func waitForExistence(timeout: TimeInterval) -> Bool}
| `- note: calls to instance method 'waitForExistence(timeout:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot+Assert.swift:143:48: warning: main actor-isolated property 'firstMatch' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
138 | }
139 |
140 | func findMatch(for identifier: String,
| `- note: add '@MainActor' to make instance method 'findMatch(for:in:waitTimeout:)' part of global actor 'MainActor'
141 | in query: XCUIElementQuery,
142 | waitTimeout timeout: TimeInterval = 3.0) -> Bool {
143 | query.matching(identifier: identifier).firstMatch.waitForExistence(timeout: timeout)
| `- warning: main actor-isolated property 'firstMatch' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
144 | }
145 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCUIAutomation.framework/Headers/XCUIElementTypeQueryProvider.h:105:35: note: property declared here
103 | * matches will not be detected.
104 | */
105 | @property (readonly) XCUIElement *firstMatch;
| `- note: property declared here
106 |
107 | @end
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot+Assert.swift:143:15: warning: call to main actor-isolated instance method 'matching(identifier:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
138 | }
139 |
140 | func findMatch(for identifier: String,
| `- note: add '@MainActor' to make instance method 'findMatch(for:in:waitTimeout:)' part of global actor 'MainActor'
141 | in query: XCUIElementQuery,
142 | waitTimeout timeout: TimeInterval = 3.0) -> Bool {
143 | query.matching(identifier: identifier).firstMatch.waitForExistence(timeout: timeout)
| `- warning: call to main actor-isolated instance method 'matching(identifier:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
144 | }
145 | }
XCUIAutomation.XCUIElementQuery.matching:2:22: note: calls to instance method 'matching(identifier:)' from outside of its actor context are implicitly asynchronous
1 | class XCUIElementQuery {
2 | @MainActor open func matching(identifier: String) -> XCUIElementQuery}
| |- note: calls to instance method 'matching(identifier:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'XCUIElementTypeQueryProvider'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot.swift:19:21: warning: call to main actor-isolated instance method 'wait(timeout:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
16 | /// - Returns: instance of `Robot`
17 | @discardableResult
18 | func setSwitchState(_ element: XCUIElement, state: SwitchState) -> Self {
| `- note: add '@MainActor' to make instance method 'setSwitchState(_:state:)' part of global actor 'MainActor'
19 | _ = element.wait()
| `- warning: call to main actor-isolated instance method 'wait(timeout:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
20 | switch state {
21 | case .off where element.isOn:
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCUIElement+Helpers.swift:91:10: note: calls to instance method 'wait(timeout:)' from outside of its actor context are implicitly asynchronous
89 |
90 | @discardableResult
91 | func wait(timeout: Double = XCUIElement.waitTimeout) -> Self {
| `- note: calls to instance method 'wait(timeout:)' from outside of its actor context are implicitly asynchronous
92 | _ = waitForExistence(timeout: timeout)
93 | return self
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot.swift:21:33: warning: main actor-isolated property 'isOn' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
16 | /// - Returns: instance of `Robot`
17 | @discardableResult
18 | func setSwitchState(_ element: XCUIElement, state: SwitchState) -> Self {
| `- note: add '@MainActor' to make instance method 'setSwitchState(_:state:)' part of global actor 'MainActor'
19 | _ = element.wait()
20 | switch state {
21 | case .off where element.isOn:
| `- warning: main actor-isolated property 'isOn' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
22 | element.safeTap()
23 | case .on where element.isOff:
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCUIElement+Helpers.swift:135:9: note: property declared here
133 | /// Check if switch is enabled
134 | public extension XCUIElement {
135 | var isOn: Bool {
| `- note: property declared here
136 | (self.value as? String) == "1"
137 | }
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot.swift:22:21: warning: call to main actor-isolated instance method 'safeTap()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
16 | /// - Returns: instance of `Robot`
17 | @discardableResult
18 | func setSwitchState(_ element: XCUIElement, state: SwitchState) -> Self {
| `- note: add '@MainActor' to make instance method 'setSwitchState(_:state:)' part of global actor 'MainActor'
19 | _ = element.wait()
20 | switch state {
21 | case .off where element.isOn:
22 | element.safeTap()
| `- warning: call to main actor-isolated instance method 'safeTap()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
23 | case .on where element.isOff:
24 | element.safeTap()
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCUIElement+Helpers.swift:17:10: note: calls to instance method 'safeTap()' from outside of its actor context are implicitly asynchronous
15 | }
16 |
17 | func safeTap() {
| `- note: calls to instance method 'safeTap()' from outside of its actor context are implicitly asynchronous
18 | if !isHittable {
19 | let coordinate: XCUICoordinate =
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot.swift:23:32: warning: main actor-isolated property 'isOff' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
16 | /// - Returns: instance of `Robot`
17 | @discardableResult
18 | func setSwitchState(_ element: XCUIElement, state: SwitchState) -> Self {
| `- note: add '@MainActor' to make instance method 'setSwitchState(_:state:)' part of global actor 'MainActor'
19 | _ = element.wait()
20 | switch state {
21 | case .off where element.isOn:
22 | element.safeTap()
23 | case .on where element.isOff:
| `- warning: main actor-isolated property 'isOff' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
24 | element.safeTap()
25 | default:
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCUIElement+Helpers.swift:139:9: note: property declared here
137 | }
138 |
139 | var isOff: Bool {
| `- note: property declared here
140 | (self.value as? String) == "0"
141 | }
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot.swift:24:21: warning: call to main actor-isolated instance method 'safeTap()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
16 | /// - Returns: instance of `Robot`
17 | @discardableResult
18 | func setSwitchState(_ element: XCUIElement, state: SwitchState) -> Self {
| `- note: add '@MainActor' to make instance method 'setSwitchState(_:state:)' part of global actor 'MainActor'
19 | _ = element.wait()
20 | switch state {
:
22 | element.safeTap()
23 | case .on where element.isOff:
24 | element.safeTap()
| `- warning: call to main actor-isolated instance method 'safeTap()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
25 | default:
26 | return self
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/XCUIElement+Helpers.swift:17:10: note: calls to instance method 'safeTap()' from outside of its actor context are implicitly asynchronous
15 | }
16 |
17 | func safeTap() {
| `- note: calls to instance method 'safeTap()' from outside of its actor context are implicitly asynchronous
18 | if !isHittable {
19 | let coordinate: XCUICoordinate =
[48/54] Compiling StreamSwiftTestHelpers XCUIElement+LabelContains.swift
[49/54] Emitting module StreamSwiftTestHelpers
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/Robot+Assert.swift:50:9: warning: main actor-isolated default value in a nonisolated context; this is an error in the Swift 6 language mode
48 | _ element: XCUIElement,
49 | state: ElementState,
50 | timeout: Double = XCUIElement.waitTimeout,
| `- warning: main actor-isolated default value in a nonisolated context; this is an error in the Swift 6 language mode
51 | file: StaticString = #file,
52 | line: UInt = #line
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:10:12: warning: var 'overrideRecording' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
8 |
9 | /// Set this property true, to easily re-record all snapshots.
10 | public var overrideRecording: Bool? = nil
| |- warning: var 'overrideRecording' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'overrideRecording' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'overrideRecording' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 |
12 | /// The percentage a pixel must match the source pixel to be considered a match.
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:13:12: warning: var 'precision' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
11 |
12 | /// The percentage a pixel must match the source pixel to be considered a match.
13 | public var precision: Float = 0.96
| |- warning: var 'precision' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'precision' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'precision' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |
15 | /// The default view controller size. Simulates an iPhone in portrait mode.
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:16:12: warning: var 'defaultScreenSize' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |
15 | /// The default view controller size. Simulates an iPhone in portrait mode.
16 | public var defaultScreenSize = CGSize(width: 360, height: 700)
| |- warning: var 'defaultScreenSize' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultScreenSize' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'defaultScreenSize' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |
18 | /// Snapshot of a view controller. All variants will be tested by default. For each variant, it will take a snapshot.
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:33:11: error: cannot find type 'UIViewController' in scope
31 | /// so that the newly captured snapshot is compared with the current reference.
32 | public func AssertSnapshot(
33 | _ vc: UIViewController,
| `- error: cannot find type 'UIViewController' in scope
34 | isEmbeddedInNavigationController: Bool = false,
35 | variants: [SnapshotVariant] = SnapshotVariant.all,
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:35:16: error: cannot find type 'SnapshotVariant' in scope
33 | _ vc: UIViewController,
34 | isEmbeddedInNavigationController: Bool = false,
35 | variants: [SnapshotVariant] = SnapshotVariant.all,
| `- error: cannot find type 'SnapshotVariant' in scope
36 | screenSize: CGSize = defaultScreenSize,
37 | suffix: String? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:71:13: error: cannot find type 'UIView' in scope
69 | /// so that the newly captured snapshot is compared with the current reference.
70 | public func AssertSnapshot(
71 | _ view: UIView,
| `- error: cannot find type 'UIView' in scope
72 | variants: [SnapshotVariant] = SnapshotVariant.all,
73 | size: CGSize? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:72:16: error: cannot find type 'SnapshotVariant' in scope
70 | public func AssertSnapshot(
71 | _ view: UIView,
72 | variants: [SnapshotVariant] = SnapshotVariant.all,
| `- error: cannot find type 'SnapshotVariant' in scope
73 | size: CGSize? = nil,
74 | suffix: String? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:101:16: error: cannot find type 'SnapshotVariant' in scope
99 | _ view: View,
100 | isEmbeddedInNavigationController: Bool = false,
101 | variants: [SnapshotVariant] = SnapshotVariant.all,
| `- error: cannot find type 'SnapshotVariant' in scope
102 | screenSize: CGSize = defaultScreenSize,
103 | suffix: String? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:98:34: error: cannot find type 'UIViewControllerRepresentable' in scope
96 | /// Snapshot of a UIViewControllerRepresentable. All variants will be tested by default. For each variant, it will take a snapshot.
97 | /// This uses the default view controller screen size.
98 | public func AssertSnapshot<View: UIViewControllerRepresentable>(
| `- error: cannot find type 'UIViewControllerRepresentable' in scope
99 | _ view: View,
100 | isEmbeddedInNavigationController: Bool = false,
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:138:16: error: cannot find type 'SnapshotVariant' in scope
136 | public func AssertSnapshot<View: SwiftUI.View>(
137 | _ view: View,
138 | variants: [SnapshotVariant] = SnapshotVariant.all,
| `- error: cannot find type 'SnapshotVariant' in scope
139 | device: ViewImageConfig = .iPhoneX,
140 | size: CGSize? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:139:13: error: cannot find type 'ViewImageConfig' in scope
137 | _ view: View,
138 | variants: [SnapshotVariant] = SnapshotVariant.all,
139 | device: ViewImageConfig = .iPhoneX,
| `- error: cannot find type 'ViewImageConfig' in scope
140 | size: CGSize? = nil,
141 | suffix: String? = nil,
[50/54] Compiling StreamSwiftTestHelpers TestRunnerEnvironment.swift
[51/54] Compiling StreamSwiftTestHelpers TestsEnvironmentSetup.swift
[52/54] Compiling StreamSwiftTestHelpers AssertSnapshot.swift
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:10:12: warning: var 'overrideRecording' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
8 |
9 | /// Set this property true, to easily re-record all snapshots.
10 | public var overrideRecording: Bool? = nil
| |- warning: var 'overrideRecording' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'overrideRecording' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'overrideRecording' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 |
12 | /// The percentage a pixel must match the source pixel to be considered a match.
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:13:12: warning: var 'precision' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
11 |
12 | /// The percentage a pixel must match the source pixel to be considered a match.
13 | public var precision: Float = 0.96
| |- warning: var 'precision' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'precision' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'precision' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |
15 | /// The default view controller size. Simulates an iPhone in portrait mode.
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:16:12: warning: var 'defaultScreenSize' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |
15 | /// The default view controller size. Simulates an iPhone in portrait mode.
16 | public var defaultScreenSize = CGSize(width: 360, height: 700)
| |- warning: var 'defaultScreenSize' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultScreenSize' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'defaultScreenSize' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |
18 | /// Snapshot of a view controller. All variants will be tested by default. For each variant, it will take a snapshot.
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:33:11: error: cannot find type 'UIViewController' in scope
31 | /// so that the newly captured snapshot is compared with the current reference.
32 | public func AssertSnapshot(
33 | _ vc: UIViewController,
| `- error: cannot find type 'UIViewController' in scope
34 | isEmbeddedInNavigationController: Bool = false,
35 | variants: [SnapshotVariant] = SnapshotVariant.all,
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:35:16: error: cannot find type 'SnapshotVariant' in scope
33 | _ vc: UIViewController,
34 | isEmbeddedInNavigationController: Bool = false,
35 | variants: [SnapshotVariant] = SnapshotVariant.all,
| `- error: cannot find type 'SnapshotVariant' in scope
36 | screenSize: CGSize = defaultScreenSize,
37 | suffix: String? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:71:13: error: cannot find type 'UIView' in scope
69 | /// so that the newly captured snapshot is compared with the current reference.
70 | public func AssertSnapshot(
71 | _ view: UIView,
| `- error: cannot find type 'UIView' in scope
72 | variants: [SnapshotVariant] = SnapshotVariant.all,
73 | size: CGSize? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:72:16: error: cannot find type 'SnapshotVariant' in scope
70 | public func AssertSnapshot(
71 | _ view: UIView,
72 | variants: [SnapshotVariant] = SnapshotVariant.all,
| `- error: cannot find type 'SnapshotVariant' in scope
73 | size: CGSize? = nil,
74 | suffix: String? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:101:16: error: cannot find type 'SnapshotVariant' in scope
99 | _ view: View,
100 | isEmbeddedInNavigationController: Bool = false,
101 | variants: [SnapshotVariant] = SnapshotVariant.all,
| `- error: cannot find type 'SnapshotVariant' in scope
102 | screenSize: CGSize = defaultScreenSize,
103 | suffix: String? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:98:34: error: cannot find type 'UIViewControllerRepresentable' in scope
96 | /// Snapshot of a UIViewControllerRepresentable. All variants will be tested by default. For each variant, it will take a snapshot.
97 | /// This uses the default view controller screen size.
98 | public func AssertSnapshot<View: UIViewControllerRepresentable>(
| `- error: cannot find type 'UIViewControllerRepresentable' in scope
99 | _ view: View,
100 | isEmbeddedInNavigationController: Bool = false,
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:138:16: error: cannot find type 'SnapshotVariant' in scope
136 | public func AssertSnapshot<View: SwiftUI.View>(
137 | _ view: View,
138 | variants: [SnapshotVariant] = SnapshotVariant.all,
| `- error: cannot find type 'SnapshotVariant' in scope
139 | device: ViewImageConfig = .iPhoneX,
140 | size: CGSize? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:139:13: error: cannot find type 'ViewImageConfig' in scope
137 | _ view: View,
138 | variants: [SnapshotVariant] = SnapshotVariant.all,
139 | device: ViewImageConfig = .iPhoneX,
| `- error: cannot find type 'ViewImageConfig' in scope
140 | size: CGSize? = nil,
141 | suffix: String? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:43:61: error: cannot find 'UINavigationController' in scope
41 | function: String = #function
42 | ) {
43 | let viewController = isEmbeddedInNavigationController ? UINavigationController(rootViewController: vc) : vc
| `- error: cannot find 'UINavigationController' in scope
44 |
45 | variants.forEach { variant in
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:48:18: error: cannot call value of non-function type 'Snapshotting<CALayer, NSImage>'
46 | assertSnapshot(
47 | matching: viewController,
48 | as: .image(perceptualPrecision: precision, size: screenSize, traits: variant.traits),
| `- error: cannot call value of non-function type 'Snapshotting<CALayer, NSImage>'
49 | named: variant.snapshotName + (suffix.map { "." + $0 } ?? ""),
50 | record: overrideRecording ?? record,
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:84:18: error: cannot call value of non-function type 'Snapshotting<CALayer, NSImage>'
82 | matching: view,
83 | as: size != nil ?
84 | .image(perceptualPrecision: precision, size: size!, traits: variant.traits)
| `- error: cannot call value of non-function type 'Snapshotting<CALayer, NSImage>'
85 | : .image(perceptualPrecision: precision, traits: variant.traits),
86 | named: variant.snapshotName + (suffix.map { "." + $0 } ?? ""),
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:85:20: error: cannot call value of non-function type 'Snapshotting<CALayer, NSImage>'
83 | as: size != nil ?
84 | .image(perceptualPrecision: precision, size: size!, traits: variant.traits)
85 | : .image(perceptualPrecision: precision, traits: variant.traits),
| `- error: cannot call value of non-function type 'Snapshotting<CALayer, NSImage>'
86 | named: variant.snapshotName + (suffix.map { "." + $0 } ?? ""),
87 | record: overrideRecording ?? record,
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:109:21: error: cannot find 'UIHostingController' in scope
107 | function: String = #function
108 | ) {
109 | let hostingVC = UIHostingController(rootView: view)
| `- error: cannot find 'UIHostingController' in scope
110 | AssertSnapshot(
111 | hostingVC,
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:148:76: error: type 'SwiftUISnapshotLayout' has no member 'device'
146 | ) {
147 | variants.forEach { variant in
148 | let layout: SwiftUISnapshotLayout = size != nil ? .sizeThatFits : .device(config: device)
| `- error: type 'SwiftUISnapshotLayout' has no member 'device'
149 | assertSnapshot(
150 | matching: view,
[53/54] Compiling StreamSwiftTestHelpers DeviceRobot.swift
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/DeviceRobot.swift:29:17: error: value of type 'XCUIApplication' has no member 'portrait'
27 | switch orientation {
28 | case .portrait:
29 | app.portrait()
| `- error: value of type 'XCUIApplication' has no member 'portrait'
30 | case .landscape:
31 | app.landscape()
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/DeviceRobot.swift:31:17: error: value of type 'XCUIApplication' has no member 'landscape'
29 | app.portrait()
30 | case .landscape:
31 | app.landscape()
| `- error: value of type 'XCUIApplication' has no member 'landscape'
32 | }
33 | return self
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/DeviceRobot.swift:40:31: error: value of type 'XCUIDevice' has no member 'press'
38 | switch state {
39 | case .background:
40 | XCUIDevice.shared.press(XCUIDevice.Button.home)
| `- error: value of type 'XCUIDevice' has no member 'press'
41 | case .foreground:
42 | app.activate()
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/DeviceRobot.swift:40:48: error: type 'XCUIDevice' has no member 'Button'
38 | switch state {
39 | case .background:
40 | XCUIDevice.shared.press(XCUIDevice.Button.home)
| `- error: type 'XCUIDevice' has no member 'Button'
41 | case .foreground:
42 | app.activate()
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/DeviceRobot.swift:42:17: warning: call to main actor-isolated instance method 'activate()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
35 |
36 | @discardableResult
37 | public func moveApplication(to state: ApplicationState) -> Self {
| `- note: add '@MainActor' to make instance method 'moveApplication(to:)' part of global actor 'MainActor'
38 | switch state {
39 | case .background:
40 | XCUIDevice.shared.press(XCUIDevice.Button.home)
41 | case .foreground:
42 | app.activate()
| `- warning: call to main actor-isolated instance method 'activate()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
43 | }
44 | return self
XCUIAutomation.XCUIApplication.activate:2:22: note: calls to instance method 'activate()' from outside of its actor context are implicitly asynchronous
1 | class XCUIApplication {
2 | @MainActor open func activate()}
| `- note: calls to instance method 'activate()' from outside of its actor context are implicitly asynchronous
3 |
[54/54] Compiling StreamSwiftTestHelpers ElementState.swift
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/DeviceRobot.swift:29:17: error: value of type 'XCUIApplication' has no member 'portrait'
27 | switch orientation {
28 | case .portrait:
29 | app.portrait()
| `- error: value of type 'XCUIApplication' has no member 'portrait'
30 | case .landscape:
31 | app.landscape()
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/DeviceRobot.swift:31:17: error: value of type 'XCUIApplication' has no member 'landscape'
29 | app.portrait()
30 | case .landscape:
31 | app.landscape()
| `- error: value of type 'XCUIApplication' has no member 'landscape'
32 | }
33 | return self
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/DeviceRobot.swift:40:31: error: value of type 'XCUIDevice' has no member 'press'
38 | switch state {
39 | case .background:
40 | XCUIDevice.shared.press(XCUIDevice.Button.home)
| `- error: value of type 'XCUIDevice' has no member 'press'
41 | case .foreground:
42 | app.activate()
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/DeviceRobot.swift:40:48: error: type 'XCUIDevice' has no member 'Button'
38 | switch state {
39 | case .background:
40 | XCUIDevice.shared.press(XCUIDevice.Button.home)
| `- error: type 'XCUIDevice' has no member 'Button'
41 | case .foreground:
42 | app.activate()
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/DeviceRobot.swift:42:17: warning: call to main actor-isolated instance method 'activate()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
35 |
36 | @discardableResult
37 | public func moveApplication(to state: ApplicationState) -> Self {
| `- note: add '@MainActor' to make instance method 'moveApplication(to:)' part of global actor 'MainActor'
38 | switch state {
39 | case .background:
40 | XCUIDevice.shared.press(XCUIDevice.Button.home)
41 | case .foreground:
42 | app.activate()
| `- warning: call to main actor-isolated instance method 'activate()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
43 | }
44 | return self
XCUIAutomation.XCUIApplication.activate:2:22: note: calls to instance method 'activate()' from outside of its actor context are implicitly asynchronous
1 | class XCUIApplication {
2 | @MainActor open func activate()}
| `- note: calls to instance method 'activate()' from outside of its actor context are implicitly asynchronous
3 |
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-2F0A5646E1D333AE.txt
[2/32] Emitting module SnapshotTesting
[3/35] Compiling SnapshotTesting SceneKit.swift
[4/35] Compiling SnapshotTesting SpriteKit.swift
[5/35] Compiling SnapshotTesting String.swift
[6/35] Compiling SnapshotTesting NSImage.swift
[7/35] Compiling SnapshotTesting NSView.swift
[8/35] Compiling SnapshotTesting NSViewController.swift
[9/35] Compiling SnapshotTesting CGPath.swift
[10/35] Compiling SnapshotTesting CaseIterable.swift
[11/35] Compiling SnapshotTesting Codable.swift
[12/35] Compiling SnapshotTesting Diff.swift
[13/35] Compiling SnapshotTesting Diffing.swift
[14/35] Compiling SnapshotTesting Wait.swift
[15/35] Compiling SnapshotTesting SnapshotTestCase.swift
[16/35] Compiling SnapshotTesting SwiftUIView.swift
[17/35] Compiling SnapshotTesting UIBezierPath.swift
[18/35] Compiling SnapshotTesting UIImage.swift
[19/35] Compiling SnapshotTesting Snapshotting.swift
[20/35] Compiling SnapshotTesting Any.swift
[21/35] Compiling SnapshotTesting CALayer.swift
[22/35] Compiling SnapshotTesting Data.swift
[23/35] Compiling SnapshotTesting Description.swift
[24/35] Compiling SnapshotTesting NSBezierPath.swift
[25/35] Compiling SnapshotTesting AssertInlineSnapshot.swift
[26/35] Compiling SnapshotTesting AssertSnapshot.swift
[27/35] Compiling SnapshotTesting Async.swift
[28/35] Compiling SnapshotTesting Internal.swift
[29/35] Compiling SnapshotTesting UIView.swift
[30/35] Compiling SnapshotTesting UIViewController.swift
[31/35] Compiling SnapshotTesting URLRequest.swift
[32/35] Compiling SnapshotTesting PlistEncoder.swift
[33/35] Compiling SnapshotTesting String+SpecialCharacters.swift
[34/35] Compiling SnapshotTesting View.swift
[35/35] Compiling SnapshotTesting XCTAttachment.swift
[36/51] Compiling StreamSwiftTestHelpers TestRunnerEnvironment.swift
[37/51] Compiling StreamSwiftTestHelpers TestsEnvironmentSetup.swift
[38/51] Compiling StreamSwiftTestHelpers XCTest+GivenWhenThenAnd.swift
[39/51] Compiling StreamSwiftTestHelpers XCTest+TestOps.swift
[40/52] Compiling StreamSwiftTestHelpers SnapshotVariant.swift
[41/52] Compiling StreamSwiftTestHelpers XCUIElement+LabelContains.swift
[42/52] Compiling StreamSwiftTestHelpers XCUIApplication.swift
[43/52] Compiling StreamSwiftTestHelpers XCUIElement+Helpers.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[44/52] Compiling StreamSwiftTestHelpers XCUIElementQuery+Helpers.swift
[45/52] Compiling StreamSwiftTestHelpers XCTestCase+AlertHandler.swift
[46/52] Compiling StreamSwiftTestHelpers XCTestCase+MockJSON.swift
[47/52] Compiling StreamSwiftTestHelpers Robot+Assert.swift
[48/52] Compiling StreamSwiftTestHelpers Robot.swift
[49/52] Emitting module StreamSwiftTestHelpers
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:33:11: error: cannot find type 'UIViewController' in scope
31 | /// so that the newly captured snapshot is compared with the current reference.
32 | public func AssertSnapshot(
33 | _ vc: UIViewController,
| `- error: cannot find type 'UIViewController' in scope
34 | isEmbeddedInNavigationController: Bool = false,
35 | variants: [SnapshotVariant] = SnapshotVariant.all,
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:35:16: error: cannot find type 'SnapshotVariant' in scope
33 | _ vc: UIViewController,
34 | isEmbeddedInNavigationController: Bool = false,
35 | variants: [SnapshotVariant] = SnapshotVariant.all,
| `- error: cannot find type 'SnapshotVariant' in scope
36 | screenSize: CGSize = defaultScreenSize,
37 | suffix: String? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:71:13: error: cannot find type 'UIView' in scope
69 | /// so that the newly captured snapshot is compared with the current reference.
70 | public func AssertSnapshot(
71 | _ view: UIView,
| `- error: cannot find type 'UIView' in scope
72 | variants: [SnapshotVariant] = SnapshotVariant.all,
73 | size: CGSize? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:72:16: error: cannot find type 'SnapshotVariant' in scope
70 | public func AssertSnapshot(
71 | _ view: UIView,
72 | variants: [SnapshotVariant] = SnapshotVariant.all,
| `- error: cannot find type 'SnapshotVariant' in scope
73 | size: CGSize? = nil,
74 | suffix: String? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:101:16: error: cannot find type 'SnapshotVariant' in scope
99 | _ view: View,
100 | isEmbeddedInNavigationController: Bool = false,
101 | variants: [SnapshotVariant] = SnapshotVariant.all,
| `- error: cannot find type 'SnapshotVariant' in scope
102 | screenSize: CGSize = defaultScreenSize,
103 | suffix: String? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:98:34: error: cannot find type 'UIViewControllerRepresentable' in scope
96 | /// Snapshot of a UIViewControllerRepresentable. All variants will be tested by default. For each variant, it will take a snapshot.
97 | /// This uses the default view controller screen size.
98 | public func AssertSnapshot<View: UIViewControllerRepresentable>(
| `- error: cannot find type 'UIViewControllerRepresentable' in scope
99 | _ view: View,
100 | isEmbeddedInNavigationController: Bool = false,
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:138:16: error: cannot find type 'SnapshotVariant' in scope
136 | public func AssertSnapshot<View: SwiftUI.View>(
137 | _ view: View,
138 | variants: [SnapshotVariant] = SnapshotVariant.all,
| `- error: cannot find type 'SnapshotVariant' in scope
139 | device: ViewImageConfig = .iPhoneX,
140 | size: CGSize? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:139:13: error: cannot find type 'ViewImageConfig' in scope
137 | _ view: View,
138 | variants: [SnapshotVariant] = SnapshotVariant.all,
139 | device: ViewImageConfig = .iPhoneX,
| `- error: cannot find type 'ViewImageConfig' in scope
140 | size: CGSize? = nil,
141 | suffix: String? = nil,
[50/52] Compiling StreamSwiftTestHelpers AssertSnapshot.swift
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:33:11: error: cannot find type 'UIViewController' in scope
31 | /// so that the newly captured snapshot is compared with the current reference.
32 | public func AssertSnapshot(
33 | _ vc: UIViewController,
| `- error: cannot find type 'UIViewController' in scope
34 | isEmbeddedInNavigationController: Bool = false,
35 | variants: [SnapshotVariant] = SnapshotVariant.all,
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:35:16: error: cannot find type 'SnapshotVariant' in scope
33 | _ vc: UIViewController,
34 | isEmbeddedInNavigationController: Bool = false,
35 | variants: [SnapshotVariant] = SnapshotVariant.all,
| `- error: cannot find type 'SnapshotVariant' in scope
36 | screenSize: CGSize = defaultScreenSize,
37 | suffix: String? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:71:13: error: cannot find type 'UIView' in scope
69 | /// so that the newly captured snapshot is compared with the current reference.
70 | public func AssertSnapshot(
71 | _ view: UIView,
| `- error: cannot find type 'UIView' in scope
72 | variants: [SnapshotVariant] = SnapshotVariant.all,
73 | size: CGSize? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:72:16: error: cannot find type 'SnapshotVariant' in scope
70 | public func AssertSnapshot(
71 | _ view: UIView,
72 | variants: [SnapshotVariant] = SnapshotVariant.all,
| `- error: cannot find type 'SnapshotVariant' in scope
73 | size: CGSize? = nil,
74 | suffix: String? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:101:16: error: cannot find type 'SnapshotVariant' in scope
99 | _ view: View,
100 | isEmbeddedInNavigationController: Bool = false,
101 | variants: [SnapshotVariant] = SnapshotVariant.all,
| `- error: cannot find type 'SnapshotVariant' in scope
102 | screenSize: CGSize = defaultScreenSize,
103 | suffix: String? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:98:34: error: cannot find type 'UIViewControllerRepresentable' in scope
96 | /// Snapshot of a UIViewControllerRepresentable. All variants will be tested by default. For each variant, it will take a snapshot.
97 | /// This uses the default view controller screen size.
98 | public func AssertSnapshot<View: UIViewControllerRepresentable>(
| `- error: cannot find type 'UIViewControllerRepresentable' in scope
99 | _ view: View,
100 | isEmbeddedInNavigationController: Bool = false,
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:138:16: error: cannot find type 'SnapshotVariant' in scope
136 | public func AssertSnapshot<View: SwiftUI.View>(
137 | _ view: View,
138 | variants: [SnapshotVariant] = SnapshotVariant.all,
| `- error: cannot find type 'SnapshotVariant' in scope
139 | device: ViewImageConfig = .iPhoneX,
140 | size: CGSize? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:139:13: error: cannot find type 'ViewImageConfig' in scope
137 | _ view: View,
138 | variants: [SnapshotVariant] = SnapshotVariant.all,
139 | device: ViewImageConfig = .iPhoneX,
| `- error: cannot find type 'ViewImageConfig' in scope
140 | size: CGSize? = nil,
141 | suffix: String? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:43:61: error: cannot find 'UINavigationController' in scope
41 | function: String = #function
42 | ) {
43 | let viewController = isEmbeddedInNavigationController ? UINavigationController(rootViewController: vc) : vc
| `- error: cannot find 'UINavigationController' in scope
44 |
45 | variants.forEach { variant in
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:48:18: error: cannot call value of non-function type 'Snapshotting<CALayer, NSImage>'
46 | assertSnapshot(
47 | matching: viewController,
48 | as: .image(perceptualPrecision: precision, size: screenSize, traits: variant.traits),
| `- error: cannot call value of non-function type 'Snapshotting<CALayer, NSImage>'
49 | named: variant.snapshotName + (suffix.map { "." + $0 } ?? ""),
50 | record: overrideRecording ?? record,
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:85:20: error: cannot call value of non-function type 'Snapshotting<CALayer, NSImage>'
83 | as: size != nil ?
84 | .image(perceptualPrecision: precision, size: size!, traits: variant.traits)
85 | : .image(perceptualPrecision: precision, traits: variant.traits),
| `- error: cannot call value of non-function type 'Snapshotting<CALayer, NSImage>'
86 | named: variant.snapshotName + (suffix.map { "." + $0 } ?? ""),
87 | record: overrideRecording ?? record,
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:84:18: error: cannot call value of non-function type 'Snapshotting<CALayer, NSImage>'
82 | matching: view,
83 | as: size != nil ?
84 | .image(perceptualPrecision: precision, size: size!, traits: variant.traits)
| `- error: cannot call value of non-function type 'Snapshotting<CALayer, NSImage>'
85 | : .image(perceptualPrecision: precision, traits: variant.traits),
86 | named: variant.snapshotName + (suffix.map { "." + $0 } ?? ""),
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:109:21: error: cannot find 'UIHostingController' in scope
107 | function: String = #function
108 | ) {
109 | let hostingVC = UIHostingController(rootView: view)
| `- error: cannot find 'UIHostingController' in scope
110 | AssertSnapshot(
111 | hostingVC,
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/SnapshotTesting/AssertSnapshot.swift:148:76: error: type 'SwiftUISnapshotLayout' has no member 'device'
146 | ) {
147 | variants.forEach { variant in
148 | let layout: SwiftUISnapshotLayout = size != nil ? .sizeThatFits : .device(config: device)
| `- error: type 'SwiftUISnapshotLayout' has no member 'device'
149 | assertSnapshot(
150 | matching: view,
[51/52] Compiling StreamSwiftTestHelpers DeviceRobot.swift
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/DeviceRobot.swift:29:17: error: value of type 'XCUIApplication' has no member 'portrait'
27 | switch orientation {
28 | case .portrait:
29 | app.portrait()
| `- error: value of type 'XCUIApplication' has no member 'portrait'
30 | case .landscape:
31 | app.landscape()
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/DeviceRobot.swift:31:17: error: value of type 'XCUIApplication' has no member 'landscape'
29 | app.portrait()
30 | case .landscape:
31 | app.landscape()
| `- error: value of type 'XCUIApplication' has no member 'landscape'
32 | }
33 | return self
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/DeviceRobot.swift:40:31: error: value of type 'XCUIDevice' has no member 'press'
38 | switch state {
39 | case .background:
40 | XCUIDevice.shared.press(XCUIDevice.Button.home)
| `- error: value of type 'XCUIDevice' has no member 'press'
41 | case .foreground:
42 | app.activate()
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/DeviceRobot.swift:40:48: error: type 'XCUIDevice' has no member 'Button'
38 | switch state {
39 | case .background:
40 | XCUIDevice.shared.press(XCUIDevice.Button.home)
| `- error: type 'XCUIDevice' has no member 'Button'
41 | case .foreground:
42 | app.activate()
[52/52] Compiling StreamSwiftTestHelpers ElementState.swift
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/DeviceRobot.swift:29:17: error: value of type 'XCUIApplication' has no member 'portrait'
27 | switch orientation {
28 | case .portrait:
29 | app.portrait()
| `- error: value of type 'XCUIApplication' has no member 'portrait'
30 | case .landscape:
31 | app.landscape()
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/DeviceRobot.swift:31:17: error: value of type 'XCUIApplication' has no member 'landscape'
29 | app.portrait()
30 | case .landscape:
31 | app.landscape()
| `- error: value of type 'XCUIApplication' has no member 'landscape'
32 | }
33 | return self
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/DeviceRobot.swift:40:31: error: value of type 'XCUIDevice' has no member 'press'
38 | switch state {
39 | case .background:
40 | XCUIDevice.shared.press(XCUIDevice.Button.home)
| `- error: value of type 'XCUIDevice' has no member 'press'
41 | case .foreground:
42 | app.activate()
/Users/admin/builder/spi-builder-workspace/Sources/TestHelpers/E2ETesting/DeviceRobot.swift:40:48: error: type 'XCUIDevice' has no member 'Button'
38 | switch state {
39 | case .background:
40 | XCUIDevice.shared.press(XCUIDevice.Button.home)
| `- error: type 'XCUIDevice' has no member 'Button'
41 | case .foreground:
42 | app.activate()
BUILD FAILURE 6.1 macosSpm