]> git.lizzy.rs Git - rust.git/commitdiff
make utf8_char_counts test faster in Miri
authorRalf Jung <post@ralfj.de>
Thu, 31 Mar 2022 17:10:53 +0000 (13:10 -0400)
committerRalf Jung <post@ralfj.de>
Thu, 31 Mar 2022 17:11:44 +0000 (13:11 -0400)
library/alloc/tests/str.rs

index 32396e35696c0a52b80b03e1e0c78f18e3cab5f2..273b39aa45a48ea831244d3ed9d2a7fb3e865704 100644 (file)
@@ -2234,11 +2234,14 @@ fn utf8_chars() {
 #[test]
 fn utf8_char_counts() {
     let strs = [("e", 1), ("é", 1), ("€", 1), ("\u{10000}", 1), ("eé€\u{10000}", 4)];
-    let mut reps =
-        [8, 64, 256, 512, 1024].iter().copied().flat_map(|n| n - 8..=n + 8).collect::<Vec<usize>>();
+    let spread = if cfg!(miri) { 4 } else { 8 };
+    let mut reps = [8, 64, 256, 512]
+        .iter()
+        .copied()
+        .flat_map(|n| n - spread..=n + spread)
+        .collect::<Vec<usize>>();
     if cfg!(not(miri)) {
-        let big = 1 << 16;
-        reps.extend(big - 8..=big + 8);
+        reps.extend([1024, 1 << 16].iter().copied().flat_map(|n| n - spread..=n + spread));
     }
     let counts = if cfg!(miri) { 0..1 } else { 0..8 };
     let padding = counts.map(|len| " ".repeat(len)).collect::<Vec<String>>();