diff options
Diffstat (limited to 'tests/async/t12221.nim')
-rw-r--r-- | tests/async/t12221.nim | 34 |
1 files changed, 11 insertions, 23 deletions
diff --git a/tests/async/t12221.nim b/tests/async/t12221.nim index a6ccfb060..e8bd9c11a 100644 --- a/tests/async/t12221.nim +++ b/tests/async/t12221.nim @@ -1,13 +1,13 @@ import asyncdispatch, os, times proc doubleSleep(hardSleep: int) {.async.} = - await sleepAsync(100) + await sleepAsync(50) sleep(hardSleep) template assertTime(target, timeTook: float): untyped {.dirty.} = - assert(timeTook*1000 > target - 1000, "Took too short, should've taken " & + doAssert(timeTook*1000 > target - 1000, "Took too short, should've taken " & $target & "ms, but took " & $(timeTook*1000) & "ms") - assert(timeTook*1000 < target + 1000, "Took too long, should've taken " & + doAssert(timeTook*1000 < target + 1000, "Took too long, should've taken " & $target & "ms, but took " & $(timeTook*1000) & "ms") var @@ -16,37 +16,25 @@ var # NOTE: this uses poll(3000) to limit timing error potential. start = epochTime() -fut = sleepAsync(50) and sleepAsync(150) and doubleSleep(40) +fut = sleepAsync(40) and sleepAsync(100) and doubleSleep(20) while not fut.finished: - poll(3000) + poll(1000) assertTime(150, epochTime() - start) start = epochTime() -fut = sleepAsync(50) and sleepAsync(150) and doubleSleep(100) +fut = sleepAsync(40) and sleepAsync(100) and doubleSleep(50) while not fut.finished: - poll(3000) + poll(1000) assertTime(200, epochTime() - start) start = epochTime() -fut = sleepAsync(50) and sleepAsync(150) and doubleSleep(40) and sleepAsync(300) +fut = sleepAsync(40) and sleepAsync(100) and doubleSleep(20) and sleepAsync(200) while not fut.finished: - poll(3000) + poll(1000) assertTime(300, epochTime() - start) start = epochTime() -fut = sleepAsync(50) and sleepAsync(150) and doubleSleep(100) and sleepAsync(300) +fut = (sleepAsync(40) and sleepAsync(100) and doubleSleep(20)) or sleepAsync(300) while not fut.finished: - poll(3000) -assertTime(300, epochTime() - start) - -start = epochTime() -fut = (sleepAsync(50) and sleepAsync(150) and doubleSleep(40)) or sleepAsync(700) -while not fut.finished: - poll(3000) + poll(1000) assertTime(150, epochTime() - start) - -start = epochTime() -fut = (sleepAsync(50) and sleepAsync(150) and doubleSleep(100)) or sleepAsync(700) -while not fut.finished: - poll(3000) -assertTime(200, epochTime() - start) |