1from __future__ import annotations 2 3from time import time 4 5import pytest 6 7from watchdog.utils.delayed_queue import DelayedQueue 8 9 10@pytest.mark.flaky(max_runs=5, min_passes=1) 11def test_delayed_get(): 12 q = DelayedQueue[str](2) 13 q.put("", delay=True) 14 inserted = time() 15 q.get() 16 elapsed = time() - inserted 17 # 2.10 instead of 2.05 for slow macOS slaves on Travis 18 assert 2.10 > elapsed > 1.99 19 20 21@pytest.mark.flaky(max_runs=5, min_passes=1) 22def test_nondelayed_get(): 23 q = DelayedQueue[str](2) 24 q.put("") 25 inserted = time() 26 q.get() 27 elapsed = time() - inserted 28 # Far less than 1 second 29 assert elapsed < 1 30