Skip to content

Commit

Permalink
libcore: ignore tests in Miri instead of removing them entirely
Browse files Browse the repository at this point in the history
  • Loading branch information
RalfJung committed Dec 7, 2019
1 parent 0a953cd commit 7ba1232
Show file tree
Hide file tree
Showing 6 changed files with 11 additions and 13 deletions.
4 changes: 2 additions & 2 deletions src/libcore/tests/num/dec2flt/mod.rs
Expand Up @@ -53,7 +53,7 @@ fn large() {
}

#[test]
#[cfg(not(miri))] // Miri is too slow
#[cfg_attr(miri, ignore)] // Miri is too slow
fn subnormals() {
test_literal!(5e-324);
test_literal!(91e-324);
Expand All @@ -65,7 +65,7 @@ fn subnormals() {
}

#[test]
#[cfg(not(miri))] // Miri is too slow
#[cfg_attr(miri, ignore)] // Miri is too slow
fn infinity() {
test_literal!(1e400);
test_literal!(1e309);
Expand Down
2 changes: 0 additions & 2 deletions src/libcore/tests/num/flt2dec/mod.rs
Expand Up @@ -256,7 +256,6 @@ pub fn f32_shortest_sanity_test<F>(mut f: F) where F: FnMut(&Decoded, &mut [u8])
check_shortest!(f(minf32) => b"1", -44);
}

#[cfg(not(miri))] // Miri is too slow
pub fn f32_exact_sanity_test<F>(mut f: F)
where F: FnMut(&Decoded, &mut [u8], i16) -> (usize, i16) {
let minf32 = ldexp_f32(1.0, -149);
Expand Down Expand Up @@ -362,7 +361,6 @@ pub fn f64_shortest_sanity_test<F>(mut f: F) where F: FnMut(&Decoded, &mut [u8])
check_shortest!(f(minf64) => b"5", -323);
}

#[cfg(not(miri))] // Miri is too slow
pub fn f64_exact_sanity_test<F>(mut f: F)
where F: FnMut(&Decoded, &mut [u8], i16) -> (usize, i16) {
let minf64 = ldexp_f64(1.0, -1074);
Expand Down
2 changes: 1 addition & 1 deletion src/libcore/tests/num/flt2dec/strategy/dragon.rs
Expand Up @@ -22,7 +22,7 @@ fn shortest_sanity_test() {
}

#[test]
#[cfg(not(miri))] // Miri is too slow
#[cfg_attr(miri, ignore)] // Miri is too slow
fn exact_sanity_test() {
// This test ends up running what I can only assume is some corner-ish case
// of the `exp2` library function, defined in whatever C runtime we're
Expand Down
2 changes: 1 addition & 1 deletion src/libcore/tests/num/flt2dec/strategy/grisu.rs
Expand Up @@ -36,7 +36,7 @@ fn shortest_sanity_test() {
}

#[test]
#[cfg(not(miri))] // Miri is too slow
#[cfg_attr(miri, ignore)] // Miri is too slow
fn exact_sanity_test() {
// See comments in dragon.rs's exact_sanity_test for why this test is
// ignored on MSVC
Expand Down
6 changes: 3 additions & 3 deletions src/libcore/tests/ptr.rs
Expand Up @@ -291,7 +291,7 @@ fn write_unaligned_drop() {
}

#[test]
#[cfg(not(miri))] // Miri does not compute a maximal `mid` for `align_offset`
#[cfg_attr(miri, ignore)] // Miri does not compute a maximal `mid` for `align_offset`
fn align_offset_zst() {
// For pointers of stride = 0, the pointer is already aligned or it cannot be aligned at
// all, because no amount of elements will align the pointer.
Expand All @@ -306,7 +306,7 @@ fn align_offset_zst() {
}

#[test]
#[cfg(not(miri))] // Miri does not compute a maximal `mid` for `align_offset`
#[cfg_attr(miri, ignore)] // Miri does not compute a maximal `mid` for `align_offset`
fn align_offset_stride1() {
// For pointers of stride = 1, the pointer can always be aligned. The offset is equal to
// number of bytes.
Expand All @@ -323,7 +323,7 @@ fn align_offset_stride1() {
}

#[test]
#[cfg(not(miri))] // Miri is too slow
#[cfg_attr(miri, ignore)] // Miri is too slow
fn align_offset_weird_strides() {
#[repr(packed)]
struct A3(u16, u8);
Expand Down
8 changes: 4 additions & 4 deletions src/libcore/tests/slice.rs
Expand Up @@ -1172,7 +1172,7 @@ fn test_rotate_right() {
}

#[test]
#[cfg(not(miri))] // Miri is too slow
#[cfg_attr(miri, ignore)] // Miri is too slow
fn brute_force_rotate_test_0() {
// In case of edge cases involving multiple algorithms
let n = 300;
Expand Down Expand Up @@ -1291,7 +1291,7 @@ fn sort_unstable() {

#[test]
#[cfg(not(target_arch = "wasm32"))]
#[cfg(not(miri))] // Miri is too slow
#[cfg_attr(miri, ignore)] // Miri is too slow
fn partition_at_index() {
use core::cmp::Ordering::{Equal, Greater, Less};
use rand::rngs::StdRng;
Expand Down Expand Up @@ -1494,7 +1494,7 @@ pub mod memchr {
}

#[test]
#[cfg(not(miri))] // Miri does not compute a maximal `mid` for `align_offset`
#[cfg_attr(miri, ignore)] // Miri does not compute a maximal `mid` for `align_offset`
fn test_align_to_simple() {
let bytes = [1u8, 2, 3, 4, 5, 6, 7];
let (prefix, aligned, suffix) = unsafe { bytes.align_to::<u16>() };
Expand All @@ -1518,7 +1518,7 @@ fn test_align_to_zst() {
}

#[test]
#[cfg(not(miri))] // Miri does not compute a maximal `mid` for `align_offset`
#[cfg_attr(miri, ignore)] // Miri does not compute a maximal `mid` for `align_offset`
fn test_align_to_non_trivial() {
#[repr(align(8))] struct U64(u64, u64);
#[repr(align(8))] struct U64U64U32(u64, u64, u32);
Expand Down

0 comments on commit 7ba1232

Please sign in to comment.