diff --git a/tests/periph_timer_periodic/tests/01-run.py b/tests/periph_timer_periodic/tests/01-run.py index ac28e2f797..653914f86e 100755 --- a/tests/periph_timer_periodic/tests/01-run.py +++ b/tests/periph_timer_periodic/tests/01-run.py @@ -6,19 +6,24 @@ # General Public License v2.1. See the file LICENSE in the top level # directory for more details. +import os import sys import time from testrunner import run +PRECISION = float(os.getenv("TEST_PERIPH_TIMER_PERIODIC_PRECISION", "0")) + + def testfunc(child): child.expect_exact('TEST START') start = time.time() child.expect_exact('TEST SUCCEEDED') end = time.time() # test should run 10 cycles with 25ms each - assert (end - start) > 0.25 - assert (end - start) < 0.40 + elapsed = end - start + assert elapsed > 0.25 * (1 - PRECISION), "=< 0.25s ({})".format(elapsed) + assert elapsed < 0.40 * (1 + PRECISION), "=> 0.40s ({})".format(elapsed) if __name__ == "__main__":