The Swift Package Index logo.Swift Package Index

Build Information

Failed to build TestUtils, reference 1.0.2 (a20d4c), with Swift 6.3 for Linux on 11 Apr 2026 17:41:40 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:basic-6.3-latest swift build --triple x86_64-unknown-linux-gnu 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/1904labs/ios-test-utils.git
Reference: 1.0.2
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/1904labs/ios-test-utils
 * tag               1.0.2      -> FETCH_HEAD
HEAD is now at a20d4cd Added example URLSession mock
Cloned https://github.com/1904labs/ios-test-utils.git
Revision (git rev-parse @):
a20d4cdea48e8ba8641941f5eb2ec983c4f0faed
SUCCESS checkout https://github.com/1904labs/ios-test-utils.git at 1.0.2
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.3
Building package at path:  $PWD
https://github.com/1904labs/ios-test-utils.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:basic-6.3-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.3-latest: Pulling from swiftpackageindex/spi-images
Digest: sha256:5a7d791d2ead8a924b1292cb31bf3288eabcfe8880e0b005b00b45b71a5bc36a
Status: Image is up to date for registry.gitlab.com/swiftpackageindex/spi-images:basic-6.3-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[3/5] Emitting module TestUtils
/host/spi-builder-workspace/Sources/TestUtils/URLProtocolMock.swift:13:59: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
11 |
12 |     // this dictionary maps URLs to test data
13 |     static var testURLs = [URL?: [(data: Data?, response: URLResponse?, error: Error?)]]()
   |                                                           `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
14 |
15 |     // say we want to handle all types of request
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/TestUtils/URLProtocolMock.swift:16:47: error: cannot find type 'URLRequest' in scope
14 |
15 |     // say we want to handle all types of request
16 |     override class func canInit(with request: URLRequest) -> Bool {
   |                                               `- error: cannot find type 'URLRequest' in scope
17 |         return true
18 |     }
/host/spi-builder-workspace/Sources/TestUtils/URLProtocolMock.swift:21:70: error: cannot find type 'URLRequest' in scope
19 |
20 |     // ignore this method; just send back what we were given
21 |     override class func canonicalRequest(for request: URLRequest) -> URLRequest {
   |                                                                      `- error: cannot find type 'URLRequest' in scope
22 |         return request
23 |     }
/host/spi-builder-workspace/Sources/TestUtils/URLProtocolMock.swift:21:55: error: cannot find type 'URLRequest' in scope
19 |
20 |     // ignore this method; just send back what we were given
21 |     override class func canonicalRequest(for request: URLRequest) -> URLRequest {
   |                                                       `- error: cannot find type 'URLRequest' in scope
22 |         return request
23 |     }
/host/spi-builder-workspace/Sources/TestUtils/URLProtocolMock.swift:25:19: error: method does not override any method from its superclass
23 |     }
24 |
25 |     override func startLoading() {
   |                   `- error: method does not override any method from its superclass
26 |         defer {
27 |             self.client?.urlProtocolDidFinishLoading(self)
/host/spi-builder-workspace/Sources/TestUtils/URLProtocolMock.swift:46:19: error: method does not override any method from its superclass
44 |
45 |     // this method is required but doesn't need to do anything
46 |     override func stopLoading() { }
   |                   `- error: method does not override any method from its superclass
47 | }
48 |
/host/spi-builder-workspace/Sources/TestUtils/URLProtocolMock.swift:10:24: error: 'URLProtocol' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 8 | import Foundation
 9 |
10 | class URLProtocolMock: URLProtocol {
   |                        `- error: 'URLProtocol' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
11 |
12 |     // this dictionary maps URLs to test data
Foundation.URLProtocol:2:18: note: 'URLProtocol' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLProtocol = AnyObject
  |                  `- note: 'URLProtocol' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/TestUtils/URLSessionMock.swift:13:28: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
11 |  An example of how to create a mock url session using URLProtocolMock
12 |  */
13 | public var urlSessionMock: URLSession {
   |                            `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
14 |     let configuration = URLSessionConfiguration.ephemeral
15 |     configuration.protocolClasses = [URLProtocolMock.self]
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
[4/5] Compiling TestUtils URLProtocolMock.swift
/host/spi-builder-workspace/Sources/TestUtils/URLProtocolMock.swift:13:59: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
11 |
12 |     // this dictionary maps URLs to test data
13 |     static var testURLs = [URL?: [(data: Data?, response: URLResponse?, error: Error?)]]()
   |                                                           `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
14 |
15 |     // say we want to handle all types of request
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/TestUtils/URLProtocolMock.swift:16:47: error: cannot find type 'URLRequest' in scope
14 |
15 |     // say we want to handle all types of request
16 |     override class func canInit(with request: URLRequest) -> Bool {
   |                                               `- error: cannot find type 'URLRequest' in scope
17 |         return true
18 |     }
/host/spi-builder-workspace/Sources/TestUtils/URLProtocolMock.swift:21:70: error: cannot find type 'URLRequest' in scope
19 |
20 |     // ignore this method; just send back what we were given
21 |     override class func canonicalRequest(for request: URLRequest) -> URLRequest {
   |                                                                      `- error: cannot find type 'URLRequest' in scope
22 |         return request
23 |     }
/host/spi-builder-workspace/Sources/TestUtils/URLProtocolMock.swift:21:55: error: cannot find type 'URLRequest' in scope
19 |
20 |     // ignore this method; just send back what we were given
21 |     override class func canonicalRequest(for request: URLRequest) -> URLRequest {
   |                                                       `- error: cannot find type 'URLRequest' in scope
22 |         return request
23 |     }
/host/spi-builder-workspace/Sources/TestUtils/URLProtocolMock.swift:25:19: error: method does not override any method from its superclass
23 |     }
24 |
25 |     override func startLoading() {
   |                   `- error: method does not override any method from its superclass
26 |         defer {
27 |             self.client?.urlProtocolDidFinishLoading(self)
/host/spi-builder-workspace/Sources/TestUtils/URLProtocolMock.swift:46:19: error: method does not override any method from its superclass
44 |
45 |     // this method is required but doesn't need to do anything
46 |     override func stopLoading() { }
   |                   `- error: method does not override any method from its superclass
47 | }
48 |
/host/spi-builder-workspace/Sources/TestUtils/URLProtocolMock.swift:10:24: error: 'URLProtocol' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 8 | import Foundation
 9 |
10 | class URLProtocolMock: URLProtocol {
   |                        `- error: 'URLProtocol' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
11 |
12 |     // this dictionary maps URLs to test data
Foundation.URLProtocol:2:18: note: 'URLProtocol' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLProtocol = AnyObject
  |                  `- note: 'URLProtocol' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/TestUtils/URLProtocolMock.swift:27:18: error: value of type 'URLProtocolMock' has no member 'client'
25 |     override func startLoading() {
26 |         defer {
27 |             self.client?.urlProtocolDidFinishLoading(self)
   |                  `- error: value of type 'URLProtocolMock' has no member 'client'
28 |         }
29 |         // if we have a valid URL…
/host/spi-builder-workspace/Sources/TestUtils/URLProtocolMock.swift:30:25: error: cannot find 'request' in scope
28 |         }
29 |         // if we have a valid URL…
30 |         guard let url = request.url,
   |                         `- error: cannot find 'request' in scope
31 |             let nextResponse = URLProtocolMock.testURLs[url]?.removeFirst(),
32 |             let urlResponse = nextResponse.response else {
/host/spi-builder-workspace/Sources/TestUtils/URLProtocolMock.swift:37:18: error: value of type 'URLProtocolMock' has no member 'client'
35 |
36 |         if let error = nextResponse.error {
37 |             self.client?.urlProtocol(self, didFailWithError: error)
   |                  `- error: value of type 'URLProtocolMock' has no member 'client'
38 |         } else if let data = nextResponse.data {
39 |             self.client?.urlProtocol(self, didLoad: data)
/host/spi-builder-workspace/Sources/TestUtils/URLProtocolMock.swift:39:18: error: value of type 'URLProtocolMock' has no member 'client'
37 |             self.client?.urlProtocol(self, didFailWithError: error)
38 |         } else if let data = nextResponse.data {
39 |             self.client?.urlProtocol(self, didLoad: data)
   |                  `- error: value of type 'URLProtocolMock' has no member 'client'
40 |         }
41 |
/host/spi-builder-workspace/Sources/TestUtils/URLProtocolMock.swift:42:14: error: value of type 'URLProtocolMock' has no member 'client'
40 |         }
41 |
42 |         self.client?.urlProtocol(self, didReceive: urlResponse, cacheStoragePolicy: .allowed)
   |              `- error: value of type 'URLProtocolMock' has no member 'client'
43 |     }
44 |
/host/spi-builder-workspace/Sources/TestUtils/URLProtocolMock.swift:42:86: error: cannot infer contextual base in reference to member 'allowed'
40 |         }
41 |
42 |         self.client?.urlProtocol(self, didReceive: urlResponse, cacheStoragePolicy: .allowed)
   |                                                                                      `- error: cannot infer contextual base in reference to member 'allowed'
43 |     }
44 |
[5/5] Compiling TestUtils URLSessionMock.swift
/host/spi-builder-workspace/Sources/TestUtils/URLSessionMock.swift:13:28: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
11 |  An example of how to create a mock url session using URLProtocolMock
12 |  */
13 | public var urlSessionMock: URLSession {
   |                            `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
14 |     let configuration = URLSessionConfiguration.ephemeral
15 |     configuration.protocolClasses = [URLProtocolMock.self]
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/TestUtils/URLSessionMock.swift:14:49: error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'ephemeral'
12 |  */
13 | public var urlSessionMock: URLSession {
14 |     let configuration = URLSessionConfiguration.ephemeral
   |                                                 `- error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'ephemeral'
15 |     configuration.protocolClasses = [URLProtocolMock.self]
16 |     let session = URLSession(configuration: configuration)
/host/spi-builder-workspace/Sources/TestUtils/URLSessionMock.swift:16:19: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
14 |     let configuration = URLSessionConfiguration.ephemeral
15 |     configuration.protocolClasses = [URLProtocolMock.self]
16 |     let session = URLSession(configuration: configuration)
   |                   `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
17 |     return session
18 | }
BUILD FAILURE 6.3 linux