about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2022-07-21 15:00:08 +0000
committerbors <bors@rust-lang.org>2022-07-21 15:00:08 +0000
commit46d309f4243992c7708cd967ec8ef56e2e1b4553 (patch)
treefa6861741a7231e256fad05df97508a8dad2e119
parented76d20afd7f78dadb9b213389c679952bf77ae5 (diff)
parent5e4b64645712b0cefd3de751907d00210f735ed0 (diff)
downloadrust-46d309f4243992c7708cd967ec8ef56e2e1b4553.tar.gz
rust-46d309f4243992c7708cd967ec8ef56e2e1b4553.zip
Auto merge of #2408 - RalfJung:deps, r=oli-obk
make test-cargo-miri only about cargo

Move the things that actually test dependency behavior into the regular test suite, now that we can do that. :)
-rw-r--r--test-cargo-miri/Cargo.lock108
-rw-r--r--test-cargo-miri/Cargo.toml3
-rw-r--r--test-cargo-miri/cdylib/Cargo.toml2
-rwxr-xr-xtest-cargo-miri/run-test.py2
-rw-r--r--test-cargo-miri/src/main.rs11
-rw-r--r--test-cargo-miri/test.bin-target.stdout.ref2
-rw-r--r--test-cargo-miri/test.cross-target.stdout.ref6
-rw-r--r--test-cargo-miri/test.default.stdout.ref6
-rw-r--r--test-cargo-miri/test.filter.cross-target.stdout.ref4
-rw-r--r--test-cargo-miri/test.filter.stdout.ref4
-rw-r--r--test-cargo-miri/test.test-target.stdout.ref10
-rw-r--r--test-cargo-miri/tests/test.rs50
-rw-r--r--test_dependencies/Cargo.lock11
-rw-r--r--test_dependencies/Cargo.toml1
-rw-r--r--tests/fail/crates/tokio_mvp.rs (renamed from tests/fail/tokio_mvp.rs)0
-rw-r--r--tests/fail/crates/tokio_mvp.stderr (renamed from tests/fail/tokio_mvp.stderr)0
-rw-r--r--tests/pass/crates/page_size.rs6
-rw-r--r--tests/pass/crates/random.rs (renamed from tests/pass/random.rs)0
18 files changed, 67 insertions, 159 deletions
diff --git a/test-cargo-miri/Cargo.lock b/test-cargo-miri/Cargo.lock
index 4cf58d723a2..3f61fb3d540 100644
--- a/test-cargo-miri/Cargo.lock
+++ b/test-cargo-miri/Cargo.lock
@@ -4,6 +4,12 @@ version = 3
 
 [[package]]
 name = "byteorder"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fc10e8cc6b2580fda3f36eb6dc5316657f812a3df879a44a66fc9f0fdbc4855"
+
+[[package]]
+name = "byteorder"
 version = "1.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
@@ -12,7 +18,8 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
 name = "cargo-miri-test"
 version = "0.1.0"
 dependencies = [
- "byteorder",
+ "byteorder 0.5.3",
+ "byteorder 1.4.3",
  "cdylib",
  "exported_symbol",
  "issue_1567",
@@ -20,8 +27,6 @@ dependencies = [
  "issue_1705",
  "issue_1760",
  "issue_rust_86261",
- "page_size",
- "rand",
  "serde_derive",
 ]
 
@@ -29,16 +34,10 @@ dependencies = [
 name = "cdylib"
 version = "0.1.0"
 dependencies = [
- "byteorder",
+ "byteorder 1.4.3",
 ]
 
 [[package]]
-name = "cfg-if"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-
-[[package]]
 name = "exported_symbol"
 version = "0.1.0"
 dependencies = [
@@ -50,17 +49,6 @@ name = "exported_symbol_dep"
 version = "0.1.0"
 
 [[package]]
-name = "getrandom"
-version = "0.2.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6"
-dependencies = [
- "cfg-if",
- "libc",
- "wasi",
-]
-
-[[package]]
 name = "hermit-abi"
 version = "0.1.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -73,7 +61,7 @@ dependencies = [
 name = "issue_1567"
 version = "0.1.0"
 dependencies = [
- "byteorder",
+ "byteorder 1.4.3",
 ]
 
 [[package]]
@@ -84,7 +72,7 @@ version = "0.1.0"
 name = "issue_1705"
 version = "0.1.0"
 dependencies = [
- "byteorder",
+ "byteorder 1.4.3",
 ]
 
 [[package]]
@@ -112,22 +100,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "page_size"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eebde548fbbf1ea81a99b128872779c437752fb99f217c45245e1a61dcd9edcd"
-dependencies = [
- "libc",
- "winapi",
-]
-
-[[package]]
-name = "ppv-lite86"
-version = "0.2.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872"
-
-[[package]]
 name = "proc-macro2"
 version = "1.0.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -146,36 +118,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "rand"
-version = "0.8.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
-dependencies = [
- "libc",
- "rand_chacha",
- "rand_core",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
-dependencies = [
- "ppv-lite86",
- "rand_core",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.6.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
-dependencies = [
- "getrandom",
-]
-
-[[package]]
 name = "serde_derive"
 version = "1.0.137"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -209,31 +151,3 @@ name = "unicode-ident"
 version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5bd2fe26506023ed7b5e1e315add59d6f584c621d037f9368fea9cfb988f368c"
-
-[[package]]
-name = "wasi"
-version = "0.11.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
-
-[[package]]
-name = "winapi"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
-dependencies = [
- "winapi-i686-pc-windows-gnu",
- "winapi-x86_64-pc-windows-gnu",
-]
-
-[[package]]
-name = "winapi-i686-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
-
-[[package]]
-name = "winapi-x86_64-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
diff --git a/test-cargo-miri/Cargo.toml b/test-cargo-miri/Cargo.toml
index 89a8463e4b3..51967c54e15 100644
--- a/test-cargo-miri/Cargo.toml
+++ b/test-cargo-miri/Cargo.toml
@@ -18,9 +18,8 @@ issue_1760 = { path = "issue-1760" }
 issue_rust_86261 = { path = "issue-rust-86261" }
 
 [dev-dependencies]
-rand = { version = "0.8", features = ["small_rng"] }
+byteorder_2 = { package = "byteorder", version = "0.5" } # to test dev-dependencies behave as expected, with renaming
 serde_derive = "1.0" # not actually used, but exercises some unique code path (`--extern` .so file)
-page_size = "0.4.1"
 
 [lib]
 test = false # test that this is respected (will show in the output)
diff --git a/test-cargo-miri/cdylib/Cargo.toml b/test-cargo-miri/cdylib/Cargo.toml
index 4e5b5601a56..527602e0a88 100644
--- a/test-cargo-miri/cdylib/Cargo.toml
+++ b/test-cargo-miri/cdylib/Cargo.toml
@@ -9,4 +9,4 @@ edition = "2018"
 crate-type = ["cdylib"]
 
 [dependencies]
-byteorder = "1.0"
+byteorder = "1.0" # to test dependencies of sub-crates
diff --git a/test-cargo-miri/run-test.py b/test-cargo-miri/run-test.py
index bc0046ffb14..ab43c725115 100755
--- a/test-cargo-miri/run-test.py
+++ b/test-cargo-miri/run-test.py
@@ -134,7 +134,7 @@ def test_cargo_miri_test():
         env={'MIRIFLAGS': "-Zmiri-permissive-provenance -Zmiri-disable-isolation"},
     )
     test("`cargo miri test` (with filter)",
-        cargo_miri("test") + ["--", "--format=pretty", "le1"],
+        cargo_miri("test") + ["--", "--format=pretty", "pl"],
         filter_ref, "test.stderr-empty.ref",
     )
     test("`cargo miri test` (test target)",
diff --git a/test-cargo-miri/src/main.rs b/test-cargo-miri/src/main.rs
index 5807d0765fb..41c52b70170 100644
--- a/test-cargo-miri/src/main.rs
+++ b/test-cargo-miri/src/main.rs
@@ -45,17 +45,12 @@ fn main() {
 
 #[cfg(test)]
 mod test {
-    use rand::{Rng, SeedableRng};
+    use byteorder_2::{BigEndian, ByteOrder};
 
     // Make sure in-crate tests with dev-dependencies work
     #[test]
-    fn rng() {
-        let mut rng = rand::rngs::StdRng::seed_from_u64(0xcafebeef);
-        let x: u32 = rng.gen();
-        let y: usize = rng.gen();
-        let z: u128 = rng.gen();
-        assert_ne!(x as usize, y);
-        assert_ne!(y as u128, z);
+    fn dev_dependency() {
+        let _n = <BigEndian as ByteOrder>::read_u64(&[1, 2, 3, 4, 5, 6, 7, 8]);
     }
 
     #[test]
diff --git a/test-cargo-miri/test.bin-target.stdout.ref b/test-cargo-miri/test.bin-target.stdout.ref
index 62cfd1d37a1..5264530160b 100644
--- a/test-cargo-miri/test.bin-target.stdout.ref
+++ b/test-cargo-miri/test.bin-target.stdout.ref
@@ -1,7 +1,7 @@
 
 running 2 tests
+test test::dev_dependency ... ok
 test test::exported_symbol ... ok
-test test::rng ... ok
 
 test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
 
diff --git a/test-cargo-miri/test.cross-target.stdout.ref b/test-cargo-miri/test.cross-target.stdout.ref
index 3673e5549d8..8c543e479f4 100644
--- a/test-cargo-miri/test.cross-target.stdout.ref
+++ b/test-cargo-miri/test.cross-target.stdout.ref
@@ -5,7 +5,7 @@ test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
 
 imported main
 
-running 8 tests
-..i.....
-test result: ok. 7 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
+running 6 tests
+...i..
+test result: ok. 5 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
 
diff --git a/test-cargo-miri/test.default.stdout.ref b/test-cargo-miri/test.default.stdout.ref
index a59108efb33..9a17f3d61b6 100644
--- a/test-cargo-miri/test.default.stdout.ref
+++ b/test-cargo-miri/test.default.stdout.ref
@@ -5,9 +5,9 @@ test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
 
 imported main
 
-running 8 tests
-..i.....
-test result: ok. 7 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
+running 6 tests
+...i..
+test result: ok. 5 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
 
 
 running 4 tests
diff --git a/test-cargo-miri/test.filter.cross-target.stdout.ref b/test-cargo-miri/test.filter.cross-target.stdout.ref
index 9fb7670d064..bb0282d6c91 100644
--- a/test-cargo-miri/test.filter.cross-target.stdout.ref
+++ b/test-cargo-miri/test.filter.cross-target.stdout.ref
@@ -6,7 +6,7 @@ test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 2 filtered out
 imported main
 
 running 1 test
-test simple1 ... ok
+test simple ... ok
 
-test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 7 filtered out
+test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 5 filtered out
 
diff --git a/test-cargo-miri/test.filter.stdout.ref b/test-cargo-miri/test.filter.stdout.ref
index 4b598960a09..c618956656a 100644
--- a/test-cargo-miri/test.filter.stdout.ref
+++ b/test-cargo-miri/test.filter.stdout.ref
@@ -6,9 +6,9 @@ test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 2 filtered out
 imported main
 
 running 1 test
-test simple1 ... ok
+test simple ... ok
 
-test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 7 filtered out
+test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 5 filtered out
 
 
 running 0 tests
diff --git a/test-cargo-miri/test.test-target.stdout.ref b/test-cargo-miri/test.test-target.stdout.ref
index ca069b702eb..dd59b32b780 100644
--- a/test-cargo-miri/test.test-target.stdout.ref
+++ b/test-cargo-miri/test.test-target.stdout.ref
@@ -1,13 +1,11 @@
 
-running 8 tests
+running 6 tests
 test cargo_env ... ok
+test deps ... ok
 test do_panic - should panic ... ok
 test does_not_work_on_miri ... ignored
-test entropy_rng ... ok
 test fail_index_check - should panic ... ok
-test page_size ... ok
-test simple1 ... ok
-test simple2 ... ok
+test simple ... ok
 
-test result: ok. 7 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
+test result: ok. 5 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
 
diff --git a/test-cargo-miri/tests/test.rs b/test-cargo-miri/tests/test.rs
index eb31058e1c1..9ed21528939 100644
--- a/test-cargo-miri/tests/test.rs
+++ b/test-cargo-miri/tests/test.rs
@@ -1,39 +1,30 @@
-use rand::{rngs::SmallRng, Rng, SeedableRng};
-
-// Having more than 1 test does seem to make a difference
-// (i.e., this calls ptr::swap which having just one test does not).
 #[test]
-fn simple1() {
+fn simple() {
     assert_eq!(4, 4);
 }
 
-#[test]
-fn simple2() {
-    assert_ne!(42, 24);
-}
-
 // A test that won't work on miri (tests disabling tests).
 #[test]
 #[cfg_attr(miri, ignore)]
 fn does_not_work_on_miri() {
-    let x = 0u8;
-    assert!(&x as *const _ as usize % 4 < 4);
+    // Only do this where inline assembly is stable.
+    #[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
+    unsafe {
+        std::arch::asm!("foo");
+    }
 }
 
-// Make sure integration tests can access dev-dependencies
+// Make sure integration tests can access both dependencies and dev-dependencies
 #[test]
-fn entropy_rng() {
-    // Try seeding with "real" entropy.
-    let mut rng = SmallRng::from_entropy();
-    let _val = rng.gen::<i32>();
-    let _val = rng.gen::<isize>();
-    let _val = rng.gen::<i128>();
-
-    // Also try per-thread RNG.
-    let mut rng = rand::thread_rng();
-    let _val = rng.gen::<i32>();
-    let _val = rng.gen::<isize>();
-    let _val = rng.gen::<i128>();
+fn deps() {
+    {
+        use byteorder::{BigEndian, ByteOrder};
+        let _n = <BigEndian as ByteOrder>::read_u64(&[1, 2, 3, 4, 5, 6, 7, 8]);
+    }
+    {
+        use byteorder_2::{BigEndian, ByteOrder};
+        let _n = <BigEndian as ByteOrder>::read_u64(&[1, 2, 3, 4, 5, 6, 7, 8]);
+    }
 }
 
 #[test]
@@ -49,17 +40,10 @@ fn do_panic() // In large, friendly letters :)
     panic!("Explicit panic from test!");
 }
 
+// A different way of raising a panic
 #[test]
 #[allow(unconditional_panic)]
 #[should_panic(expected = "the len is 0 but the index is 42")]
 fn fail_index_check() {
     [][42]
 }
-
-#[test]
-fn page_size() {
-    let page_size = page_size::get();
-
-    // In particular, this checks that it is not 0.
-    assert!(page_size.is_power_of_two(), "page size not a power of two: {}", page_size);
-}
diff --git a/test_dependencies/Cargo.lock b/test_dependencies/Cargo.lock
index 6b5e8c94224..a492deba4c5 100644
--- a/test_dependencies/Cargo.lock
+++ b/test_dependencies/Cargo.lock
@@ -107,6 +107,7 @@ dependencies = [
  "getrandom 0.1.16",
  "getrandom 0.2.7",
  "libc",
+ "page_size",
  "rand",
  "tokio",
 ]
@@ -128,6 +129,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1"
 
 [[package]]
+name = "page_size"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eebde548fbbf1ea81a99b128872779c437752fb99f217c45245e1a61dcd9edcd"
+dependencies = [
+ "libc",
+ "winapi",
+]
+
+[[package]]
 name = "parking_lot"
 version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
diff --git a/test_dependencies/Cargo.toml b/test_dependencies/Cargo.toml
index edaa6a69260..0bf43aefebf 100644
--- a/test_dependencies/Cargo.toml
+++ b/test_dependencies/Cargo.toml
@@ -11,6 +11,7 @@ edition = "2021"
 # all dependencies (and their transitive ones) listed here can be used in `tests/`.
 tokio = { version = "1.0", features = ["full"] }
 libc = "0.2"
+page_size = "0.4.1"
 
 getrandom_1 = { package = "getrandom", version = "0.1" }
 getrandom_2 = { package = "getrandom", version = "0.2" }
diff --git a/tests/fail/tokio_mvp.rs b/tests/fail/crates/tokio_mvp.rs
index 7cb42c09a96..7cb42c09a96 100644
--- a/tests/fail/tokio_mvp.rs
+++ b/tests/fail/crates/tokio_mvp.rs
diff --git a/tests/fail/tokio_mvp.stderr b/tests/fail/crates/tokio_mvp.stderr
index cff948f3640..cff948f3640 100644
--- a/tests/fail/tokio_mvp.stderr
+++ b/tests/fail/crates/tokio_mvp.stderr
diff --git a/tests/pass/crates/page_size.rs b/tests/pass/crates/page_size.rs
new file mode 100644
index 00000000000..cdcabf33338
--- /dev/null
+++ b/tests/pass/crates/page_size.rs
@@ -0,0 +1,6 @@
+fn main() {
+    let page_size = page_size::get();
+
+    // In particular, this checks that it is not 0.
+    assert!(page_size.is_power_of_two(), "page size not a power of two: {}", page_size);
+}
diff --git a/tests/pass/random.rs b/tests/pass/crates/random.rs
index 808d1006d4f..808d1006d4f 100644
--- a/tests/pass/random.rs
+++ b/tests/pass/crates/random.rs