cpython/Lib/test/test_asyncio
Miss Islington (bot) 646aa7efb3
gh-90155: Fix bug in asyncio.Semaphore and strengthen FIFO guarantee (GH-93222)
The main problem was that an unluckily timed task cancellation could cause
the semaphore to be stuck. There were also doubts about strict FIFO ordering
of tasks allowed to pass.

The Semaphore implementation was rewritten to be more similar to Lock.
Many tests for edge cases (including cancellation) were added.
(cherry picked from commit 24e0379624)

Co-authored-by: Cyker Way <cykerway@gmail.com>
2022-09-22 10:01:14 -07:00
..
__init__.py bpo-40275: Use new test.support helper submodules in tests (GH-20824) 2020-06-25 14:15:40 +02:00
__main__.py
echo.py
echo2.py
echo3.py
functional.py bpo-45011: Fix test_asyncio without C module _asyncio (GH-27968) 2021-08-26 06:41:29 -07:00
test_base_events.py bpo-26552: Fixed case where failing asyncio.ensure_future did not close the coroutine (#30288) (#31003) 2022-01-28 22:57:18 -08:00
test_buffered_proto.py bpo-38242: Revert "bpo-36889: Merge asyncio streams (GH-13251)" (#16482) 2019-09-29 21:59:55 -07:00
test_context.py bpo-46425: fix direct invocation of asyncio tests (GH-30725) (#30782) 2022-01-22 14:29:51 +02:00
test_events.py bpo-23819: Get rid of assert statements in test_asyncio (GH-30212) (GH-30213) 2021-12-20 14:50:45 +02:00
test_futures.py [3.10] bpo-46469: Make asyncio generic classes return GenericAlias (GH-30777) (#30784) 2022-01-22 14:28:51 +02:00
test_futures2.py bpo-45924: Fix asyncio incorrect traceback when future's exception is raised multiple times (GH-30274) (#94748) 2022-07-11 15:38:27 +01:00
test_locks.py gh-90155: Fix bug in asyncio.Semaphore and strengthen FIFO guarantee (GH-93222) 2022-09-22 10:01:14 -07:00
test_pep492.py bpo-42392: Remove loop parameter form asyncio locks and Queue (#23420) 2020-11-24 20:08:54 +02:00
test_proactor_events.py bpo-43253: Don't call shutdown() for invalid socket handles (GH-31892) 2022-03-15 08:22:01 -07:00
test_protocols.py [3.10] Fix warning: asyncio.events._event_loop_policy was modified by test_asyncio (GH-31253) (GH-31255) 2022-02-10 15:27:15 +02:00
test_queues.py [3.10] bpo-46469: Make asyncio generic classes return GenericAlias (GH-30777) (#30784) 2022-01-22 14:28:51 +02:00
test_runners.py [3.10] Fix warning: asyncio.events._event_loop_policy was modified by test_asyncio (GH-31253) (GH-31255) 2022-02-10 15:27:15 +02:00
test_selector_events.py bpo-46827: pass sock.type to getaddrinfo in sock_connect (GH-31499) 2022-02-22 13:09:35 -08:00
test_sendfile.py bpo-41682: fixed flaky test test_sendfile_close_peer_in_the_middle_of_receiving (GH-30845) (#30860) 2022-01-25 18:40:13 +01:00
test_server.py bpo-42392: Remove loop parameter from asyncio.streams (GH-23517) 2020-11-26 09:36:37 +02:00
test_sock_lowlevel.py [3.10] Fix warning: asyncio.events._event_loop_policy was modified by test_asyncio (GH-31253) (GH-31255) 2022-02-10 15:27:15 +02:00
test_sslproto.py [3.10] bpo-46198: rename duplicate tests and remove unused code (GH-30297) (GH-31796) 2022-03-10 13:53:50 -08:00
test_streams.py GH-74116: Allow multiple drain waiters for asyncio.StreamWriter (GH-94705) 2022-09-08 08:42:08 -07:00
test_subprocess.py [3.10] Fix typos in the Lib directory (GH-28775) (GH-28804) 2021-10-07 11:49:47 -04:00
test_tasks.py gh-84753: Make inspect.iscoroutinefunction() work with AsyncMock (GH-94050) (GH-94461) 2022-06-30 20:02:15 +02:00
test_threads.py bpo-47104: Rewrite asyncio.to_thread tests to use IsolatedAsyncioTestCase (GH-32086) 2022-03-23 14:43:32 -07:00
test_transports.py [3.10] Fix warning: asyncio.events._event_loop_policy was modified by test_asyncio (GH-31253) (GH-31255) 2022-02-10 15:27:15 +02:00
test_unix_events.py gh-95597: Fix typo in Lib directory files (GH-95599) 2022-08-03 14:50:10 -07:00
test_waitfor.py bpo-47038: Increase a test timeout for slow CI machines (GH-31951) 2022-03-16 18:20:02 -07:00
test_windows_events.py bpo-39010: Improve test shutdown (#22066) 2020-09-02 21:58:50 -07:00
test_windows_utils.py bpo-44287: asyncio test_popen() uses longer timeout (GH-26832) 2021-06-21 17:22:02 -07:00
utils.py bpo-23819: Get rid of assert statements in test_asyncio (GH-30212) (GH-30213) 2021-12-20 14:50:45 +02:00