diff options
| author | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2025-07-20 15:34:06 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-20 15:34:06 +0200 |
| commit | cb6542e7e344dacada3f76070bb6754c562ab438 (patch) | |
| tree | cffbcb5e27f011795abd03dd642b50428308bf39 | |
| parent | 2a4a4112b3a40136d5fbd72bb50aedaff0aecb7f (diff) | |
| parent | cadcc1ce7137e63c70740e6cc3897557094382af (diff) | |
| download | rust-cb6542e7e344dacada3f76070bb6754c562ab438.tar.gz rust-cb6542e7e344dacada3f76070bb6754c562ab438.zip | |
Rollup merge of #144112 - Enselic:no-debuginfo-in-codegen, r=Mark-Simulacrum
bootstrap: Ignore `rust.debuginfo-level-tests` for codegen tests
As dicussed in https://github.com/rust-lang/rust/issues/61117#issuecomment-495587364, codegen tests typically depend on the raw LLVM IR output and are sensitive to debuginfo level. So do not apply `rust.debuginfo-level-tests` for codegen tests.
Before this commit:
$ ./x test --set rust.debuginfo-level-tests=2 tests/codegen --force-rerun
test result: FAILED. 654 passed; 136 failed; 75 ignored; 0 measured; 0 filtered out; finished in 3.22s
After this commit:
$ ./x test --set rust.debuginfo-level-tests=2 tests/codegen --force-rerun
NOTE: ignoring `rust.debuginfo-level-tests=2` for codegen tests
test result: ok. 790 passed; 0 failed; 75 ignored; 0 measured; 0 filtered out; finished in 3.21s
### Run this in CI?
Maybe it will make sense to add this to CI later but I think it is too early to do now before more non-codegen tests work with `rust.debuginfo-level-tests=2`.
| -rw-r--r-- | src/bootstrap/src/core/build_steps/test.rs | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/bootstrap/src/core/build_steps/test.rs b/src/bootstrap/src/core/build_steps/test.rs index 09933c0a6eb..00134177966 100644 --- a/src/bootstrap/src/core/build_steps/test.rs +++ b/src/bootstrap/src/core/build_steps/test.rs @@ -1810,7 +1810,24 @@ NOTE: if you're sure you want to do this, please open an issue as to why. In the } let mut flags = if is_rustdoc { Vec::new() } else { vec!["-Crpath".to_string()] }; - flags.push(format!("-Cdebuginfo={}", builder.config.rust_debuginfo_level_tests)); + flags.push(format!( + "-Cdebuginfo={}", + if suite == "codegen" { + // codegen tests typically check LLVM IR and are sensitive to additional debuginfo. + // So do not apply `rust.debuginfo-level-tests` for codegen tests. + if builder.config.rust_debuginfo_level_tests + != crate::core::config::DebuginfoLevel::None + { + println!( + "NOTE: ignoring `rust.debuginfo-level-tests={}` for codegen tests", + builder.config.rust_debuginfo_level_tests + ); + } + crate::core::config::DebuginfoLevel::None + } else { + builder.config.rust_debuginfo_level_tests + } + )); flags.extend(builder.config.cmd.compiletest_rustc_args().iter().map(|s| s.to_string())); if suite != "mir-opt" { |
