fix spurious test failure with panic=abort
This commit is contained in:
parent
af9df2fd91
commit
d8fb568cf4
@ -6,10 +6,18 @@
|
||||
|
||||
extern crate weak_lang_items as other;
|
||||
|
||||
use std::thread;
|
||||
|
||||
fn main() {
|
||||
let _ = thread::spawn(move|| {
|
||||
let _ = std::thread::spawn(move || {
|
||||
// The goal of the test is just to make sure other::foo() is called. Since the function
|
||||
// panics, it's executed in its own thread. That way, the panic is isolated within the
|
||||
// thread and wont't affect the overall exit code.
|
||||
//
|
||||
// That causes a spurious failures in panic=abort targets though: if the program exits
|
||||
// before the thread is fully initialized the test will pass, but if the thread gets
|
||||
// executed first the whole program will abort. Adding a 60 seconds sleep will (hopefully!)
|
||||
// ensure the program always exits before the thread is executed.
|
||||
std::thread::sleep(std::time::Duration::from_secs(60));
|
||||
|
||||
other::foo()
|
||||
});
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user