Add failing page_size test.

This commit is contained in:
Mateusz Gienieczko 2022-05-21 16:10:08 +02:00
parent b96610b3de
commit e932ea50ba
No known key found for this signature in database
GPG key ID: 386CB5E415137469
8 changed files with 61 additions and 14 deletions

View file

@ -22,6 +22,7 @@ dependencies = [
"issue_1705",
"issue_1760",
"issue_rust_86261",
"page_size",
"rand",
"serde_derive",
]
@ -123,6 +124,16 @@ dependencies = [
"libc",
]
[[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.10"
@ -233,3 +244,25 @@ name = "wasi"
version = "0.10.2+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
[[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"

View file

@ -22,6 +22,7 @@ rand = { version = "0.8", features = ["small_rng"] }
getrandom_1 = { package = "getrandom", version = "0.1" }
getrandom_2 = { package = "getrandom", version = "0.2" }
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)

View file

@ -5,7 +5,7 @@ test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
imported main
running 7 tests
..i....
test result: ok. 6 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
running 8 tests
..i.....
test result: ok. 7 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out

View file

@ -5,9 +5,9 @@ test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
imported main
running 7 tests
..i....
test result: ok. 6 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
running 8 tests
..i.....
test result: ok. 7 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
running 4 tests

View file

@ -8,5 +8,5 @@ imported main
running 1 test
test simple1 ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 6 filtered out
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 7 filtered out

View file

@ -8,7 +8,7 @@ imported main
running 1 test
test simple1 ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 6 filtered out
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 7 filtered out
running 0 tests

View file

@ -1,12 +1,13 @@
running 7 tests
running 8 tests
test cargo_env ... 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 result: ok. 6 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
test result: ok. 7 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out

View file

@ -1,4 +1,4 @@
use rand::{SeedableRng, Rng, rngs::SmallRng};
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).
@ -49,14 +49,26 @@ fn cargo_env() {
}
#[test]
#[should_panic(expected="Explicit panic")]
fn do_panic() { // In large, friendly letters :)
#[should_panic(expected = "Explicit panic")]
fn do_panic() {
// In large, friendly letters :)
panic!("Explicit panic from test!");
}
#[test]
#[allow(unconditional_panic)]
#[should_panic(expected="the len is 0 but the index is 42")]
#[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();
assert!(
page_size.next_power_of_two() == page_size,
"page size not a power of two: {}",
page_size
);
}