diff --git a/tests/scheduler/test_interval_performance.py b/tests/scheduler/test_interval_performance.py index f196618c..d7f74eab 100644 --- a/tests/scheduler/test_interval_performance.py +++ b/tests/scheduler/test_interval_performance.py @@ -22,14 +22,19 @@ def performance_task(value: int) -> int: # Wait for 5 executions for _ in range(5): - msg = await asyncio.wait_for(broker.queue.get(), 2) + msg = await asyncio.wait_for(broker.queue.get(), 3) execution_times.append(time.time()) assert msg is not None - # Check intervals between executions - for i in range(1, len(execution_times)): - interval = execution_times[i] - execution_times[i - 1] - assert 0.95 <= interval <= 2 # Allow some tolerance + intervals = [ + execution_times[i] - execution_times[i - 1] + for i in range(1, len(execution_times)) + ] + for interval in intervals: + assert 0.5 <= interval <= 3 # Loose bound to catch gross regressions + + average_interval = sum(intervals) / len(intervals) + assert 0.8 <= average_interval <= 1.5 finally: scheduler_task.cancel()