Skip to content

Commit 8edb08f

Browse files
authored
Remove remaining Swift 5.10 support. (swiftlang#467)
Swift Testing has been accepted into Swift 6. For more information, see [here](https://forums.swift.org/t/accepted-a-new-direction-for-testing-in-swift/72309). This PR removes all remaining support for the Swift 5.10 toolchain. The package now requires Swift 6. ### Checklist: - [x] Code and documentation should follow the style of the [Style Guide](https://github.com/apple/swift-testing/blob/main/Documentation/StyleGuide.md). - [x] If public symbols are renamed or modified, DocC references should be updated.
1 parent 37efc63 commit 8edb08f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+50
-671
lines changed

.spi.yml

-2
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@ metadata:
33
authors: Apple Inc.
44
builder:
55
configs:
6-
- swift_version: 5.10
7-
scheme: Testing
86
- swift_version: 6.0
97
documentation_targets: [Testing]
108
scheme: Testing

Package.swift

+17-6
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// swift-tools-version: 5.10
1+
// swift-tools-version: 6.0
22

33
//
44
// This source file is part of the Swift.org open source project
@@ -33,7 +33,7 @@ let package = Package(
3333
],
3434

3535
dependencies: [
36-
.package(url: "https://github.com/apple/swift-syntax.git", from: Version(stringLiteral: Context.environment["SWT_SWIFT_SYNTAX_VERSION"] ?? "600.0.0-latest")),
36+
.package(url: "https://github.com/apple/swift-syntax.git", from: "600.0.0-latest"),
3737
],
3838

3939
targets: [
@@ -121,7 +121,6 @@ extension Array where Element == PackageDescription.SwiftSetting {
121121
.unsafeFlags(["-require-explicit-sendable"]),
122122
.enableExperimentalFeature("StrictConcurrency"),
123123
.enableUpcomingFeature("ExistentialAny"),
124-
.enableUpcomingFeature("InferSendableFromCaptures"),
125124

126125
.enableExperimentalFeature("AccessLevelOnImport"),
127126
.enableUpcomingFeature("InternalImportsByDefault"),
@@ -155,8 +154,20 @@ extension Array where Element == PackageDescription.CXXSetting {
155154
/// Settings intended to be applied to every C++ target in this package.
156155
/// Analogous to project-level build settings in an Xcode project.
157156
static var packageSettings: Self {
158-
[
159-
.define("_SWT_TESTING_LIBRARY_VERSION", to: #""unknown (Swift 5.10 toolchain)""#),
160-
]
157+
var result = Self()
158+
159+
// Capture the testing library's version as a C++ string constant.
160+
if let git = Context.gitInformation {
161+
let testingLibraryVersion = if let tag = git.currentTag {
162+
tag
163+
} else if git.hasUncommittedChanges {
164+
"\(git.currentCommit) (modified)"
165+
} else {
166+
git.currentCommit
167+
}
168+
result.append(.define("_SWT_TESTING_LIBRARY_VERSION", to: #""\#(testingLibraryVersion)""#))
169+
}
170+
171+
return result
161172
}
162173
}

[email protected]

-173
This file was deleted.

README.md

+9-9
Original file line numberDiff line numberDiff line change
@@ -93,15 +93,15 @@ very best ideas, from anywhere, can help shape the future of testing in Swift.
9393
The table below describes the current level of support that Swift Testing has
9494
for various platforms:
9595

96-
| **Platform** | **CI Status (5.10)** | **CI Status (6.0)** | **CI Status (main)** | **Support Status** |
97-
|---|:-:|:-:|:-:|---|
98-
| **macOS** | [![Build Status](https://ci.swift.org/buildStatus/icon?job=swift-testing-main-swift-5.10-macos)](https://ci.swift.org/job/swift-testing-main-swift-5.10-macos/) | [![Build Status](https://ci.swift.org/buildStatus/icon?job=swift-testing-main-swift-6.0-macos)](https://ci.swift.org/job/swift-testing-main-swift-6.0-macos/) | [![Build Status](https://ci.swift.org/buildStatus/icon?job=swift-testing-main-swift-main-macos)](https://ci.swift.org/view/Swift%20Packages/job/swift-testing-main-swift-main-macos/) | Supported |
99-
| **iOS** | | | | Supported |
100-
| **watchOS** | | | | Supported |
101-
| **tvOS** | | | | Supported |
102-
| **visionOS** | | | | Supported |
103-
| **Ubuntu 22.04** | [![Build Status](https://ci.swift.org/buildStatus/icon?job=swift-testing-main-swift-5.10-linux)](https://ci.swift.org/job/swift-testing-main-swift-5.10-linux/) | [![Build Status](https://ci.swift.org/buildStatus/icon?job=swift-testing-main-swift-6.0-linux)](https://ci.swift.org/job/swift-testing-main-swift-6.0-linux/) | [![Build Status](https://ci.swift.org/buildStatus/icon?job=swift-testing-main-swift-main-linux)](https://ci.swift.org/view/Swift%20Packages/job/swift-testing-main-swift-main-linux/) | Supported |
104-
| **Windows** | [![Build Status](https://ci-external.swift.org/buildStatus/icon?job=swift-testing-main-swift-5.10-windows)](https://ci-external.swift.org/job/swift-testing-main-swift-5.10-windows/) | | [![Build Status](https://ci-external.swift.org/buildStatus/icon?job=swift-testing-main-swift-main-windows)](https://ci-external.swift.org/job/swift-testing-main-swift-main-windows/) | Supported |
96+
| **Platform** | **CI Status (6.0)** | **CI Status (main)** | **Support Status** |
97+
|---|:-:|:-:|---|
98+
| **macOS** | [![Build Status](https://ci.swift.org/buildStatus/icon?job=swift-testing-main-swift-6.0-macos)](https://ci.swift.org/job/swift-testing-main-swift-6.0-macos/) | [![Build Status](https://ci.swift.org/buildStatus/icon?job=swift-testing-main-swift-main-macos)](https://ci.swift.org/view/Swift%20Packages/job/swift-testing-main-swift-main-macos/) | Supported |
99+
| **iOS** | | | Supported |
100+
| **watchOS** | | | Supported |
101+
| **tvOS** | | | Supported |
102+
| **visionOS** | | | Supported |
103+
| **Ubuntu 22.04** | [![Build Status](https://ci.swift.org/buildStatus/icon?job=swift-testing-main-swift-6.0-linux)](https://ci.swift.org/job/swift-testing-main-swift-6.0-linux/) | [![Build Status](https://ci.swift.org/buildStatus/icon?job=swift-testing-main-swift-main-linux)](https://ci.swift.org/view/Swift%20Packages/job/swift-testing-main-swift-main-linux/) | Supported |
104+
| **Windows** | | [![Build Status](https://ci-external.swift.org/buildStatus/icon?job=swift-testing-main-swift-main-windows)](https://ci-external.swift.org/job/swift-testing-main-swift-main-windows/) | Supported |
105105

106106
### Works with XCTest
107107

Sources/Testing/CMakeLists.txt

-2
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ add_library(Testing
1818
EntryPoints/ABIv0/Encoded/ABIv0.EncodedTest.swift
1919
EntryPoints/EntryPoint.swift
2020
EntryPoints/SwiftPMEntryPoint.swift
21-
EntryPoints/XCTestScaffold.swift
2221
Events/Clock.swift
2322
Events/Event.swift
2423
Events/Recorder/Event.ConsoleOutputRecorder.swift
@@ -61,7 +60,6 @@ add_library(Testing
6160
Support/Additions/CommandLineAdditions.swift
6261
Support/Additions/NumericAdditions.swift
6362
Support/Additions/ResultAdditions.swift
64-
Support/Additions/StringAdditions.swift
6563
Support/CartesianProduct.swift
6664
Support/CError.swift
6765
Support/Environment.swift

Sources/Testing/EntryPoints/EntryPoint.swift

+2-9
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ private import _TestingInternals
2727
/// External callers cannot call this function directly. The can use
2828
/// ``copyABIEntryPoint_v0()`` to get a reference to an ABI-stable version of
2929
/// this function.
30-
func entryPoint(passing args: consuming __CommandLineArguments_v0?, eventHandler: Event.Handler?) async -> CInt {
30+
func entryPoint(passing args: __CommandLineArguments_v0?, eventHandler: Event.Handler?) async -> CInt {
3131
let exitCode = Locked(rawValue: EXIT_SUCCESS)
3232

3333
do {
@@ -239,12 +239,6 @@ public struct __CommandLineArguments_v0: Sendable {
239239

240240
/// The value of the `--repeat-until` argument.
241241
public var repeatUntil: String?
242-
243-
/// The identifier of the `XCTestCase` instance hosting the testing library,
244-
/// if ``XCTestScaffold`` is being used.
245-
///
246-
/// This property is not ABI and will be removed with ``XCTestScaffold``.
247-
var xcTestCaseHostIdentifier: String?
248242
}
249243

250244
extension __CommandLineArguments_v0: Codable {
@@ -264,7 +258,6 @@ extension __CommandLineArguments_v0: Codable {
264258
case skip
265259
case repetitions
266260
case repeatUntil
267-
case xcTestCaseHostIdentifier
268261
}
269262
}
270263

@@ -471,7 +464,7 @@ public func configurationForEntryPoint(from args: __CommandLineArguments_v0) thr
471464

472465
#if !SWT_NO_EXIT_TESTS
473466
// Enable exit test handling via __swiftPMEntryPoint().
474-
configuration.exitTestHandler = ExitTest.handlerForEntryPoint(forXCTestCaseIdentifiedBy: args.xcTestCaseHostIdentifier)
467+
configuration.exitTestHandler = ExitTest.handlerForEntryPoint()
475468
#endif
476469

477470
return configuration

0 commit comments

Comments
 (0)