Skip to content

Commit 8837684

Browse files
committed
Add test for libtest panic=abort mode
1 parent 8ae1ec6 commit 8837684

File tree

2 files changed

+65
-0
lines changed

2 files changed

+65
-0
lines changed

src/test/ui/test-panic-abort.rs

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
// no-prefer-dynamic
2+
// compile-flags: --test -Cpanic=abort
3+
// run-flags: --test-threads=1
4+
// run-fail
5+
// check-run-results
6+
7+
// ignore-wasm no panic or subprocess support
8+
// ignore-emscripten no panic or subprocess support
9+
10+
#![cfg(test)]
11+
12+
use std::io::Write;
13+
14+
#[test]
15+
fn it_works() {
16+
assert_eq!(1 + 1, 2);
17+
}
18+
19+
#[test]
20+
#[should_panic]
21+
fn it_panics() {
22+
assert_eq!(1 + 1, 4);
23+
}
24+
25+
#[test]
26+
fn it_fails() {
27+
println!("hello, world");
28+
writeln!(std::io::stdout(), "testing123").unwrap();
29+
writeln!(std::io::stderr(), "testing321").unwrap();
30+
assert_eq!(1 + 1, 5);
31+
}
32+
33+
#[test]
34+
fn it_exits() {
35+
std::process::exit(123);
36+
}
+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
2+
running 4 tests
3+
test it_exits ... FAILED
4+
test it_fails ... FAILED
5+
test it_panics ... ok
6+
test it_works ... ok
7+
8+
failures:
9+
10+
---- it_exits stdout ----
11+
---- it_exits stderr ----
12+
note: got unexpected return code 123
13+
---- it_fails stdout ----
14+
hello, world
15+
testing123
16+
---- it_fails stderr ----
17+
testing321
18+
thread 'main' panicked at 'assertion failed: `(left == right)`
19+
left: `2`,
20+
right: `5`', $DIR/test-panic-abort.rs:30:5
21+
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
22+
23+
24+
failures:
25+
it_exits
26+
it_fails
27+
28+
test result: FAILED. 2 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out
29+

0 commit comments

Comments
 (0)