Skip to content

Commit f1c3051

Browse files
committed
libcore: more compact way to adjust test sizes for Miri
1 parent 66f7a5d commit f1c3051

File tree

3 files changed

+16
-30
lines changed

3 files changed

+16
-30
lines changed

src/libcore/tests/num/flt2dec/estimator.rs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -52,12 +52,10 @@ fn test_estimate_scaling_factor() {
5252
assert_almost_eq!(estimate_scaling_factor(1, -1074), -323);
5353
assert_almost_eq!(estimate_scaling_factor(0x1fffffffffffff, 971), 309);
5454

55-
#[cfg(not(miri))] // Miri is too slow
56-
let iter = -1074..972;
57-
#[cfg(miri)]
58-
let iter = (-1074..972).step_by(37);
55+
// Miri is too slow
56+
let step = if cfg!(miri) { 37 } else { 1 };
5957

60-
for i in iter {
58+
for i in (-1074..972).step_by(step) {
6159
let expected = super::ldexp_f64(1.0, i).log10().ceil();
6260
assert_almost_eq!(estimate_scaling_factor(1, i as i16), expected as i16);
6361
}

src/libcore/tests/num/flt2dec/random.rs

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -138,13 +138,11 @@ where
138138
#[test]
139139
fn shortest_random_equivalence_test() {
140140
use core::num::flt2dec::strategy::dragon::format_shortest as fallback;
141-
#[cfg(not(miri))] // Miri is too slow
142-
const N: usize = 10_000;
143-
#[cfg(miri)]
144-
const N: usize = 10;
141+
// Miri is too slow
142+
let n = if cfg!(miri) { 10 } else { 10_000 };
145143

146-
f64_random_equivalence_test(format_shortest_opt, fallback, MAX_SIG_DIGITS, N);
147-
f32_random_equivalence_test(format_shortest_opt, fallback, MAX_SIG_DIGITS, N);
144+
f64_random_equivalence_test(format_shortest_opt, fallback, MAX_SIG_DIGITS, n);
145+
f32_random_equivalence_test(format_shortest_opt, fallback, MAX_SIG_DIGITS, n);
148146
}
149147

150148
#[test]
@@ -173,35 +171,31 @@ fn shortest_f64_hard_random_equivalence_test() {
173171
#[test]
174172
fn exact_f32_random_equivalence_test() {
175173
use core::num::flt2dec::strategy::dragon::format_exact as fallback;
176-
#[cfg(not(miri))] // Miri is too slow
177-
const N: usize = 1_000;
178-
#[cfg(miri)]
179-
const N: usize = 3;
174+
// Miri is too slow
175+
let n = if cfg!(miri) { 3 } else { 1_000 };
180176

181177
for k in 1..21 {
182178
f32_random_equivalence_test(
183179
|d, buf| format_exact_opt(d, buf, i16::MIN),
184180
|d, buf| fallback(d, buf, i16::MIN),
185181
k,
186-
N,
182+
n,
187183
);
188184
}
189185
}
190186

191187
#[test]
192188
fn exact_f64_random_equivalence_test() {
193189
use core::num::flt2dec::strategy::dragon::format_exact as fallback;
194-
#[cfg(not(miri))] // Miri is too slow
195-
const N: usize = 1_000;
196-
#[cfg(miri)]
197-
const N: usize = 3;
190+
// Miri is too slow
191+
let n = if cfg!(miri) { 3 } else { 1_000 };
198192

199193
for k in 1..21 {
200194
f64_random_equivalence_test(
201195
|d, buf| format_exact_opt(d, buf, i16::MIN),
202196
|d, buf| fallback(d, buf, i16::MIN),
203197
k,
204-
N,
198+
n,
205199
);
206200
}
207201
}

src/libcore/tests/slice.rs

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1227,15 +1227,9 @@ fn sort_unstable() {
12271227
use core::slice::heapsort;
12281228
use rand::{rngs::StdRng, seq::SliceRandom, Rng, SeedableRng};
12291229

1230-
#[cfg(not(miri))] // Miri is too slow
1231-
let large_range = 500..510;
1232-
#[cfg(not(miri))] // Miri is too slow
1233-
let rounds = 100;
1234-
1235-
#[cfg(miri)]
1236-
let large_range = 0..0; // empty range
1237-
#[cfg(miri)]
1238-
let rounds = 1;
1230+
// Miri is too slow
1231+
let large_range = if cfg!(miri) { 0..0 } else { 500..510 };
1232+
let rounds = if cfg!(miri) { 1 } else { 100 };
12391233

12401234
let mut v = [0; 600];
12411235
let mut tmp = [0; 600];

0 commit comments

Comments
 (0)