Skip to content

Commit

Permalink
Rollup merge of #62346 - RalfJung:miri-tests, r=Centril
Browse files Browse the repository at this point in the history
enable a few more tests in Miri and update the comment for others
  • Loading branch information
Centril committed Jul 3, 2019
2 parents 839e89c + 4dd5edc commit 144ed02
Show file tree
Hide file tree
Showing 4 changed files with 4 additions and 8 deletions.
1 change: 0 additions & 1 deletion src/liballoc/tests/vec.rs
Original file line number Diff line number Diff line change
Expand Up @@ -761,7 +761,6 @@ fn from_into_inner() {
it.next().unwrap();
let vec = it.collect::<Vec<_>>();
assert_eq!(vec, [2, 3]);
#[cfg(not(miri))] // Miri does not support comparing dangling pointers
assert!(ptr != vec.as_ptr());
}

Expand Down
2 changes: 0 additions & 2 deletions src/libcore/tests/fmt/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ mod float;
mod num;

#[test]
#[cfg(not(miri))] // Miri cannot print pointers
fn test_format_flags() {
// No residual flags left by pointer formatting
let p = "".as_ptr();
Expand All @@ -13,7 +12,6 @@ fn test_format_flags() {
}

#[test]
#[cfg(not(miri))] // Miri cannot print pointers
fn test_pointer_formats_data_pointer() {
let b: &[u8] = b"";
let s: &str = "";
Expand Down
5 changes: 2 additions & 3 deletions src/libcore/tests/ptr.rs
Original file line number Diff line number Diff line change
Expand Up @@ -253,7 +253,6 @@ fn test_unsized_nonnull() {

#[test]
#[allow(warnings)]
#[cfg(not(miri))] // Miri cannot hash pointers
// Have a symbol for the test below. It doesn’t need to be an actual variadic function, match the
// ABI, or even point to an actual executable code, because the function itself is never invoked.
#[no_mangle]
Expand Down Expand Up @@ -293,7 +292,7 @@ fn write_unaligned_drop() {
}

#[test]
#[cfg(not(miri))] // Miri cannot compute actual alignment of an allocation
#[cfg(not(miri))] // 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 @@ -308,7 +307,7 @@ fn align_offset_zst() {
}

#[test]
#[cfg(not(miri))] // Miri cannot compute actual alignment of an allocation
#[cfg(not(miri))] // 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 Down
4 changes: 2 additions & 2 deletions src/libcore/tests/slice.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1415,7 +1415,7 @@ pub mod memchr {
}

#[test]
#[cfg(not(miri))] // Miri cannot compute actual alignment of an allocation
#[cfg(not(miri))] // 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 @@ -1439,7 +1439,7 @@ fn test_align_to_zst() {
}

#[test]
#[cfg(not(miri))] // Miri cannot compute actual alignment of an allocation
#[cfg(not(miri))] // 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 144ed02

Please sign in to comment.