measure: `as_*`/`end_as_*` tests: Increase margins to 20% (#31635)

This commit is contained in:
Illia Bobyr 2023-05-15 18:38:27 -07:00 committed by GitHub
parent dbc11502a7
commit 69dfd842c8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 19 additions and 10 deletions

View File

@ -95,10 +95,15 @@ mod tests {
let mut measure = Measure::start("test"); let mut measure = Measure::start("test");
sleep(Duration::from_millis(100)); sleep(Duration::from_millis(100));
measure.stop(); measure.stop();
assert!(measure.as_s() >= 0.09f32 && measure.as_s() <= 0.11f32);
assert!(measure.as_ms() >= 90 && measure.as_ms() <= 110); // We have observed failures with margins of 10%, when CI machines are very busy, running
assert!(measure.as_us() >= 99_000 && measure.as_us() <= 110_000); // multiple tests in parallel. As we are not testing the timer functionality itself, it is
assert!(measure.as_ns() >= 99_000_000 && measure.as_ns() <= 110_000_000); // probably OK to increase the margins to 20%.
assert!(measure.as_s() >= 0.08f32 && measure.as_s() <= 0.12f32);
assert!(measure.as_ms() >= 80 && measure.as_ms() <= 120);
assert!(measure.as_us() >= 80_000 && measure.as_us() <= 120_000);
assert!(measure.as_ns() >= 80_000_000 && measure.as_ns() <= 120_000_000);
assert!( assert!(
measure.as_duration() >= Duration::from_millis(90) measure.as_duration() >= Duration::from_millis(90)
&& measure.as_duration() <= Duration::from_millis(110) && measure.as_duration() <= Duration::from_millis(110)
@ -129,15 +134,19 @@ mod tests {
); );
} }
test_end_as(Measure::end_as_s, 100, 0.09f32, 0.11f32); // We have observed failures with margins of 10%, when CI machines are very busy, running
test_end_as(Measure::end_as_ms, 100, 90, 110); // multiple tests in parallel. As we are not testing the timer functionality itself, it is
test_end_as(Measure::end_as_us, 100, 90_000, 110_000); // probably OK to increase the margins to 20%.
test_end_as(Measure::end_as_ns, 100, 90_000_000, 110_000_000);
test_end_as(Measure::end_as_s, 100, 0.08f32, 0.12f32);
test_end_as(Measure::end_as_ms, 100, 80, 120);
test_end_as(Measure::end_as_us, 100, 80_000, 120_000);
test_end_as(Measure::end_as_ns, 100, 80_000_000, 120_000_000);
test_end_as( test_end_as(
Measure::end_as_duration, Measure::end_as_duration,
100, 100,
Duration::from_millis(90), Duration::from_millis(80),
Duration::from_millis(110), Duration::from_millis(120),
); );
} }