fix default-backtrace-ice test
when running `tests/ui/panics/default-backtrace-ice.rs locally it gave this error: ``` failures: ---- [ui] tests/ui/panics/default-backtrace-ice.rs stdout ---- Saved the actual stderr to "/home/jyn/src/rust3/build/x86_64-unknown-linux-gnu/test/ui/panics/default-backtrace-ice/default-backtrace-ice.stderr" diff of stderr: 7 8 aborting due to `-Z treat-err-as-bug=1` 9 stack backtrace: - (end_short_backtrace) - (begin_short_backtrace) - (end_short_backtrace) - (begin_short_backtrace) + [... omitted 22 frames ...] + ``` this is a regression from setting RUST_BACKTRACE=1 by default. we need to turn off the new behavior when running UI tests so that they reflect our dist compiler. normally that's done by checking `sess.unstable_opts.ui_testing`, but this happens extremely early in the compiler before we've expanded arg files. do an extremely simple hack that doesn't work in all cases - we don't need it to work in all cases, only when running UI tests.
This commit is contained in:
parent
c7a28d579b
commit
801c1d8b90
3 changed files with 6 additions and 2 deletions
|
@ -1388,7 +1388,9 @@ pub fn install_ice_hook(
|
|||
// opt in to less-verbose backtraces by manually setting "RUST_BACKTRACE"
|
||||
// (e.g. `RUST_BACKTRACE=1`)
|
||||
if env::var_os("RUST_BACKTRACE").is_none() {
|
||||
if env!("CFG_RELEASE_CHANNEL") == "dev" {
|
||||
// HACK: this check is extremely dumb, but we don't really need it to be smarter since this should only happen in the test suite anyway.
|
||||
let ui_testing = std::env::args().any(|arg| arg == "-Zui-testing");
|
||||
if env!("CFG_RELEASE_CHANNEL") == "dev" && !ui_testing {
|
||||
panic::set_backtrace_style(panic::BacktraceStyle::Short);
|
||||
} else {
|
||||
panic::set_backtrace_style(panic::BacktraceStyle::Full);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue