Make bootstrap self test parallel by Shourya742 · Pull Request #146155 · rust-lang/rust (original) (raw)
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 andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Conversation11 Commits3 Checks10 Files changed
Conversation
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
[ Show hidden characters]({{ revealButtonHref }})
This PR refactors the bootstrap self test:
- Replaced the hardcoded --test-threads=1 with std::thread::available_parallelism(), allowing tests to run with the maximum concurrency supported by the system.
- Replaced custom hacks around OUT_DIR with TempDir and introduced TestCtx to simplify configuration setup.
r? @Kobzol
Use std::thread::available_parallelism() instead of hardcoded --test-threads=1 in bootstrap tests.
rustbot added A-testsuite
Area: The testsuite used to check the correctness of rustc
Status: Awaiting review from the assignee but also interested parties.
Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
labels
Kobzol left a comment • Loading
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Eventually it would be great to get rid of all usages of Config::parse from tests, except for the one in TestCtx.
Thanks! You can r=me once CI is green.
@bors delegate+
✌️ @Shourya742, you can now approve this pull request!
If @Kobzol told you to "r=me" after making some further change, please make that change, then do @bors r=@Kobzol
📌 Commit 9f3fe40 has been approved by Kobzol
It is now in the queue for this repository.
bors added S-waiting-on-bors
Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
and removed S-waiting-on-review
Status: Awaiting review from the assignee but also interested parties.
labels
Comment on lines -3297 to -3298
| // bootstrap tests are racy on directory creation so just run them one at a time. |
|---|
| // Since there's not many this shouldn't be a problem. |
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This implies that tests no longer racy?
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We have attempted to remove all racy tests. If we find any more on CI, we should fix them, rather than making the test execution serial.
bors added a commit that referenced this pull request
Rollup of 24 pull requests
Successful merges:
- #140459 (Add
read_bufequivalents for positioned reads) - #143725 (core: add Peekable::next_if_map)
- #145209 (Stabilize
path_add_extension) - #145342 (fix drop scope for
super letbindings withinif let) - #145750 (raw_vec.rs: Remove superfluous fn alloc_guard)
- #145827 (On unused binding or binding not present in all patterns, suggest potential typo of unit struct/variant or const)
- #145932 (Allow
inline(always)with a target feature behind a unstable featuretarget_feature_inline_always.) - #145962 (Ensure we emit an allocator shim when only some crate types need one)
- #145963 (Add LSX accelerated implementation for source file analysis)
- #146054 (add
#[must_use]toarray::repeat) - #146090 (Derive
PartialEqforInvisibleOrigin) - #146112 (don't uppercase error messages)
- #146120 (Correct typo in
rustc_errorscomment) - #146124 (Test
rustc-devindistcheck) - #146127 (Rename
ToolRustctoToolRustcPrivate) - #146131 (rustdoc-search: add test case for indexing every item type)
- #146134 (llvm: nvptx: Layout update to match LLVM)
- #146136 (docs(std): add missing closing code block fences in doc comments)
- #146137 (Disallow frontmatter in
--cfgand--check-cfgarguments) - #146140 (compiletest: cygwin follows windows in using PATH for dynamic libraries)
- #146150 (fix(rustdoc): match rustc
--emitprecedence ) - #146155 (Make bootstrap self test parallel)
- #146161 ([rustdoc] Uncomment code to add scraped rustdoc examples in loaded paths)
- #146172 (triagebot: configure some pings when certain attributes are used)
r? @ghost
@rustbot modify labels: rollup
rust-timer added a commit that referenced this pull request
Rollup merge of #146155 - Shourya742:2025-09-03-make-test-run-parallel, r=Kobzol
Make bootstrap self test parallel
This PR refactors the bootstrap self test:
- Replaced the hardcoded --test-threads=1 with std::thread::available_parallelism(), allowing tests to run with the maximum concurrency supported by the system.
- Replaced custom hacks around OUT_DIR with TempDir and introduced TestCtx to simplify configuration setup.
r? @Kobzol
github-actions bot pushed a commit to rust-lang/miri that referenced this pull request
github-actions bot pushed a commit to rust-lang/rustc-dev-guide that referenced this pull request
github-actions bot pushed a commit to model-checking/verify-rust-std that referenced this pull request
Labels
Area: The testsuite used to check the correctness of rustc
Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)