Skip to content

Commit 3e40c9f

Browse files
committed
tests: Use monotonic clock for utime ticks_ms/ticks_us stubs.
1 parent 5303044 commit 3e40c9f

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

tests/runner/executor.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,14 @@ def load_driver_mock(driver_name, fake_i2c, module_name=None):
4242

4343
# Create utime module as alias for time (MicroPython compatibility)
4444
if "utime" not in sys.modules:
45+
# Use a monotonic clock to emulate MicroPython's ticks_* semantics
46+
monotonic = getattr(time, "monotonic", time.perf_counter)
4547
utime = types.ModuleType("utime")
4648
utime.sleep_ms = time.sleep_ms
4749
utime.sleep_us = time.sleep_us
4850
utime.sleep = time.sleep
49-
utime.ticks_ms = lambda: int(time.time() * 1000)
50-
utime.ticks_us = lambda: int(time.time() * 1000000)
51+
utime.ticks_ms = lambda: int(monotonic() * 1000)
52+
utime.ticks_us = lambda: int(monotonic() * 1000000)
5153
utime.ticks_diff = lambda a, b: a - b
5254
sys.modules["utime"] = utime
5355

0 commit comments

Comments
 (0)