-
Notifications
You must be signed in to change notification settings - Fork 13.8k
compiletest: Remove old-output-capture and become a stage0 bootstrap tool #146929
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
Conversation
This PR modifies If appropriate, please update Some changes occurred in src/tools/compiletest cc @jieyouxu |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks really great, thank you for working on it! I'd wait maybe a few couple of days or until next week, but then I'm fine with merging this. jieyouxu will probably also want to take a look.
I would time this approx. next Monday, also we should wait for the bootstrap compiler bump next doors in #146636 |
@rustbot blocked (until next Monday) |
☔ The latest upstream changes (presumably #147104) made this pull request unmergeable. Please resolve the merge conflicts. |
This PR was rebased onto a different master commit. Here's a range-diff highlighting what actually changed. Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@bors r=Kobzol,jieyouxu rollup |
Rollup of 7 pull requests Successful merges: - #133477 (Detect tuple structs that are unconstructable due to re-export) - #146929 (compiletest: Remove old-output-capture and become a stage0 bootstrap tool) - #146979 (constify Default on Nanoseconds) - #147092 (Do not compute optimized MIR if code does not type-check.) - #147112 (all 48 keywords in just 300 characters) - #147122 (Fix some crash-test directives) - #147127 (Add a leading dash to linker plugin arguments in the gcc codegen) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of #146929 - Zalathar:capture, r=Kobzol,jieyouxu compiletest: Remove old-output-capture and become a stage0 bootstrap tool The new compiletest output-capture system became the default in #146574, and no problems have been reported since. This PR therefore removes the old output-capture implementation from compiletest, and adjusts bootstrap to always build and test compiletest as a stage0 bootstrap tool. In other words, compiletest no longer relies on any unstable features (such as `libtest` or `internal_output_capture`), and is now written entirely in stable Rust! The compiletest self-tests still need access to an in-tree rustc, in order to obtain information via `rustc --print`, so we interpret `--stage` as indicating the stage of that secondary compiler, but always use the stage0 compiler to build compiletest itself. r? Kobzol
… r=Zalathar,jieyouxu Remove usage of `compiletest-use-stage0-libtest` from CI It shouldn't be needed anymore after rust-lang#146929. r? `@Zalathar`
Rollup of 7 pull requests Successful merges: - rust-lang#133477 (Detect tuple structs that are unconstructable due to re-export) - rust-lang#146929 (compiletest: Remove old-output-capture and become a stage0 bootstrap tool) - rust-lang#146979 (constify Default on Nanoseconds) - rust-lang#147092 (Do not compute optimized MIR if code does not type-check.) - rust-lang#147112 (all 48 keywords in just 300 characters) - rust-lang#147122 (Fix some crash-test directives) - rust-lang#147127 (Add a leading dash to linker plugin arguments in the gcc codegen) r? `@ghost` `@rustbot` modify labels: rollup
The new compiletest output-capture system became the default in #146574, and no problems have been reported since.
This PR therefore removes the old output-capture implementation from compiletest, and adjusts bootstrap to always build and test compiletest as a stage0 bootstrap tool.
In other words, compiletest no longer relies on any unstable features (such as
libtest
orinternal_output_capture
), and is now written entirely in stable Rust!The compiletest self-tests still need access to an in-tree rustc, in order to obtain information via
rustc --print
, so we interpret--stage
as indicating the stage of that secondary compiler, but always use the stage0 compiler to build compiletest itself.r? Kobzol