Skip to content

Promote exit tests to API #324

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 24 commits into from
May 1, 2025
Merged

Promote exit tests to API #324

merged 24 commits into from
May 1, 2025

Conversation

grynspan
Copy link
Contributor

@grynspan grynspan commented Apr 2, 2024

This PR promotes exit tests to API, pending approval of the proposal at swiftlang/swift-evolution#2718.

View the full proposal here.

Checklist:

  • Code and documentation should follow the style of the Style Guide.
  • If public symbols are renamed or modified, DocC references should be updated.

@grynspan grynspan added tools integration 🛠️ Integration of swift-testing into tools/IDEs windows 🪟 Windows support linux 🐧 Linux support (all distros) darwin 🍎 macOS, iOS, watchOS, tvOS, and visionOS support public-api Affects public API swift-6 labels Apr 2, 2024
@grynspan grynspan self-assigned this Apr 2, 2024
@grynspan grynspan force-pushed the jgrynspan/exit-tests-proposal branch from fe21f14 to 988ddfe Compare April 2, 2024 17:57
@grynspan grynspan added the enhancement New feature or request label Apr 2, 2024
@grynspan grynspan marked this pull request as draft April 2, 2024 22:10
@grynspan grynspan force-pushed the jgrynspan/exit-tests-proposal branch from 988ddfe to 697123a Compare April 10, 2024 17:40
@grynspan grynspan changed the title [SWT-0001] Exit tests [SWT-NNNN] Exit tests Apr 10, 2024
@grynspan grynspan force-pushed the jgrynspan/exit-tests-proposal branch 3 times, most recently from 19f37c3 to 4825821 Compare April 12, 2024 13:30
@grynspan grynspan force-pushed the jgrynspan/exit-tests-proposal branch 2 times, most recently from feb425b to e84b014 Compare April 30, 2024 14:23
@grynspan grynspan added the api-proposal API proposal PRs (documentation only) label May 1, 2024
@grynspan grynspan force-pushed the jgrynspan/exit-tests-proposal branch 2 times, most recently from 6f0e7f0 to 875b870 Compare May 16, 2024 14:41
@grynspan grynspan force-pushed the jgrynspan/exit-tests-proposal branch from 875b870 to 4365611 Compare May 24, 2024 20:47
@grynspan grynspan force-pushed the jgrynspan/exit-tests-proposal branch from 4365611 to 7d25e07 Compare July 12, 2024 15:43
@grynspan
Copy link
Contributor Author

Rebased.

@grynspan grynspan removed the swift-6 label Jul 25, 2024
@grynspan grynspan force-pushed the jgrynspan/exit-tests-proposal branch from 23985d8 to 11b772d Compare April 8, 2025 04:40
@grynspan
Copy link
Contributor Author

@swift-ci test

@grynspan
Copy link
Contributor Author

@swift-ci test

@grynspan
Copy link
Contributor Author

@swift-ci test

@stmontgomery
Copy link
Contributor

@swift-ci please test

Copy link
Contributor

@iamleeg iamleeg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, now!

@stmontgomery
Copy link
Contributor

@swift-ci please test

@stmontgomery
Copy link
Contributor

The macOS CI failure is expected to be resolved by swiftlang/swift#80830, but the release of a new main snapshot toolchain is currently blocked for unrelated reasons.

@stmontgomery stmontgomery merged commit 099d177 into main May 1, 2025
2 of 3 checks passed
@stmontgomery stmontgomery deleted the jgrynspan/exit-tests-proposal branch May 1, 2025 15:56
@stmontgomery stmontgomery modified the milestones: Swift 6.x, Swift 6.2 May 2, 2025
stmontgomery added a commit that referenced this pull request May 7, 2025
…ability when building w/legacy driver (#1106)

This works around a Swift compiler bug which causes a failure validating
the generated .swiftinterface of the `Testing` module due to it having
macro declarations with `#if`-conditionalized `@available(...)`
attributes _before_ any other `@`-attributes.

The PR which recently landed to enable the Exit Tests feature (#324)
revealed this compiler bug — specifically, that PR removed `@_spi`
attributes which until then _preceded_ `#if SWT_NO_EXIT_TESTS`. The
workaround is to move other attributes on the affected macro
declarations up before the `#if`.

The compiler bug is being fixed in
swiftlang/swift#81346. It only appears to happen
when building with the legacy driver, and Android uses that driver
still. An example CI failure log can be found here:

>
https://github.com/thebrowsercompany/swift-build/actions/runs/14823859186/job/41615678071#step:32:72

### 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api-proposal API proposal PRs (documentation only) darwin 🍎 macOS, iOS, watchOS, tvOS, and visionOS support enhancement New feature or request exit-tests ☠️ Work related to exit tests freebsd 😈 FreeBSD support linux 🐧 Linux support (all distros) openbsd 🐡 OpenBSD support public-api Affects public API tools integration 🛠️ Integration of swift-testing into tools/IDEs windows 🪟 Windows support
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants