Split the test suite, through TestShards.jl - #32
Merged
Conversation
This suite ran as one job. It is now 16 units, split 4 ways by measured per-unit runtime. runtests.jl globs `test_*.jl` under test/ and includes each one, so a new file or a whole new directory is picked up by being on disk rather than by being added to the `dirs` list that used to sit here and could disagree with the tree. `dirs`, `FIG_BASE` and `PATHS` go with it: nothing in test/ referenced the latter two, and `dirs` was only the loop's own input. The split is not the only thing gained, and on a suite this size it may not be the main one. The reusable also checks that every unit ran EXACTLY once — a claim no unsharded run has to make and none was making — merges the shards' coverage into one upload, and merges their records into one ordered document. With no timing history the first run is round-robin and balances itself from the second push onward. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Contributor
|
📚 Docs preview: https://QAtlasHub.github.io/ParallelManager.jl/previews/PR32/ (updates on each push to this PR) |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
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.
This suite ran as one job. It is now 16 units, split 4 ways by measured per-unit runtime.
What changes
runtests.jlglobstest_*.jlundertest/and includes each one. A new file, or a whole new directory, is picked up by being on disk rather than by being added to thedirslist that used to sit here and could disagree with the tree.dirs,FIG_BASEandPATHSgo with it: nothing intest/referenced the latter two, anddirswas only the loop's own input.The split is not the only thing gained
On a suite this size it may not even be the main one. The reusable also:
With no timing history the first run is round-robin and balances itself from the second push onward.
Notes
shards: 4is a starting point. The diagnosis printed on every run names the knee for this suite — read it and set what it says rather than keeping the number out of inertia.registries: Generalalso refreshes: a registry present but stale resolves fine while failing to see anything published since it was last pulled.Refs QAtlasHub/TestShards.jl#13.
🤖 Generated with Claude Code