From 4802fac7dde3643f5feb20f9782519687cec6bc8 Mon Sep 17 00:00:00 2001 From: Vlada Dusek Date: Tue, 31 Mar 2026 12:06:58 +0200 Subject: [PATCH] fix: increase sleep tolerance in request_max_duration test for Windows CI Windows has poor asyncio timer resolution (~15ms granularity), causing asyncio.sleep(0.05) to undershoot significantly (observed 34ms). Increase sleep to 200ms with 50ms tolerance to prevent flaky failures. Co-Authored-By: Claude Opus 4.6 (1M context) --- tests/unit/_statistics/test_request_max_duration.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tests/unit/_statistics/test_request_max_duration.py b/tests/unit/_statistics/test_request_max_duration.py index 0a2fae53a1..80e4b903bd 100644 --- a/tests/unit/_statistics/test_request_max_duration.py +++ b/tests/unit/_statistics/test_request_max_duration.py @@ -8,9 +8,10 @@ async def test_request_max_duration_tracks_maximum() -> None: """Test that request_max_duration correctly tracks the maximum duration, not the minimum.""" - # asyncio.sleep() can sleep slightly shorter than expected https://bugs.python.org/issue31539#msg302699 - asyncio_sleep_time_tolerance = 0.015 - sleep_time = 0.05 + # asyncio.sleep() can sleep significantly shorter than expected on Windows due to poor timer resolution + # https://bugs.python.org/issue31539#msg302699 + asyncio_sleep_time_tolerance = 0.05 + sleep_time = 0.2 async with Statistics.with_default_state() as statistics: # Record a short request @@ -20,7 +21,7 @@ async def test_request_max_duration_tracks_maximum() -> None: # Record a longer request statistics.record_request_processing_start('request_2') - await asyncio.sleep(sleep_time) # 50ms delay + await asyncio.sleep(sleep_time) # 200ms delay statistics.record_request_processing_finish('request_2') second_duration = statistics.state.request_max_duration