avoid confusing loop in catch_panic test

This commit is contained in:
Ralf Jung 2023-10-10 09:46:10 +02:00
parent aaba0a5806
commit d3b761a772

View file

@ -5,6 +5,7 @@
use std::cell::Cell;
use std::panic::{catch_unwind, AssertUnwindSafe};
use std::process;
thread_local! {
static MY_COUNTER: Cell<usize> = Cell::new(0);
@ -62,26 +63,26 @@ fn main() {
// Built-in panics; also make sure the message is right.
test(Some("index out of bounds: the len is 3 but the index is 4"), |_old_val| {
let _val = [0, 1, 2][4];
loop {}
process::abort()
});
test(Some("attempt to divide by zero"), |_old_val| {
let _val = 1 / 0;
loop {}
process::abort()
});
test(Some("align_offset: align is not a power-of-two"), |_old_val| {
let _ = std::ptr::null::<u8>().align_offset(3);
loop {}
process::abort()
});
// Assertion and debug assertion
test(None, |_old_val| {
assert!(false);
loop {}
process::abort()
});
test(None, |_old_val| {
debug_assert!(false);
loop {}
process::abort()
});
eprintln!("Success!"); // Make sure we get this in stderr