Update rpass tests for panic hooks

This commit is contained in:
Steven Fackler 2016-03-15 20:38:58 -07:00
parent 157e1bc681
commit 50fda1eead
3 changed files with 22 additions and 22 deletions

View File

@ -17,12 +17,12 @@ static A: AtomicUsize = AtomicUsize::new(0);
static B: AtomicUsize = AtomicUsize::new(0);
fn main() {
panic::set_handler(|_| { A.fetch_add(1, Ordering::SeqCst); });
let handler = panic::take_handler();
panic::set_handler(move |info| {
panic::set_hook(Box::new(|_| { A.fetch_add(1, Ordering::SeqCst); }));
let hook = panic::take_hook();
panic::set_hook(Box::new(move |info| {
B.fetch_add(1, Ordering::SeqCst);
handler(info);
});
hook(info);
}));
let _ = thread::spawn(|| {
panic!();

View File

@ -15,28 +15,28 @@ use std::panic;
use std::thread;
fn a() {
panic::set_handler(|_| println!("hello yes this is a"));
panic::take_handler();
panic::set_handler(|_| println!("hello yes this is a part 2"));
panic::take_handler();
panic::set_hook(Box::new(|_| println!("hello yes this is a")));
panic::take_hook();
panic::set_hook(Box::new(|_| println!("hello yes this is a part 2")));
panic::take_hook();
}
fn b() {
panic::take_handler();
panic::take_handler();
panic::take_handler();
panic::take_handler();
panic::take_handler();
panic::take_hook();
panic::take_hook();
panic::take_hook();
panic::take_hook();
panic::take_hook();
panic!();
}
fn c() {
panic::set_handler(|_| ());
panic::set_handler(|_| ());
panic::set_handler(|_| ());
panic::set_handler(|_| ());
panic::set_handler(|_| ());
panic::set_handler(|_| ());
panic::set_hook(Box::new(|_| ()));
panic::set_hook(Box::new(|_| ()));
panic::set_hook(Box::new(|_| ()));
panic::set_hook(Box::new(|_| ()));
panic::set_hook(Box::new(|_| ()));
panic::set_hook(Box::new(|_| ()));
panic!();
}

View File

@ -18,8 +18,8 @@ use std::thread;
static A: AtomicUsize = AtomicUsize::new(0);
fn main() {
panic::set_handler(|_| ());
panic::set_handler(|info| { A.fetch_add(1, Ordering::SeqCst); });
panic::set_hook(Box::new(|_| ()));
panic::set_hook(Box::new(|info| { A.fetch_add(1, Ordering::SeqCst); }));
let _ = thread::spawn(|| {
panic!();