diff --git a/looptime/_internal/loops.py b/looptime/_internal/loops.py index 7eb3e01..8b22412 100644 --- a/looptime/_internal/loops.py +++ b/looptime/_internal/loops.py @@ -157,7 +157,10 @@ def looptime_enabled(self) -> Iterator[None]: self.__enabled = old_enabled def time(self) -> float: - return self.__int2time(self.__now) + if self.__enabled: + return self.__int2time(self.__now) + else: + return super().time() def run_in_executor(self, executor: Any, func: Any, *args: Any) -> AnyFuture: # type: ignore future = super().run_in_executor(executor, func, *args) diff --git a/tests/test_time_moves.py b/tests/test_time_moves.py index 1a9d1f2..b17f7ab 100644 --- a/tests/test_time_moves.py +++ b/tests/test_time_moves.py @@ -33,7 +33,7 @@ def test_execution_takes_true_time_when_disabled(chronometer, looptime_loop): looptime_loop.setup_looptime(_enabled=False) with chronometer: looptime_loop.run_until_complete(asyncio.sleep(1)) - assert looptime_loop.time() == 1 + assert -1 < looptime_loop.time() - time.monotonic() < 1 # we know that asyncio uses this clock assert 1 <= chronometer.seconds < 1.1