compiletest: Overhaul the code for running an incremental test revision#155768
Merged
rust-bors[bot] merged 1 commit intorust-lang:mainfrom Apr 28, 2026
Merged
compiletest: Overhaul the code for running an incremental test revision#155768rust-bors[bot] merged 1 commit intorust-lang:mainfrom
rust-bors[bot] merged 1 commit intorust-lang:mainfrom
Conversation
The main goals of this overhaul are: - Introduce a dedicated `IncrRevKind` enum for exhaustive matching. - Eliminate any dependency on `PassMode` and `FailMode`. - Use a single code path for all incremental revision kinds. Separating incremental tests from the existing pass/fail enums should make it easier to overhaul the implementation of pass/fail expectations in UI tests.
Collaborator
|
Some changes occurred in src/tools/compiletest cc @jieyouxu |
jieyouxu
approved these changes
Apr 28, 2026
Contributor
JonathanBrouwer
added a commit
to JonathanBrouwer/rust
that referenced
this pull request
Apr 28, 2026
compiletest: Overhaul the code for running an incremental test revision The main goals of this overhaul are: - Introduce a dedicated `IncrRevKind` enum for exhaustive matching. - Eliminate any dependency on `PassMode` and `FailMode`. - Use a single code path for all incremental revision kinds. Separating incremental tests from the existing pass/fail enums should make it easier to overhaul the implementation of pass/fail expectations in UI tests. --- Later on we might want to reintroduce more shared code paths for the different test modes, but for now the extra isolation makes it easier to clean up the individual modes. r? jieyouxu
rust-bors Bot
pushed a commit
that referenced
this pull request
Apr 28, 2026
…uwer Rollup of 12 pull requests Successful merges: - #151994 (switch to v0 mangling by default on stable) - #154325 (Tweak irrefutable let else warning output) - #155899 (`dlltool`: Set the working directory to workaround `--temp-prefix` bug) - #155273 (Lock stable_crate_ids once in create_crate_num) - #155361 (Document that CFI diverges from Rust wrt. ABI-compatibility rules) - #155692 (disable naked-dead-code-elimination test if no RET mnemonic is available) - #155747 (Update documentation for `wasm32-wali-linux-musl` after integrating n…) - #155768 (compiletest: Overhaul the code for running an incremental test revision) - #155907 (Handle hkl const closures) - #155910 (misc stuff from reading borrowck again :)) - #155913 (Delete the 12 year old fixme) - #155920 (remove review queue triagebot mentions)
JonathanBrouwer
added a commit
to JonathanBrouwer/rust
that referenced
this pull request
Apr 28, 2026
compiletest: Overhaul the code for running an incremental test revision The main goals of this overhaul are: - Introduce a dedicated `IncrRevKind` enum for exhaustive matching. - Eliminate any dependency on `PassMode` and `FailMode`. - Use a single code path for all incremental revision kinds. Separating incremental tests from the existing pass/fail enums should make it easier to overhaul the implementation of pass/fail expectations in UI tests. --- Later on we might want to reintroduce more shared code paths for the different test modes, but for now the extra isolation makes it easier to clean up the individual modes. r? jieyouxu
rust-bors Bot
pushed a commit
that referenced
this pull request
Apr 28, 2026
…uwer Rollup of 14 pull requests Successful merges: - #155850 (Only exclude the #155473 change for 1-byte bool-likes) - #155923 (Subtree sync for rustc_codegen_cranelift) - #151994 (switch to v0 mangling by default on stable) - #154325 (Tweak irrefutable let else warning output) - #155899 (`dlltool`: Set the working directory to workaround `--temp-prefix` bug) - #155273 (Lock stable_crate_ids once in create_crate_num) - #155361 (Document that CFI diverges from Rust wrt. ABI-compatibility rules) - #155692 (disable naked-dead-code-elimination test if no RET mnemonic is available) - #155747 (Update documentation for `wasm32-wali-linux-musl` after integrating n…) - #155768 (compiletest: Overhaul the code for running an incremental test revision) - #155907 (Handle hkl const closures) - #155910 (misc stuff from reading borrowck again :)) - #155913 (Delete the 12 year old fixme) - #155920 (remove review queue triagebot mentions)
rust-bors Bot
pushed a commit
that referenced
this pull request
Apr 28, 2026
…uwer Rollup of 14 pull requests Successful merges: - #155850 (Only exclude the #155473 change for 1-byte bool-likes) - #155923 (Subtree sync for rustc_codegen_cranelift) - #151994 (switch to v0 mangling by default on stable) - #154325 (Tweak irrefutable let else warning output) - #155899 (`dlltool`: Set the working directory to workaround `--temp-prefix` bug) - #155273 (Lock stable_crate_ids once in create_crate_num) - #155361 (Document that CFI diverges from Rust wrt. ABI-compatibility rules) - #155692 (disable naked-dead-code-elimination test if no RET mnemonic is available) - #155747 (Update documentation for `wasm32-wali-linux-musl` after integrating n…) - #155768 (compiletest: Overhaul the code for running an incremental test revision) - #155907 (Handle hkl const closures) - #155910 (misc stuff from reading borrowck again :)) - #155913 (Delete the 12 year old fixme) - #155920 (remove review queue triagebot mentions)
rust-bors Bot
pushed a commit
that referenced
this pull request
Apr 28, 2026
…uwer Rollup of 15 pull requests Successful merges: - #155923 (Subtree sync for rustc_codegen_cranelift) - #155930 (Sync from portable simd 2026 04 28) - #155850 (Only exclude the #155473 change for 1-byte bool-likes) - #151994 (switch to v0 mangling by default on stable) - #154325 (Tweak irrefutable let else warning output) - #155273 (Lock stable_crate_ids once in create_crate_num) - #155361 (Document that CFI diverges from Rust wrt. ABI-compatibility rules) - #155692 (disable naked-dead-code-elimination test if no RET mnemonic is available) - #155747 (Update documentation for `wasm32-wali-linux-musl` after integrating n…) - #155768 (compiletest: Overhaul the code for running an incremental test revision) - #155907 (Handle hkl const closures) - #155910 (misc stuff from reading borrowck again :)) - #155913 (Delete the 12 year old fixme) - #155920 (remove review queue triagebot mentions) - #155936 (Rename `SharedContext::emit_dyn_lint*` into `emit_lint*`)
rust-bors Bot
pushed a commit
that referenced
this pull request
Apr 28, 2026
…uwer Rollup of 15 pull requests Successful merges: - #155923 (Subtree sync for rustc_codegen_cranelift) - #155930 (Sync from portable simd 2026 04 28) - #155850 (Only exclude the #155473 change for 1-byte bool-likes) - #151994 (switch to v0 mangling by default on stable) - #154325 (Tweak irrefutable let else warning output) - #155273 (Lock stable_crate_ids once in create_crate_num) - #155361 (Document that CFI diverges from Rust wrt. ABI-compatibility rules) - #155692 (disable naked-dead-code-elimination test if no RET mnemonic is available) - #155747 (Update documentation for `wasm32-wali-linux-musl` after integrating n…) - #155768 (compiletest: Overhaul the code for running an incremental test revision) - #155907 (Handle hkl const closures) - #155910 (misc stuff from reading borrowck again :)) - #155913 (Delete the 12 year old fixme) - #155920 (remove review queue triagebot mentions) - #155936 (Rename `SharedContext::emit_dyn_lint*` into `emit_lint*`)
rust-timer
added a commit
that referenced
this pull request
Apr 28, 2026
Rollup merge of #155768 - Zalathar:incremental, r=jieyouxu compiletest: Overhaul the code for running an incremental test revision The main goals of this overhaul are: - Introduce a dedicated `IncrRevKind` enum for exhaustive matching. - Eliminate any dependency on `PassMode` and `FailMode`. - Use a single code path for all incremental revision kinds. Separating incremental tests from the existing pass/fail enums should make it easier to overhaul the implementation of pass/fail expectations in UI tests. --- Later on we might want to reintroduce more shared code paths for the different test modes, but for now the extra isolation makes it easier to clean up the individual modes. r? jieyouxu
github-actions Bot
pushed a commit
to rust-lang/rustc-dev-guide
that referenced
this pull request
Apr 30, 2026
…uwer Rollup of 15 pull requests Successful merges: - rust-lang/rust#155923 (Subtree sync for rustc_codegen_cranelift) - rust-lang/rust#155930 (Sync from portable simd 2026 04 28) - rust-lang/rust#155850 (Only exclude the rust-lang/rust#155473 change for 1-byte bool-likes) - rust-lang/rust#151994 (switch to v0 mangling by default on stable) - rust-lang/rust#154325 (Tweak irrefutable let else warning output) - rust-lang/rust#155273 (Lock stable_crate_ids once in create_crate_num) - rust-lang/rust#155361 (Document that CFI diverges from Rust wrt. ABI-compatibility rules) - rust-lang/rust#155692 (disable naked-dead-code-elimination test if no RET mnemonic is available) - rust-lang/rust#155747 (Update documentation for `wasm32-wali-linux-musl` after integrating n…) - rust-lang/rust#155768 (compiletest: Overhaul the code for running an incremental test revision) - rust-lang/rust#155907 (Handle hkl const closures) - rust-lang/rust#155910 (misc stuff from reading borrowck again :)) - rust-lang/rust#155913 (Delete the 12 year old fixme) - rust-lang/rust#155920 (remove review queue triagebot mentions) - rust-lang/rust#155936 (Rename `SharedContext::emit_dyn_lint*` into `emit_lint*`)
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.
The main goals of this overhaul are:
IncrRevKindenum for exhaustive matching.PassModeandFailMode.Separating incremental tests from the existing pass/fail enums should make it easier to overhaul the implementation of pass/fail expectations in UI tests.
Later on we might want to reintroduce more shared code paths for the different test modes, but for now the extra isolation makes it easier to clean up the individual modes.
r? jieyouxu