@@ -1199,6 +1199,7 @@ async def test_async_worker_is_alive_after_start():
11991199 worker .start ()
12001200 assert worker .is_alive is True
12011201 worker .kill ()
1202+ await asyncio .sleep (0 ) # Allow cancelled tasks to be cleaned up
12021203
12031204
12041205@skip_under_gevent
@@ -1218,6 +1219,7 @@ async def test_async_worker_is_alive_wrong_pid():
12181219
12191220 worker ._task_for_pid = os .getpid ()
12201221 worker .kill ()
1222+ await asyncio .sleep (0 ) # Allow cancelled tasks to be cleaned up
12211223
12221224
12231225@skip_under_gevent
@@ -1248,6 +1250,7 @@ async def test_async_worker_start_creates_queue_and_task():
12481250 assert worker ._loop is not None
12491251 assert worker ._task_for_pid == __import__ ("os" ).getpid ()
12501252 worker .kill ()
1253+ await asyncio .sleep (0 ) # Allow cancelled tasks to be cleaned up
12511254
12521255
12531256@pytest .mark .skipif (not PY38 , reason = "AsyncWorker requires Python 3.8+" )
@@ -1275,9 +1278,11 @@ async def test_async_worker_start_reuses_existing_queue():
12751278 queue_ref = worker ._queue
12761279 # Kill and restart — queue should be reused
12771280 worker .kill ()
1281+ await asyncio .sleep (0 ) # Allow cancelled tasks to be cleaned up
12781282 worker .start ()
12791283 assert worker ._queue is queue_ref
12801284 worker .kill ()
1285+ await asyncio .sleep (0 ) # Allow cancelled tasks to be cleaned up
12811286
12821287
12831288@skip_under_gevent
@@ -1302,6 +1307,7 @@ async def test_async_worker_full_when_not_full():
13021307 worker .start ()
13031308 assert worker .full () is False
13041309 worker .kill ()
1310+ await asyncio .sleep (0 ) # Allow cancelled tasks to be cleaned up
13051311
13061312
13071313@skip_under_gevent
@@ -1325,6 +1331,7 @@ async def slow_cb():
13251331 worker .submit (slow_cb )
13261332 assert worker .full () is True
13271333 worker .kill ()
1334+ await asyncio .sleep (0 ) # Allow cancelled tasks to be cleaned up
13281335
13291336
13301337@skip_under_gevent
@@ -1346,6 +1353,7 @@ async def callback():
13461353 await asyncio .sleep (0.1 )
13471354 assert results == ["done" ]
13481355 worker .kill ()
1356+ await asyncio .sleep (0 ) # Allow cancelled tasks to be cleaned up
13491357
13501358
13511359@skip_under_gevent
@@ -1368,6 +1376,7 @@ async def slow_cb():
13681376 # Now it's full
13691377 assert worker .submit (slow_cb ) is False
13701378 worker .kill ()
1379+ await asyncio .sleep (0 ) # Allow cancelled tasks to be cleaned up
13711380
13721381
13731382@skip_under_gevent
@@ -1408,6 +1417,7 @@ async def slow_callback():
14081417
14091418 assert len (worker ._active_tasks ) > 0
14101419 worker .kill ()
1420+ await asyncio .sleep (0 ) # Allow cancelled tasks to be cleaned up
14111421 await asyncio .sleep (0.05 ) # Let cancellation propagate
14121422
14131423 assert worker ._task is None
@@ -1435,6 +1445,7 @@ async def slow_cb():
14351445 worker .submit (slow_cb )
14361446 # Now queue is full, kill should still work
14371447 worker .kill ()
1448+ await asyncio .sleep (0 ) # Allow cancelled tasks to be cleaned up
14381449 assert worker ._task is None
14391450
14401451
@@ -1448,6 +1459,7 @@ async def test_async_worker_kill_no_task():
14481459 worker = AsyncWorker ()
14491460 # Should not raise
14501461 worker .kill ()
1462+ await asyncio .sleep (0 ) # Allow cancelled tasks to be cleaned up
14511463 assert worker ._task is None
14521464
14531465
@@ -1465,6 +1477,7 @@ async def test_async_worker_flush_returns_task():
14651477 assert isinstance (task , asyncio .Task )
14661478 await task
14671479 worker .kill ()
1480+ await asyncio .sleep (0 ) # Allow cancelled tasks to be cleaned up
14681481
14691482
14701483@skip_under_gevent
@@ -1489,6 +1502,7 @@ async def test_async_worker_flush_returns_none_zero_timeout():
14891502 worker .start ()
14901503 assert worker .flush (timeout = 0.0 ) is None
14911504 worker .kill ()
1505+ await asyncio .sleep (0 ) # Allow cancelled tasks to be cleaned up
14921506
14931507
14941508@skip_under_gevent
@@ -1529,6 +1543,7 @@ async def slow_cb():
15291543 await worker ._wait_flush (timeout = 0.2 , callback = flush_callback )
15301544 assert len (callback_calls ) >= 1
15311545 worker .kill ()
1546+ await asyncio .sleep (0 ) # Allow cancelled tasks to be cleaned up
15321547
15331548
15341549@skip_under_gevent
@@ -1554,6 +1569,7 @@ async def very_slow_cb():
15541569 assert "flush timed out" in str (mock_logger .error .call_args )
15551570
15561571 worker .kill ()
1572+ await asyncio .sleep (0 ) # Allow cancelled tasks to be cleaned up
15571573
15581574
15591575@skip_under_gevent
@@ -1618,6 +1634,7 @@ async def will_be_cancelled():
16181634
16191635 worker ._queue = saved_queue
16201636 worker .kill ()
1637+ await asyncio .sleep (0 ) # Allow cancelled tasks to be cleaned up
16211638
16221639
16231640@skip_under_gevent
@@ -1640,6 +1657,7 @@ async def failing_cb():
16401657 # Check that the task was removed from active_tasks
16411658 assert len (worker ._active_tasks ) == 0
16421659 worker .kill ()
1660+ await asyncio .sleep (0 ) # Allow cancelled tasks to be cleaned up
16431661
16441662
16451663@skip_under_gevent
@@ -1669,6 +1687,7 @@ async def simple_cb():
16691687 worker ._on_task_complete (mock_task )
16701688 assert mock_task not in worker ._active_tasks
16711689 worker .kill ()
1690+ await asyncio .sleep (0 ) # Allow cancelled tasks to be cleaned up
16721691
16731692
16741693@skip_under_gevent
@@ -1683,6 +1702,7 @@ async def test_async_worker_ensure_task_calls_start():
16831702 worker ._ensure_task ()
16841703 assert worker .is_alive is True
16851704 worker .kill ()
1705+ await asyncio .sleep (0 ) # Allow cancelled tasks to be cleaned up
16861706
16871707
16881708# ============================================================================
0 commit comments