From 1a8755384e20e5b90e591f665f7b4849941ed58e Mon Sep 17 00:00:00 2001 From: Ralf Jung Date: Sat, 7 Dec 2019 11:43:24 +0100 Subject: [PATCH 1/2] better way to ignore tests in Miri --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 92423c73c9ca..3156b4fa2418 100644 --- a/README.md +++ b/README.md @@ -79,13 +79,13 @@ interpreted program or test suite after the second `--`. For example, `cargo miri run -- -Zmiri-disable-validation` runs the program without validation of basic type invariants and without checking the aliasing of references. -When running code via `cargo miri`, the `miri` config flag is set. You can -use this to exclude test cases that will fail under Miri because they do things +When compiling code via `cargo miri`, the `miri` config flag is set. You can +use this to ignore test cases that will fail under Miri because they do things Miri does not support: ```rust -#[cfg(not(miri))] #[test] +#[cfg_attr(miri, ignore)] fn does_not_work_on_miri() { std::thread::spawn(|| println!("Hello Thread!")) .join() From b883c11caa4aa3dabd245b9a91168af1d44d236e Mon Sep 17 00:00:00 2001 From: Ralf Jung Date: Sat, 7 Dec 2019 11:55:19 +0100 Subject: [PATCH 2/2] use recommended test exclusion technique in test --- test-cargo-miri/test.stdout.ref | 5 +++-- test-cargo-miri/test.stdout.ref2 | 2 +- test-cargo-miri/test.stdout.ref3 | 2 +- test-cargo-miri/tests/test.rs | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/test-cargo-miri/test.stdout.ref b/test-cargo-miri/test.stdout.ref index 0ab948893b49..4260f5b3cb78 100644 --- a/test-cargo-miri/test.stdout.ref +++ b/test-cargo-miri/test.stdout.ref @@ -5,13 +5,14 @@ test test::rng ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out -running 6 tests +running 7 tests test do_panic ... ok +test does_not_work_on_miri ... ignored test entropy_rng ... ok test fail_index_check ... ok test num_cpus ... ok test simple1 ... ok test simple2 ... ok -test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out +test result: ok. 6 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out diff --git a/test-cargo-miri/test.stdout.ref2 b/test-cargo-miri/test.stdout.ref2 index 1dd4f70658d5..37efb8c3ee89 100644 --- a/test-cargo-miri/test.stdout.ref2 +++ b/test-cargo-miri/test.stdout.ref2 @@ -7,5 +7,5 @@ test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out running 1 test test simple1 ... ok -test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 5 filtered out +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 6 filtered out diff --git a/test-cargo-miri/test.stdout.ref3 b/test-cargo-miri/test.stdout.ref3 index af94192a12ca..c5c39de109d2 100644 --- a/test-cargo-miri/test.stdout.ref3 +++ b/test-cargo-miri/test.stdout.ref3 @@ -7,5 +7,5 @@ test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out running 1 test test num_cpus ... ok -test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 5 filtered out +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 6 filtered out diff --git a/test-cargo-miri/tests/test.rs b/test-cargo-miri/tests/test.rs index 76d3eeece5eb..4c196ef5e0f5 100644 --- a/test-cargo-miri/tests/test.rs +++ b/test-cargo-miri/tests/test.rs @@ -13,8 +13,8 @@ fn simple2() { } // A test that won't work on miri (tests disabling tests). -#[cfg(not(miri))] #[test] +#[cfg_attr(miri, ignore)] fn does_not_work_on_miri() { let x = 0u8; assert!(&x as *const _ as usize % 4 < 4);