diff --git a/tests/0-timer.d b/tests/0-timer.d index 61d032e..907e04b 100644 --- a/tests/0-timer.d +++ b/tests/0-timer.d @@ -19,13 +19,18 @@ void main() auto tm = eventDriver.timers.create(); eventDriver.timers.wait(tm, (tm) nothrow @safe { - scope (failure) assert(false); + Duration dur; + + { + scope (failure) assert(false); + dur = Clock.currTime(UTC()) - s_startTime; + } - auto dur = Clock.currTime(UTC()) - s_startTime; assert(dur > 200.msecs); - assert(dur < 220.msecs); + assert(dur < 260.msecs); + + s_startTime += dur; - s_startTime = Clock.currTime(UTC()); eventDriver.timers.set(tm, 100.msecs, 100.msecs); void secondTier(TimerID timer) nothrow @safe { diff --git a/tests/issue-25-periodic-timers.d b/tests/issue-25-periodic-timers.d index 378687c..4477428 100644 --- a/tests/issue-25-periodic-timers.d +++ b/tests/issue-25-periodic-timers.d @@ -22,12 +22,15 @@ void main() // first timer: one-shot 200ms auto tm = eventDriver.timers.create(); eventDriver.timers.wait(tm, (tm) nothrow @safe { - scope (failure) assert(false); - writefln("First timer"); + Duration dur; + { + scope (failure) assert(false); + writefln("First timer"); + dur = Clock.currTime(UTC()) - s_startTime; + } - auto dur = Clock.currTime(UTC()) - s_startTime; - assert(dur > 200.msecs); - assert(dur < 220.msecs); + assert(dur >= 200.msecs); + assert(dur < 250.msecs); timer1fired = true; });