Skip to content

Commit ad615b6

Browse files
committed
make test work cross-platform
1 parent 90111b8 commit ad615b6

4 files changed

+10
-31
lines changed

tests/fail/panic/thread_local_const_drop_panic.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
//@error-in-other-file: aborted execution
2+
// Backtraces vary wildly between platforms, we have to normalize away almost the entire thing.
3+
// Full backtraces avoid annoying empty line differences.
4+
//@compile-flags: -Zmiri-backtrace=full
5+
//@normalize-stderr-test: "'main'|'<unnamed>'" -> "$$NAME"
6+
//@normalize-stderr-test: ".*(note|-->|\|).*\n" -> ""
27

38
pub struct NoisyDrop {}
49

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,6 @@
1-
thread '<unnamed>' panicked at 'ow', $DIR/thread_local_const_drop_panic.rs:LL:CC
2-
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
1+
thread $NAME panicked at 'ow', $DIR/thread_local_const_drop_panic.rs:LL:CC
32
fatal runtime error: thread local panicked on drop
43
error: abnormal termination: the program aborted execution
5-
--> RUSTLIB/std/src/sys/PLATFORM/mod.rs:LL:CC
6-
|
7-
LL | unsafe { libc::abort() }
8-
| ^^^^^^^^^^^^^ the program aborted execution
9-
|
10-
= note: inside `std::sys::PLATFORM::abort_internal` at RUSTLIB/std/src/sys/PLATFORM/mod.rs:LL:CC
11-
= note: inside `<std::thread::local_impl::abort_on_dtor_unwind::DtorUnwindGuard as std::ops::Drop>::drop` at RUSTLIB/std/src/rt.rs:LL:CC
12-
= note: inside `std::ptr::drop_in_place::<std::thread::local_impl::abort_on_dtor_unwind::DtorUnwindGuard> - shim(Some(std::thread::local_impl::abort_on_dtor_unwind::DtorUnwindGuard))` at RUSTLIB/core/src/ptr/mod.rs:LL:CC
13-
= note: inside `RUSTLIB/std/src/sys/PLATFORM/thread_local/fast_local.rs:LL:CC]>` at RUSTLIB/std/src/sys/PLATFORM/thread_local/mod.rs:LL:CC
14-
note: inside `NOISY::__getit::destroy`
15-
--> $DIR/thread_local_const_drop_panic.rs:LL:CC
16-
|
17-
LL | / thread_local! {
18-
LL | | pub static NOISY: NoisyDrop = const { NoisyDrop {} };
19-
LL | | }
20-
| |_^
21-
= note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info)
22-
23-
note: some details are omitted, run with `MIRIFLAGS=-Zmiri-backtrace=full` for a verbose backtrace
244

255
error: aborting due to previous error
266

tests/fail/panic/thread_local_drop_panic.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
//@error-in-other-file: aborted execution
2+
// Backtraces vary wildly between platforms, we have to normalize away almost the entire thing
3+
//@normalize-stderr-test: "'main'|'<unnamed>'" -> "$$NAME"
4+
//@normalize-stderr-test: ".*(note|-->|\|).*\n" -> ""
25

36
pub struct NoisyDrop {}
47

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,6 @@
1-
thread '<unnamed>' panicked at 'ow', $DIR/thread_local_drop_panic.rs:LL:CC
2-
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
1+
thread $NAME panicked at 'ow', $DIR/thread_local_drop_panic.rs:LL:CC
32
fatal runtime error: thread local panicked on drop
43
error: abnormal termination: the program aborted execution
5-
--> RUSTLIB/std/src/sys/PLATFORM/mod.rs:LL:CC
6-
|
7-
LL | unsafe { libc::abort() }
8-
| ^^^^^^^^^^^^^ the program aborted execution
9-
|
10-
= note: inside `std::sys::PLATFORM::abort_internal` at RUSTLIB/std/src/sys/PLATFORM/mod.rs:LL:CC
11-
= note: inside `std::sys::PLATFORM::thread_local::fast_local::destroy_value::<NoisyDrop>` at RUSTLIB/std/src/rt.rs:LL:CC
12-
= note: inside `std::sys_common::thread_local_dtor::register_dtor_fallback::run_dtors` at RUSTLIB/std/src/sys_common/thread_local_dtor.rs:LL:CC
134

145
error: aborting due to previous error
156

0 commit comments

Comments
 (0)