Skip to content

Commit 46d309f

Browse files
committed
Auto merge of rust-lang#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. :)
2 parents ed76d20 + 5e4b646 commit 46d309f

18 files changed

+67
-159
lines changed

test-cargo-miri/Cargo.lock

Lines changed: 11 additions & 97 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test-cargo-miri/Cargo.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,8 @@ issue_1760 = { path = "issue-1760" }
1818
issue_rust_86261 = { path = "issue-rust-86261" }
1919

2020
[dev-dependencies]
21-
rand = { version = "0.8", features = ["small_rng"] }
21+
byteorder_2 = { package = "byteorder", version = "0.5" } # to test dev-dependencies behave as expected, with renaming
2222
serde_derive = "1.0" # not actually used, but exercises some unique code path (`--extern` .so file)
23-
page_size = "0.4.1"
2423

2524
[lib]
2625
test = false # test that this is respected (will show in the output)

test-cargo-miri/cdylib/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ edition = "2018"
99
crate-type = ["cdylib"]
1010

1111
[dependencies]
12-
byteorder = "1.0"
12+
byteorder = "1.0" # to test dependencies of sub-crates

test-cargo-miri/run-test.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ def test_cargo_miri_test():
134134
env={'MIRIFLAGS': "-Zmiri-permissive-provenance -Zmiri-disable-isolation"},
135135
)
136136
test("`cargo miri test` (with filter)",
137-
cargo_miri("test") + ["--", "--format=pretty", "le1"],
137+
cargo_miri("test") + ["--", "--format=pretty", "pl"],
138138
filter_ref, "test.stderr-empty.ref",
139139
)
140140
test("`cargo miri test` (test target)",

test-cargo-miri/src/main.rs

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -45,17 +45,12 @@ fn main() {
4545

4646
#[cfg(test)]
4747
mod test {
48-
use rand::{Rng, SeedableRng};
48+
use byteorder_2::{BigEndian, ByteOrder};
4949

5050
// Make sure in-crate tests with dev-dependencies work
5151
#[test]
52-
fn rng() {
53-
let mut rng = rand::rngs::StdRng::seed_from_u64(0xcafebeef);
54-
let x: u32 = rng.gen();
55-
let y: usize = rng.gen();
56-
let z: u128 = rng.gen();
57-
assert_ne!(x as usize, y);
58-
assert_ne!(y as u128, z);
52+
fn dev_dependency() {
53+
let _n = <BigEndian as ByteOrder>::read_u64(&[1, 2, 3, 4, 5, 6, 7, 8]);
5954
}
6055

6156
#[test]
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
running 2 tests
3+
test test::dev_dependency ... ok
34
test test::exported_symbol ... ok
4-
test test::rng ... ok
55

66
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
77

test-cargo-miri/test.cross-target.stdout.ref

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
55

66
imported main
77

8-
running 8 tests
9-
..i.....
10-
test result: ok. 7 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
8+
running 6 tests
9+
...i..
10+
test result: ok. 5 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
1111

test-cargo-miri/test.default.stdout.ref

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
55

66
imported main
77

8-
running 8 tests
9-
..i.....
10-
test result: ok. 7 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
8+
running 6 tests
9+
...i..
10+
test result: ok. 5 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
1111

1212

1313
running 4 tests

test-cargo-miri/test.filter.cross-target.stdout.ref

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 2 filtered out
66
imported main
77

88
running 1 test
9-
test simple1 ... ok
9+
test simple ... ok
1010

11-
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 7 filtered out
11+
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 5 filtered out
1212

test-cargo-miri/test.filter.stdout.ref

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 2 filtered out
66
imported main
77

88
running 1 test
9-
test simple1 ... ok
9+
test simple ... ok
1010

11-
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 7 filtered out
11+
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 5 filtered out
1212

1313

1414
running 0 tests
Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11

2-
running 8 tests
2+
running 6 tests
33
test cargo_env ... ok
4+
test deps ... ok
45
test do_panic - should panic ... ok
56
test does_not_work_on_miri ... ignored
6-
test entropy_rng ... ok
77
test fail_index_check - should panic ... ok
8-
test page_size ... ok
9-
test simple1 ... ok
10-
test simple2 ... ok
8+
test simple ... ok
119

12-
test result: ok. 7 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
10+
test result: ok. 5 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
1311

test-cargo-miri/tests/test.rs

Lines changed: 17 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,30 @@
1-
use rand::{rngs::SmallRng, Rng, SeedableRng};
2-
3-
// Having more than 1 test does seem to make a difference
4-
// (i.e., this calls ptr::swap which having just one test does not).
51
#[test]
6-
fn simple1() {
2+
fn simple() {
73
assert_eq!(4, 4);
84
}
95

10-
#[test]
11-
fn simple2() {
12-
assert_ne!(42, 24);
13-
}
14-
156
// A test that won't work on miri (tests disabling tests).
167
#[test]
178
#[cfg_attr(miri, ignore)]
189
fn does_not_work_on_miri() {
19-
let x = 0u8;
20-
assert!(&x as *const _ as usize % 4 < 4);
10+
// Only do this where inline assembly is stable.
11+
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
12+
unsafe {
13+
std::arch::asm!("foo");
14+
}
2115
}
2216

23-
// Make sure integration tests can access dev-dependencies
17+
// Make sure integration tests can access both dependencies and dev-dependencies
2418
#[test]
25-
fn entropy_rng() {
26-
// Try seeding with "real" entropy.
27-
let mut rng = SmallRng::from_entropy();
28-
let _val = rng.gen::<i32>();
29-
let _val = rng.gen::<isize>();
30-
let _val = rng.gen::<i128>();
31-
32-
// Also try per-thread RNG.
33-
let mut rng = rand::thread_rng();
34-
let _val = rng.gen::<i32>();
35-
let _val = rng.gen::<isize>();
36-
let _val = rng.gen::<i128>();
19+
fn deps() {
20+
{
21+
use byteorder::{BigEndian, ByteOrder};
22+
let _n = <BigEndian as ByteOrder>::read_u64(&[1, 2, 3, 4, 5, 6, 7, 8]);
23+
}
24+
{
25+
use byteorder_2::{BigEndian, ByteOrder};
26+
let _n = <BigEndian as ByteOrder>::read_u64(&[1, 2, 3, 4, 5, 6, 7, 8]);
27+
}
3728
}
3829

3930
#[test]
@@ -49,17 +40,10 @@ fn do_panic() // In large, friendly letters :)
4940
panic!("Explicit panic from test!");
5041
}
5142

43+
// A different way of raising a panic
5244
#[test]
5345
#[allow(unconditional_panic)]
5446
#[should_panic(expected = "the len is 0 but the index is 42")]
5547
fn fail_index_check() {
5648
[][42]
5749
}
58-
59-
#[test]
60-
fn page_size() {
61-
let page_size = page_size::get();
62-
63-
// In particular, this checks that it is not 0.
64-
assert!(page_size.is_power_of_two(), "page size not a power of two: {}", page_size);
65-
}

test_dependencies/Cargo.lock

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)