Give timer tests more leeway for inaccurate implementations

On Windows, waiting on system timers is notoriously inaccurate, with
short sleeps taking tens of milliseconds longer than specified.

This led to these tests to sporadically fail on the Windows GHAs with
`check 5 == counter has failed [5 != 4]`, because it couldn't get the
expected five invokations within the given tolerance of 50ms.

Currently on master, the tests check if a timer triggers five times
in 550ms with a 100ms interval, only leaving those 50ms to spare.
This commit extends the tolerance of to 75ms. This is a pretty
conservative increase (when we could have gone to 99ms), but it
might be enough to satisfy the windows GHAs.
This commit is contained in:
Johannes Schmidt 2026-02-25 13:16:11 +01:00
parent d565401cdf
commit 1430e63e72

View file

@ -32,7 +32,7 @@ BOOST_AUTO_TEST_CASE(invoke)
timer->SetInterval(.1);
timer->Start();
Utility::Sleep(.55);
Utility::Sleep(.575);
timer->Stop();
// At this point, the timer should have fired exactly 5 times (0.5 / 0.1) and the sixth time
@ -49,7 +49,7 @@ BOOST_AUTO_TEST_CASE(scope)
timer->SetInterval(.1);
timer->Start();
Utility::Sleep(.55);
Utility::Sleep(.575);
timer.reset();
Utility::Sleep(.1);