Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: swiftlang/swift-testing
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: swift-6.1-RELEASE
Choose a base ref
...
head repository: swiftlang/swift-testing
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Loading
Showing with 11,271 additions and 4,938 deletions.
  1. +74 −0 .github/ISSUE_TEMPLATE/01-bug-report.yml
  2. +68 −0 .github/ISSUE_TEMPLATE/02-change-request.yml
  3. +36 −0 .github/ISSUE_TEMPLATE/03-task.yml
  4. +0 −39 .github/ISSUE_TEMPLATE/BUG_REPORT.yml
  5. +0 −39 .github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml
  6. +43 −0 .github/ISSUE_TEMPLATE/config.yml
  7. +0 −4 .github/PULL_REQUEST_TEMPLATE.md
  8. +1 −2 .spi.yml
  9. +19 −9 CMakeLists.txt
  10. +1 −1 CODEOWNERS
  11. +42 −0 CONTRIBUTING.md
  12. +7 −2 Documentation/ABI/JSON.md
  13. +289 −0 Documentation/ABI/TestContent.md
  14. +405 −0 Documentation/ExpectationCapture.md
  15. +104 −69 Documentation/Porting.md
  16. +0 −184 Documentation/Proposals/0000-proposal-template.md
  17. +8 −166 Documentation/Proposals/0001-refactor-bug-inits.md
  18. +6 −419 Documentation/Proposals/0002-json-abi.md
  19. +8 −149 Documentation/Proposals/0003-make-serialized-trait-api.md
  20. +8 −201 Documentation/Proposals/0004-constrain-the-granularity-of-test-time-limit-durations.md
  21. +8 −184 Documentation/Proposals/0005-ranged-confirmations.md
  22. +10 −0 Documentation/Proposals/0006-return-errors-from-expect-throws.md
  23. +10 −0 Documentation/Proposals/0007-test-scoping-traits.md
  24. +19 −5 Documentation/README.md
  25. +0 −131 Documentation/Releases.md
  26. +0 −14 Documentation/SPI.md
  27. +25 −0 Documentation/StyleGuide.md
  28. +1 −1 Documentation/WASI.md
  29. +238 −40 Package.swift
  30. +12 −13 README.md
  31. +5 −3 Sources/CMakeLists.txt
  32. +9 −0 Sources/Overlays/CMakeLists.txt
  33. +89 −0 Sources/Overlays/_Testing_CoreGraphics/Attachments/AttachableAsCGImage.swift
  34. +116 −0 Sources/Overlays/_Testing_CoreGraphics/Attachments/Attachment+AttachableAsCGImage.swift
  35. +20 −0 Sources/Overlays/_Testing_CoreGraphics/Attachments/CGImage+AttachableAsCGImage.swift
  36. +34 −0 Sources/Overlays/_Testing_CoreGraphics/Attachments/ImageAttachmentError.swift
  37. +178 −0 Sources/Overlays/_Testing_CoreGraphics/Attachments/_AttachableImageWrapper.swift
  38. +1 −3 Sources/{Testing/ABI/v0/ABIv0.swift → Overlays/_Testing_CoreGraphics/ReexportTesting.swift}
  39. +6 −4 Sources/Overlays/_Testing_Foundation/Attachments/Attachable+Encodable+NSSecureCoding.swift
  40. +14 −12 Sources/Overlays/_Testing_Foundation/Attachments/Attachable+Encodable.swift
  41. +9 −6 Sources/Overlays/_Testing_Foundation/Attachments/Attachable+NSSecureCoding.swift
  42. +169 −77 Sources/Overlays/_Testing_Foundation/Attachments/Attachment+URL.swift
  43. +8 −3 Sources/Overlays/_Testing_Foundation/Attachments/Data+Attachable.swift
  44. +1 −29 Sources/Overlays/_Testing_Foundation/Attachments/EncodingFormat.swift
  45. +67 −0 Sources/Overlays/_Testing_Foundation/Attachments/_AttachableURLWrapper.swift
  46. +40 −0 Sources/Overlays/_Testing_Foundation/CMakeLists.txt
  47. +1 −1 Sources/Overlays/_Testing_Foundation/ReexportTesting.swift
  48. +117 −0 Sources/SymbolShowcase/SymbolShowcaseMain.swift
  49. +74 −0 Sources/Testing/ABI/ABI.Record+Streaming.swift
  50. +26 −16 Sources/Testing/ABI/{v0/ABIv0.Record.swift → ABI.Record.swift}
  51. +86 −0 Sources/Testing/ABI/ABI.swift
  52. +3 −3 Sources/Testing/ABI/{v0/Encoded/ABIv0.EncodedAttachment.swift → Encoded/ABI.EncodedAttachment.swift}
  53. +3 −3 Sources/Testing/ABI/{v0/Encoded/ABIv0.EncodedBacktrace.swift → Encoded/ABI.EncodedBacktrace.swift}
  54. +5 −5 Sources/Testing/ABI/{v0/Encoded/ABIv0.EncodedError.swift → Encoded/ABI.EncodedError.swift}
  55. +12 −14 Sources/Testing/ABI/{v0/Encoded/ABIv0.EncodedEvent.swift → Encoded/ABI.EncodedEvent.swift}
  56. +3 −3 Sources/Testing/ABI/{v0/Encoded/ABIv0.EncodedInstant.swift → Encoded/ABI.EncodedInstant.swift}
  57. +23 −5 Sources/Testing/ABI/{v0/Encoded/ABIv0.EncodedIssue.swift → Encoded/ABI.EncodedIssue.swift}
  58. +7 −4 Sources/Testing/ABI/{v0/Encoded/ABIv0.EncodedMessage.swift → Encoded/ABI.EncodedMessage.swift}
  59. +29 −9 Sources/Testing/ABI/{v0/Encoded/ABIv0.EncodedTest.swift → Encoded/ABI.EncodedTest.swift}
  60. +45 −63 Sources/Testing/ABI/EntryPoints/ABIEntryPoint.swift
  61. +105 −33 Sources/Testing/ABI/EntryPoints/EntryPoint.swift
  62. +1 −1 Sources/Testing/ABI/EntryPoints/SwiftPMEntryPoint.swift
  63. +0 −154 Sources/Testing/ABI/v0/ABIv0.Record+Streaming.swift
  64. +51 −20 Sources/Testing/Attachments/Attachable.swift
  65. +0 −35 Sources/Testing/Attachments/AttachableContainer.swift
  66. +42 −0 Sources/Testing/Attachments/AttachableWrapper.swift
  67. +200 −56 Sources/Testing/Attachments/Attachment.swift
  68. +30 −17 Sources/Testing/CMakeLists.txt
  69. +40 −0 Sources/Testing/Discovery+Macro.swift
  70. +6 −7 Sources/Testing/Events/Event.swift
  71. +34 −10 Sources/Testing/Events/Recorder/Event.ConsoleOutputRecorder.swift
  72. +66 −43 Sources/Testing/Events/Recorder/Event.HumanReadableOutputRecorder.swift
  73. +1 −1 Sources/Testing/Events/Recorder/Event.JUnitXMLRecorder.swift
  74. +20 −9 Sources/Testing/Events/Recorder/Event.Symbol.swift
  75. +0 −234 Sources/Testing/ExitTests/ExitCondition.swift
  76. +186 −0 Sources/Testing/ExitTests/ExitTest.CapturedValue.swift
  77. +176 −0 Sources/Testing/ExitTests/ExitTest.Condition.swift
  78. +86 −0 Sources/Testing/ExitTests/ExitTest.Result.swift
  79. +457 −141 Sources/Testing/ExitTests/ExitTest.swift
  80. +0 −90 Sources/Testing/ExitTests/ExitTestArtifacts.swift
  81. +59 −15 Sources/Testing/ExitTests/SpawnProcess.swift
  82. +89 −0 Sources/Testing/ExitTests/StatusAtExit.swift
  83. +33 −14 Sources/Testing/ExitTests/WaitFor.swift
  84. +101 −30 Sources/Testing/Expectations/Expectation+Macro.swift
  85. +66 −25 Sources/Testing/Expectations/ExpectationChecking+Macro.swift
  86. +5 −0 Sources/Testing/Issues/Confirmation.swift
  87. +56 −9 Sources/Testing/Issues/Issue+Recording.swift
  88. +123 −41 Sources/Testing/Issues/Issue.swift
  89. +20 −4 Sources/Testing/Issues/KnownIssue.swift
  90. +10 −3 Sources/Testing/Parameterization/CustomTestArgumentEncodable.swift
  91. +42 −17 Sources/Testing/Parameterization/Test.Case.Generator.swift
  92. +97 −22 Sources/Testing/Parameterization/Test.Case.ID.swift
  93. +158 −32 Sources/Testing/Parameterization/Test.Case.swift
  94. +123 −19 Sources/Testing/Parameterization/TypeInfo.swift
  95. +20 −0 Sources/Testing/Running/Configuration+EventHandling.swift
  96. +1 −1 Sources/Testing/Running/Configuration.TestFilter.swift
  97. +91 −15 Sources/Testing/Running/Configuration.swift
  98. +0 −1 Sources/Testing/Running/Runner.Plan+Dumping.swift
  99. +34 −22 Sources/Testing/Running/Runner.Plan.swift
  100. +27 −7 Sources/Testing/Running/Runner.RuntimeState.swift
  101. +51 −69 Sources/Testing/Running/Runner.swift
  102. +1 −1 Sources/Testing/SourceAttribution/Backtrace+Symbolication.swift
  103. +5 −5 Sources/Testing/SourceAttribution/Backtrace.swift
  104. +90 −21 Sources/Testing/SourceAttribution/Expression.swift
  105. +2 −3 Sources/Testing/SourceAttribution/SourceLocation.swift
  106. +18 −0 Sources/Testing/Support/Additions/ArrayAdditions.swift
  107. +10 −2 Sources/Testing/Support/Additions/CommandLineAdditions.swift
  108. +15 −4 Sources/Testing/Support/Additions/ResultAdditions.swift
  109. +6 −0 Sources/Testing/Support/CError.swift
  110. +10 −10 Sources/Testing/Support/CartesianProduct.swift
  111. +86 −0 Sources/Testing/Support/CustomIssueRepresentable.swift
  112. +44 −5 Sources/Testing/Support/Environment.swift
  113. +6 −6 Sources/Testing/Support/FileHandle.swift
  114. +11 −23 Sources/Testing/Support/GetSymbol.swift
  115. +25 −1 Sources/Testing/Support/JSON.swift
  116. +96 −0 Sources/Testing/Support/Locked+Platform.swift
  117. +64 −75 Sources/Testing/Support/Locked.swift
  118. +0 −23 Sources/Testing/Support/SystemError.swift
  119. +2 −2 Sources/Testing/Support/Versions.swift
  120. +47 −0 Sources/Testing/Test+Discovery+Legacy.swift
  121. +85 −55 Sources/Testing/Test+Discovery.swift
  122. +67 −25 Sources/Testing/Test+Macro.swift
  123. +1 −1 Sources/Testing/Test.swift
  124. +32 −0 Sources/Testing/Testing.docc/Attachments.md
  125. +0 −5 Sources/Testing/Testing.docc/AvailabilityStubs/Issues/Confirmation.md
  126. +4 −0 Sources/Testing/Testing.docc/Documentation.md
  127. +4 −4 Sources/Testing/Testing.docc/Expectations.md
  128. +3 −2 Sources/Testing/Testing.docc/LimitingExecutionTime.md
  129. +113 −3 Sources/Testing/Testing.docc/MigratingFromXCTest.md
  130. +6 −5 Sources/Testing/Testing.docc/Traits.md
  131. +9 −11 Sources/Testing/Testing.docc/Traits/Trait.md
  132. +137 −4 Sources/Testing/Testing.docc/known-issues.md
  133. +37 −2 Sources/Testing/Testing.docc/testing-for-errors-in-swift-code.md
  134. +3 −0 Sources/Testing/Testing.swiftcrossimport/Foundation.swiftoverlay
  135. +11 −11 Sources/Testing/Traits/Bug.swift
  136. +47 −9 Sources/Testing/Traits/Comment.swift
  137. +70 −83 Sources/Testing/Traits/ConditionTrait.swift
  138. +20 −23 Sources/Testing/Traits/ParallelizationTrait.swift
  139. +0 −38 Sources/Testing/Traits/SPIAwareTrait.swift
  140. +2 −2 Sources/Testing/Traits/Tags/Tag.Color+Loading.swift
  141. +23 −28 Sources/Testing/Traits/TimeLimitTrait.swift
  142. +234 −61 Sources/Testing/Traits/Trait.swift
  143. +8 −4 Sources/TestingMacros/CMakeLists.txt
  144. +210 −31 Sources/TestingMacros/ConditionMacro.swift
  145. +94 −0 Sources/TestingMacros/PragmaMacro.swift
  146. +51 −23 Sources/TestingMacros/SuiteDeclarationMacro.swift
  147. +13 −0 Sources/TestingMacros/Support/Additions/EditorPlaceholderExprSyntaxAdditions.swift
  148. +17 −8 Sources/TestingMacros/Support/Additions/FunctionDeclSyntaxAdditions.swift
  149. +18 −0 Sources/TestingMacros/Support/Additions/IntegerLiteralExprSyntaxAdditions.swift
  150. +54 −18 Sources/TestingMacros/Support/Additions/MacroExpansionContextAdditions.swift
  151. +41 −1 Sources/TestingMacros/Support/Additions/TokenSyntaxAdditions.swift
  152. +1 −0 Sources/TestingMacros/Support/Additions/TypeSyntaxProtocolAdditions.swift
  153. +1 −0 Sources/TestingMacros/Support/Argument.swift
  154. +62 −35 Sources/TestingMacros/Support/AttributeDiscovery.swift
  155. +1 −0 Sources/TestingMacros/Support/AvailabilityGuards.swift
  156. +0 −74 Sources/TestingMacros/Support/CRC32.swift
  157. +88 −0 Sources/TestingMacros/Support/ClosureCaptureListParsing.swift
  158. +1 −0 Sources/TestingMacros/Support/CommentParsing.swift
  159. +10 −11 Sources/TestingMacros/Support/ConditionArgumentParsing.swift
  160. +3 −4 Sources/TestingMacros/Support/DiagnosticMessage+Diagnosing.swift
  161. +181 −45 Sources/TestingMacros/Support/DiagnosticMessage.swift
  162. +169 −0 Sources/TestingMacros/Support/EffectfulExpressionHandling.swift
  163. +184 −0 Sources/TestingMacros/Support/SHA256.swift
  164. +2 −0 Sources/TestingMacros/Support/SourceCodeCapturing.swift
  165. +1 −0 Sources/TestingMacros/Support/SourceLocationGeneration.swift
  166. +96 −0 Sources/TestingMacros/Support/TestContentGeneration.swift
  167. +1 −0 Sources/TestingMacros/TagMacro.swift
  168. +87 −60 Sources/TestingMacros/TestDeclarationMacro.swift
  169. +2 −0 Sources/TestingMacros/TestingMacrosMain.swift
  170. +90 −0 Sources/_TestDiscovery/Additions/WinSDKAdditions.swift
  171. +32 −0 Sources/_TestDiscovery/CMakeLists.txt
  172. +57 −0 Sources/_TestDiscovery/DiscoverableAsTestContent.swift
  173. +380 −0 Sources/_TestDiscovery/SectionBounds.swift
  174. +103 −0 Sources/_TestDiscovery/TestContentKind.swift
  175. +315 −0 Sources/_TestDiscovery/TestContentRecord.swift
  176. +12 −5 Sources/_TestingInternals/CMakeLists.txt
  177. +27 −372 Sources/_TestingInternals/Discovery.cpp
  178. +0 −45 Sources/_TestingInternals/Stubs.cpp
  179. +0 −6 Sources/_TestingInternals/Versions.cpp
  180. +30 −24 Sources/_TestingInternals/include/Discovery.h
  181. +21 −0 Sources/_TestingInternals/include/Includes.h
  182. +9 −20 Sources/_TestingInternals/include/Stubs.h
  183. +2 −2 Sources/_TestingInternals/include/WillThrow.h
  184. +61 −0 Tests/TestingMacrosTests/ConditionMacroTests.swift
  185. +45 −0 Tests/TestingMacrosTests/PragmaMacroTests.swift
  186. +52 −1 Tests/TestingMacrosTests/TestDeclarationMacroTests.swift
  187. +3 −0 Tests/TestingMacrosTests/TestSupport/Parse.swift
  188. +25 −12 Tests/TestingTests/ABIEntryPointTests.swift
  189. +143 −25 Tests/TestingTests/AttachmentTests.swift
  190. +25 −0 Tests/TestingTests/ConfigurationTests.swift
  191. +163 −0 Tests/TestingTests/DiscoveryTests.swift
  192. +81 −0 Tests/TestingTests/EntryPointTests.swift
  193. +190 −38 Tests/TestingTests/EventRecorderTests.swift
  194. +1 −1 Tests/TestingTests/EventTests.swift
  195. +111 −59 Tests/TestingTests/ExitTestTests.swift
  196. +88 −8 Tests/TestingTests/Expression.ValueTests.swift
  197. +198 −5 Tests/TestingTests/IssueTests.swift
  198. +2 −1 Tests/TestingTests/KnownIssueTests.swift
  199. +16 −0 Tests/TestingTests/MiscellaneousTests.swift
  200. +1 −1 Tests/TestingTests/Runner.RuntimeStateTests.swift
  201. +2 −2 Tests/TestingTests/RunnerTests.swift
  202. +14 −0 Tests/TestingTests/SourceLocationTests.swift
  203. +0 −39 Tests/TestingTests/Support/EnvironmentTests.swift
  204. +2 −2 Tests/TestingTests/Support/FileHandleTests.swift
  205. +43 −6 Tests/TestingTests/Support/LockTests.swift
  206. +40 −16 Tests/TestingTests/SwiftPMTests.swift
  207. +16 −16 Tests/TestingTests/Test.Case.Argument.IDTests.swift
  208. +20 −20 Tests/TestingTests/Test.Case.ArgumentTests.swift
  209. +31 −0 Tests/TestingTests/Test.Case.GeneratorTests.swift
  210. +177 −0 Tests/TestingTests/Test.CaseTests.swift
  211. +3 −2 Tests/TestingTests/TestCaseSelectionTests.swift
  212. +36 −13 Tests/TestingTests/TestSupport/TestingAdditions.swift
  213. +25 −0 Tests/TestingTests/Traits/CommentTests.swift
  214. +62 −0 Tests/TestingTests/Traits/ConditionTraitTests.swift
  215. +0 −104 Tests/TestingTests/Traits/CustomExecutionTraitTests.swift
  216. +1 −11 Tests/TestingTests/Traits/ParallelizationTraitTests.swift
  217. +1 −1 Tests/TestingTests/Traits/TagListTests.swift
  218. +184 −0 Tests/TestingTests/Traits/TestScopingTraitTests.swift
  219. +7 −4 Tests/TestingTests/Traits/TimeLimitTraitTests.swift
  220. +54 −0 Tests/TestingTests/TypeInfoTests.swift
  221. +1 −1 Tests/TestingTests/TypeNameConflictTests.swift
  222. +1 −1 cmake/modules/LibraryVersion.cmake
  223. +48 −0 cmake/modules/PlatformInfo.cmake
  224. +24 −73 cmake/modules/SwiftModuleInstallation.cmake
  225. +5 −3 cmake/modules/shared/CompilerSettings.cmake
74 changes: 74 additions & 0 deletions .github/ISSUE_TEMPLATE/01-bug-report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# This source file is part of the Swift.org open source project
#
# Copyright (c) 2025 Apple Inc. and the Swift project authors
# Licensed under Apache License v2.0 with Runtime Library Exception
#
# See https://swift.org/LICENSE.txt for license information
# See https://swift.org/CONTRIBUTORS.txt for Swift project authors

name: 🪲 Report a bug
description: >
Report a deviation from expected or documented behavior.
labels: [bug, triage-needed]
body:
- type: markdown
attributes:
value: >
This repository hosts the Swift Testing library and its documentation.
It does _not_ track feedback for Xcode and other closed source Apple
developer software such as XCTest; please direct that to
[Feedback Assistant](https://developer.apple.com/bug-reporting) instead.
- type: textarea
attributes:
label: Description
description: >
A concise description of what causes the problem, in human language.
Though not required, it may help us to more accurately triage the issue
as well as understand a non-trivial test case.
validations:
required: false
- type: textarea
attributes:
label: Reproduction
description: >
Provide an example, preferably in a Markdown code block, and explain how
to build or run it to reproduce the problem. If the problem is a poor or
unexpected diagnostic, fix-it, or other output, please show this output
as is. For example, paste it from the terminal. Consider reducing the
example to the smallest amount of code possible — a smaller example is
easier to reason about and more appealing to contributors.
value: |
```swift
```
validations:
required: true
- type: textarea
attributes:
label: Expected behavior
description: Describe the behavior you expected.
validations:
required: true
- type: textarea
attributes:
label: Environment
description: >
Provide details about the environment in which this problem occurs.
Include the versions of Swift Testing and the Swift toolchain. If you
suspect the problem might be specific to a particular platform, please
specify the platform and OS version as well.
placeholder: |
Swift Testing version: (shown in `swift test` output)
$ swift --version
$ uname -a
validations:
required: true
- type: textarea
attributes:
label: Additional information
description: >
Any complementary information that could help others to work around the
problem, and us to better understand the problem and its impact. For
example, a link to a discussion or post that motivated this report.
validations:
required: false
68 changes: 68 additions & 0 deletions .github/ISSUE_TEMPLATE/02-change-request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# This source file is part of the Swift.org open source project
#
# Copyright (c) 2025 Apple Inc. and the Swift project authors
# Licensed under Apache License v2.0 with Runtime Library Exception
#
# See https://swift.org/LICENSE.txt for license information
# See https://swift.org/CONTRIBUTORS.txt for Swift project authors

name: 🌟 Request a change
description: >
Request a feature, API, improvement, or other change.
labels: [enhancement, triage-needed]
body:
- type: markdown
attributes:
value: >
This repository hosts the Swift Testing library and its documentation.
It does _not_ track feedback for Xcode and other closed source Apple
developer software such as XCTest; please direct that to
[Feedback Assistant](https://developer.apple.com/bug-reporting) instead.
___
Swift Testing is guided by a community-driven evolution process.
Submitting this form is not a guarantee that the request will be
considered or implemented. If the request implies an addition, removal,
or change to the features of Swift Testing or its public interfaces,
please consider socializing it on the
[Swift forums](https://forums.swift.org/c/related-projects/swift-testing)
instead. The Swift forums are the preferred space for sharing ideas and
discussing them with the Swift community.
- type: textarea
attributes:
label: Motivation
description: >
Describe the problems that this idea seeks to address. If the problem is
that some common pattern is currently hard to express, show how one can
currently get a similar effect and describe its drawbacks. If it's
completely new functionality that cannot be emulated, motivate why this
new functionality would help create better Swift tests.
validations:
required: true
- type: textarea
attributes:
label: Proposed solution
description: >
Describe the proposed solution to the problem. Provide examples and
describe how they work. Show how this solution is better than current
workarounds: is it cleaner, safer, or more efficient?
validations:
required: true
- type: textarea
attributes:
label: Alternatives considered
description: >
Any alternative approaches that were considered, and why the _proposed
solution_ was chosen instead.
validations:
required: false
- type: textarea
attributes:
label: Additional information
description: >
Any complementary information that could be valuable to an author of a
formal proposal, an implementor, or future discussions. For example, a
link to a discussion or post that motivated this request.
validations:
required: false
36 changes: 36 additions & 0 deletions .github/ISSUE_TEMPLATE/03-task.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# This source file is part of the Swift.org open source project
#
# Copyright (c) 2025 Apple Inc. and the Swift project authors
# Licensed under Apache License v2.0 with Runtime Library Exception
#
# See https://swift.org/LICENSE.txt for license information
# See https://swift.org/CONTRIBUTORS.txt for Swift project authors

name: ⚙️ Track a task
description: >
Tasks can be used to track internal work, extract individual subtasks from a
larger issue, or can serve as umbrella issues themselves.
labels: []
body:
- type: markdown
attributes:
value: >
This repository hosts the Swift Testing library and its documentation.
It does _not_ track feedback for Xcode and other closed source Apple
developer software such as XCTest; please direct that to
[Feedback Assistant](https://developer.apple.com/bug-reporting) instead.
- type: textarea
attributes:
label: Description
description: >
A comprehensive description of the task, in human language.
validations:
required: true
- type: textarea
attributes:
label: Additional information
description: >
Any complementary information that could be valuable to an implementor.
For example, a link to a discussion or post that motivated this task.
validations:
required: false
39 changes: 0 additions & 39 deletions .github/ISSUE_TEMPLATE/BUG_REPORT.yml

This file was deleted.

39 changes: 0 additions & 39 deletions .github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml

This file was deleted.

43 changes: 43 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# This source file is part of the Swift.org open source project
#
# Copyright (c) 2025 Apple Inc. and the Swift project authors
# Licensed under Apache License v2.0 with Runtime Library Exception
#
# See https://swift.org/LICENSE.txt for license information
# See https://swift.org/CONTRIBUTORS.txt for Swift project authors

blank_issues_enabled: true
contact_links:
- name: 🌐 Discuss an idea
url: https://forums.swift.org/c/related-projects/swift-testing
about: >
Share an idea with the Swift Testing community.
- name: 📄 Formally propose a change
url: https://github.com/swiftlang/swift-testing/blob/main/Documentation/Proposals/0000-proposal-template.md
about: >
Formally propose an addition, removal, or change to the APIs or features
of Swift Testing.
- name: 🙋 Ask a question
url: https://forums.swift.org/c/related-projects/swift-testing
about: >
Ask a question about or get help with Swift Testing. Beginner questions
welcome!
- name: 🪲 Report an issue with Swift Package Manager
url: https://github.com/swiftlang/swift-package-manager/issues/new/choose
about: >
Report an issue with Swift Package Manager, which includes the
"swift test" CLI tool.
- name: 🪲 Report an issue with Apple software using Feedback Assistant
url: https://developer.apple.com/bug-reporting
about: >
Report an issue with Xcode or other closed source Apple developer
software such as XCTest.
- name: 🪲 Report an issue with the VS Code Swift plugin
url: https://github.com/swiftlang/vscode-swift/issues/new/choose
about: >
Report an issue with the Swift plugin for VS Code, which integrates with
Swift Testing.
- name: 📖 Learn about Swift Testing
url: https://swiftpackageindex.com/swiftlang/swift-testing/main/documentation/testing
about: >
Read the official Swift Testing documentation.
4 changes: 0 additions & 4 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -8,10 +8,6 @@ _[Explain here the context, and why you're making that change. What is the probl

_[Describe the modifications you've done.]_

### Result:

_[After your change, what will change.]_

### Checklist:

- [ ] Code and documentation should follow the style of the [Style Guide](https://github.com/apple/swift-testing/blob/main/Documentation/StyleGuide.md).
3 changes: 1 addition & 2 deletions .spi.yml
Original file line number Diff line number Diff line change
@@ -3,6 +3,5 @@ metadata:
authors: Apple Inc.
builder:
configs:
- swift_version: 6.0
documentation_targets: [Testing]
- documentation_targets: [Testing]
scheme: Testing
28 changes: 19 additions & 9 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -9,7 +9,14 @@
cmake_minimum_required(VERSION 3.19.6...3.29)

if(POLICY CMP0157)
cmake_policy(SET CMP0157 NEW)
if(CMAKE_HOST_SYSTEM_NAME STREQUAL Windows AND CMAKE_SYSTEM_NAME STREQUAL Android)
# CMP0157 causes builds to fail when targetting Android with the Windows
# toolchain, because the early swift-driver isn't (yet) available. Disable
# it for now.
cmake_policy(SET CMP0157 OLD)
else()
cmake_policy(SET CMP0157 NEW)
endif()
endif()

project(SwiftTesting
@@ -32,18 +39,21 @@ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)

set(CMAKE_INSTALL_RPATH "$<IF:$<PLATFORM_ID:Darwin>,@loader_path/..,$ORIGIN>")
set(CMAKE_INSTALL_REMOVE_ENVIRONMENT_RPATH YES)

set(CMAKE_MSVC_RUNTIME_LIBRARY MultiThreadedDLL)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_Swift_LANGUAGE_VERSION 6)
set(CMAKE_Swift_MODULE_DIRECTORY ${CMAKE_BINARY_DIR}/swift)

if(NOT SWIFT_SYSTEM_NAME)
if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
set(SWIFT_SYSTEM_NAME macosx)
else()
set(SWIFT_SYSTEM_NAME "$<LOWER_CASE:${CMAKE_SYSTEM_NAME}>")
endif()
endif()

include(PlatformInfo)
include(SwiftModuleInstallation)

option(SwiftTesting_INSTALL_NESTED_SUBDIR "Install libraries under a platform and architecture subdirectory" NO)
set(SwiftTesting_INSTALL_LIBDIR "${CMAKE_INSTALL_LIBDIR}/swift$<$<NOT:$<BOOL:${BUILD_SHARED_LIBS}>>:_static>/${SwiftTesting_PLATFORM_SUBDIR}$<$<AND:$<PLATFORM_ID:Darwin>,$<NOT:$<BOOL:${SwiftTesting_INSTALL_NESTED_SUBDIR}>>>:/testing>$<$<BOOL:${SwiftTesting_INSTALL_NESTED_SUBDIR}>:/${SwiftTesting_ARCH_SUBDIR}>")
set(SwiftTesting_INSTALL_SWIFTMODULEDIR "${CMAKE_INSTALL_LIBDIR}/swift$<$<NOT:$<BOOL:${BUILD_SHARED_LIBS}>>:_static>/${SwiftTesting_PLATFORM_SUBDIR}$<$<AND:$<PLATFORM_ID:Darwin>,$<NOT:$<BOOL:${SwiftTesting_INSTALL_NESTED_SUBDIR}>>>:/testing>")

add_compile_options($<$<COMPILE_LANGUAGE:Swift>:-no-toolchain-stdlib-rpath>)

add_subdirectory(Sources)
2 changes: 1 addition & 1 deletion CODEOWNERS
Original file line number Diff line number Diff line change
@@ -8,4 +8,4 @@
# See https://swift.org/CONTRIBUTORS.txt for Swift project authors
#

* @stmontgomery @grynspan @dennisweissmann @briancroom @SeanROlszewski @suzannaratcliff
* @stmontgomery @grynspan @briancroom @suzannaratcliff
Loading