diff --git a/src/liballoc/tests/binary_heap.rs b/src/liballoc/tests/binary_heap.rs index 81b22ca815b25..a896a1064d9e1 100644 --- a/src/liballoc/tests/binary_heap.rs +++ b/src/liballoc/tests/binary_heap.rs @@ -376,7 +376,10 @@ fn panic_safe() { } let mut rng = thread_rng(); const DATASZ: usize = 32; + #[cfg(not(miri))] // Miri is too slow const NTEST: usize = 10; + #[cfg(miri)] + const NTEST: usize = 1; // don't use 0 in the data -- we want to catch the zeroed-out case. let data = (1..=DATASZ).collect::>(); diff --git a/src/liballoc/tests/slice.rs b/src/liballoc/tests/slice.rs index 6433cbd1842d7..d9707b9574078 100644 --- a/src/liballoc/tests/slice.rs +++ b/src/liballoc/tests/slice.rs @@ -1605,12 +1605,17 @@ fn panic_safe() { let mut rng = thread_rng(); #[cfg(not(miri))] // Miri is too slow - let large_range = 70..MAX_LEN; + let lens = (1..20).chain(70..MAX_LEN); + #[cfg(not(miri))] // Miri is too slow + let moduli = &[5, 20, 50]; + #[cfg(miri)] - let large_range = 0..0; // empty range + let lens = (1..13); + #[cfg(miri)] + let moduli = &[10]; - for len in (1..20).chain(large_range) { - for &modulus in &[5, 20, 50] { + for len in lens { + for &modulus in moduli { for &has_runs in &[false, true] { let mut input = (0..len) .map(|id| { @@ -1643,6 +1648,9 @@ fn panic_safe() { } } } + + // Set default panic hook again. + drop(panic::take_hook()); } #[test]