blob: f9fae4696ccaf42bddbc43bac293f3e77b109046 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
https://github.com/litl/backoff/pull/224
Adapt test cases to pytest-asyncio 1.0 compatibility
- Remove deprecated event_loop fixture
https://pytest-asyncio.readthedocs.io/en/stable/reference/changelog.html#removed
- Drop *_without_event_loop tests
These incompatible tests (*1) are no longer needed since the
underlying code has already been removed (introduced in a460156,
removed in 5d714ccd).
*1: asyncio.get_event_loop() now raises a RuntimeError in Python 3.14
when no loop exists.
https://docs.python.org/3.14/whatsnew/3.14.html#id7
--- a/tests/test_backoff_async.py
+++ b/tests/test_backoff_async.py
@@ -665,7 +665,7 @@ async def exceptor():
@pytest.mark.asyncio
-async def test_on_exception_coro_cancelling(event_loop):
+async def test_on_exception_coro_cancelling():
sleep_started_event = asyncio.Event()
@backoff.on_predicate(backoff.expo)
@@ -679,59 +679,10 @@ async def coro():
return False
- task = event_loop.create_task(coro())
+ task = asyncio.create_task(coro())
await sleep_started_event.wait()
task.cancel()
assert (await task)
-
-
-def test_on_predicate_on_regular_function_without_event_loop(monkeypatch):
- monkeypatch.setattr('time.sleep', lambda x: None)
-
- # Set default event loop to None.
- loop = asyncio.get_event_loop()
- asyncio.set_event_loop(None)
-
- try:
- @backoff.on_predicate(backoff.expo)
- def return_true(log, n):
- val = (len(log) == n - 1)
- log.append(val)
- return val
-
- log = []
- ret = return_true(log, 3)
- assert ret is True
- assert 3 == len(log)
-
- finally:
- # Restore event loop.
- asyncio.set_event_loop(loop)
-
-
-def test_on_exception_on_regular_function_without_event_loop(monkeypatch):
- monkeypatch.setattr('time.sleep', lambda x: None)
-
- # Set default event loop to None.
- loop = asyncio.get_event_loop()
- asyncio.set_event_loop(None)
-
- try:
- @backoff.on_exception(backoff.expo, KeyError)
- def keyerror_then_true(log, n):
- if len(log) == n:
- return True
- e = KeyError()
- log.append(e)
- raise e
-
- log = []
- assert keyerror_then_true(log, 3) is True
- assert 3 == len(log)
-
- finally:
- # Restore event loop.
- asyncio.set_event_loop(loop)
|