tests/misc/cexample_class: Fix timing sensitivity.

This test could occasionally fail because some operations take longer
than expected. This relaxes the timing constraints and defers printing
until the very end.

Signed-off-by: Laurens Valk <laurens@pybricks.com>
This commit is contained in:
Laurens Valk 2022-11-24 08:58:10 +01:00
parent 5588647ad2
commit 3c1a2a942a
2 changed files with 11 additions and 6 deletions

View File

@ -7,14 +7,18 @@ except ImportError:
print("SKIP")
raise SystemExit
t = cexample.Timer()
print(t)
print(t.time() <= 1)
SLEEP_MS = 100
TOLERANCE_MS = 20
timer = cexample.Timer()
t_start = timer.time()
time.sleep_ms(100)
elapsed = t.time()
t_end = timer.time()
if not (99 <= elapsed <= 110):
print("Elapsed time should be approx. 100ms but it is", elapsed)
print(timer)
print(0 <= t_start <= TOLERANCE_MS)
print(SLEEP_MS - TOLERANCE_MS <= t_end <= SLEEP_MS + TOLERANCE_MS)

View File

@ -1,2 +1,3 @@
<Timer>
True
True