File tree 1 file changed +11
-3
lines changed
1 file changed +11
-3
lines changed Original file line number Diff line number Diff line change 6
6
7
7
extern crate weak_lang_items as other;
8
8
9
- use std:: thread;
10
-
11
9
fn main ( ) {
12
- let _ = thread:: spawn ( move || {
10
+ let _ = std:: thread:: spawn ( move || {
11
+ // The goal of the test is just to make sure other::foo() is called. Since the function
12
+ // panics, it's executed in its own thread. That way, the panic is isolated within the
13
+ // thread and wont't affect the overall exit code.
14
+ //
15
+ // That causes a spurious failures in panic=abort targets though: if the program exits
16
+ // before the thread is fully initialized the test will pass, but if the thread gets
17
+ // executed first the whole program will abort. Adding a 60 seconds sleep will (hopefully!)
18
+ // ensure the program always exits before the thread is executed.
19
+ std:: thread:: sleep ( std:: time:: Duration :: from_secs ( 60 ) ) ;
20
+
13
21
other:: foo ( )
14
22
} ) ;
15
23
}
You can’t perform that action at this time.
0 commit comments