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