add test that multi-threaded panics aren't interleaved
This commit is contained in:
parent
6e2780775f
commit
de14f1f932
15
tests/ui/backtrace/synchronized-panic-handler.rs
Normal file
15
tests/ui/backtrace/synchronized-panic-handler.rs
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
//@ run-pass
|
||||||
|
//@ check-run-results
|
||||||
|
//@ edition:2021
|
||||||
|
use std::thread;
|
||||||
|
const PANIC_MESSAGE: &str = "oops oh no woe is me";
|
||||||
|
|
||||||
|
fn entry() {
|
||||||
|
panic!("{PANIC_MESSAGE}")
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let (a, b) = (thread::spawn(entry), thread::spawn(entry));
|
||||||
|
assert_eq!(&**a.join().unwrap_err().downcast::<String>().unwrap(), PANIC_MESSAGE);
|
||||||
|
assert_eq!(&**b.join().unwrap_err().downcast::<String>().unwrap(), PANIC_MESSAGE);
|
||||||
|
}
|
5
tests/ui/backtrace/synchronized-panic-handler.run.stderr
Normal file
5
tests/ui/backtrace/synchronized-panic-handler.run.stderr
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
thread '<unnamed>' panicked at $DIR/synchronized-panic-handler.rs:thread '8<unnamed>:5' panicked at :
|
||||||
|
oops oh no woe is me$DIR/synchronized-panic-handler.rs
|
||||||
|
:note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
|
||||||
|
8:5:
|
||||||
|
oops oh no woe is me
|
Loading…
Reference in New Issue
Block a user