Reviews are an important part of the Swift evolution process. All review feedback should be either on this forum thread or, if you would like to keep your feedback private, directly to the review manager. When messaging the review manager directly, please keep the proposal link at the top of the message.
What goes into a review?
The goal of the review process is to improve the proposal under review
through constructive criticism and, eventually, determine the direction of
Swift. When writing your review, here are some questions you might want to
answer in your review:
What is your evaluation of the proposal?
Is the problem being addressed significant enough to warrant a change to Swift?
Does this proposal fit well with the feel and direction of Swift?
If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?
How much effort did you put into your review? A glance, a quick reading, or an in-depth study?
More information about the Swift evolution process is available at
This feels like it's getting into "that proposal review could have been a pull request" territory, because the proposed behavior is obviously how it should work. But I get since it impacts user-facing behavior, yada yada yada...
% swift test
...
◇ Test run started.
↳ Testing Library Version: 6.4-dev (ec33e00)
◇ Test failsAlways() started.
◇ Test succeedsAlways() started.
✔ Test succeedsAlways() passed after 0.001 seconds.
✘ Test failsAlways() recorded an issue at PackageTestExampleTests.swift:5:5: Expectation failed: 1 == 2
↳ 1 == 2 → false
◇ Test failsAlways() started (repetition 2).
✘ Test failsAlways() recorded an issue at PackageTestExampleTests.swift:5:5: Expectation failed: 1 == 2
↳ 1 == 2 → false
◇ Test failsAlways() started (repetition 3).
✘ Test failsAlways() recorded an issue at PackageTestExampleTests.swift:5:5: Expectation failed: 1 == 2
↳ 1 == 2 → false
✘ Test failsAlways() failed after 0.001 seconds with 1 issue.
✘ Test run with 2 tests in 0 suites failed after 0.001 seconds with 1 issue.
Note that on this branch, all SwiftPM tests are opted in to repetition on failure, with a maximum retry count of 3 (because SwiftPM currently does not pass --repetitions to Swift Testing)
So, does this proposal include adding those options to SwiftPM or are they a future direction? Because it sounds like to use this feature effectively they need to be formally added, but the text of the proposal is a bit handwavey (he says with great respect, of course!)
We should make sure the documentation for these flags is clear re: XCTest support. I know Xcode test plans have analogous functionality, but I don't think it's available from the command-line interfaces SwiftPM wraps, and I don't think it's implemented in corelibs-xctest.