From 41d493ef5014ad79cc37f4ace042b5b7fe26bfb7 Mon Sep 17 00:00:00 2001 From: "Ralf W. Grosse-Kunstleve" Date: Thu, 6 Mar 2025 15:00:56 -0800 Subject: [PATCH] Increase tolerance in test_timing() to avoid flaky tests. Observed failures: ``` > assert delay_seconds * 1000 <= elapsed_time_ms < delay_seconds * 1000 + 2 # tolerance 2 ms E assert 503.1598205566406 < ((0.5 * 1000) + 2) ``` ``` > assert delay_seconds * 1000 <= elapsed_time_ms < delay_seconds * 1000 + 2 # tolerance 2 ms E assert 505.0583190917969 < ((0.5 * 1000) + 2) ``` --- cuda_core/tests/test_event.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/cuda_core/tests/test_event.py b/cuda_core/tests/test_event.py index 384cf4586..97c6b336b 100644 --- a/cuda_core/tests/test_event.py +++ b/cuda_core/tests/test_event.py @@ -33,7 +33,12 @@ def test_timing(init_cuda, enable_timing): if enable_timing: elapsed_time_ms = e2 - e1 assert isinstance(elapsed_time_ms, float) - assert delay_seconds * 1000 <= elapsed_time_ms < delay_seconds * 1000 + 2 # tolerance 2 ms + # Using a generous tolerance, to avoid flaky tests: + # We only want to exercise the __sub__ method, this test is not meant + # to stress-test the CUDA driver or time.sleep(). + delay_ms = delay_seconds * 1000 + generous_tolerance = 20 + assert delay_ms <= elapsed_time_ms < delay_ms + generous_tolerance else: with pytest.raises(RuntimeError) as e: elapsed_time_ms = e2 - e1