Repository navigation
docs: say how to serialize attribution runs and list the limitations - #16
Merged
Merged
Conversation
esnunes
added a commit
that referenced
this pull request
Oct 4, 2026
The message before this PR printed them, and they are what diagnosed #16's failure: they showed the iOS platform installed with no simulator on it. The lookup now returns them alongside the simulator it found. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
esnunes
added a commit
that referenced
this pull request
Oct 4, 2026
#16's Test on macOS failed on a tuist-macos-26-3 runner whose image has the iOS simulator runtime but no simulators: Xcode listed only the "Any iOS Simulator Device" placeholder. #18 had passed on another runner of the same profile that did have them. When Xcode lists no iPhone, the test now creates one with simctl on the newest iOS runtime installed, using an iPhone model it supports, and asks Xcode again. execute now returns standard output, kept apart from standard error, which drops the temporary log files its callers managed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
esnunes
added a commit
that referenced
this pull request
Oct 4, 2026
The message before this PR printed them, and they are what diagnosed #16's failure: they showed the iOS platform installed with no simulator on it. The lookup now returns them alongside the simulator it found. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- `.serialized` orders only its own suite: Swift Testing still runs other suites in parallel, so their tests come out overlapped. Say to turn parallel testing off for the run instead (`swift test --no-parallel`, `-parallel-testing-enabled NO`), which both serialize Swift Testing too. The trait's doc comment says the same. - Use `mktemp -d` in the examples rather than a fixed path in /tmp. - The coverage-report guarantee covers SwiftPM as well as Xcode. - Records are in the host's byte order, little-endian on Apple platforms. - Note the Objective-C runtime's harmless duplicate-class warning when two copies load. - A Limitations section: XCTest and Swift Testing run one after the other, UI tests record nothing about the app, late-loaded images aren't observed, and the package's own code shows up in the records. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Inlining "$(mktemp -d)" into the command threw the path away, so the reader couldn't find what was recorded. The examples now keep it in a variable and list it, with parallel testing off as the text advises. - The Usage example no longer shows `.serialized`, which the text right below says isn't enough. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Review item 20. Each change below was checked against the code or a run before writing it.
Serializing runs
The README suggested
.serializedon suites. It isn't enough:.serializedorders only the tests of its own suite and nested suites, and Swift Testing still runs other suites in parallel. Two.serializedsuites whose tests wait on each other through gates ran at the same time, and both records came out overlapped.The README now says to turn off parallel testing for the run, and the Usage example drops
.serialized. With either flag, theFixtures/Concurrencygated tests run one at a time and both records are clean:swift test --no-parallelxcodebuild test -parallel-testing-enabled NOThe trait's doc comment says the same.
Other changes
mktemp -dinstead of a fixed/tmp/attribution(review item 16). The path is kept in a variable and listed afterwards, and parallel testing is off in both commands. I ran theswift testone as written againstFixtures/Example: it records into one directory per test process.xccovcomparison showed Xcode's report unchanged.Not changed: the install line stays on
branch: "main"until there's a release tag (review items 22–23).mise run lintpasses.Code review
Fixed:
$(mktemp -d). It lost the output path, so readers couldn't find their records..serializedin the Usage example. It contradicted the new text.Not changed:
🤖 Generated with Claude Code