cpython/Lib/test/test_asyncio
Miss Islington (bot) 773dbb9e3a
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 09:58:35 -07:00
..
__init__.py bpo-40280: Skip socket, fork, subprocess tests on Emscripten (GH-31986) 2022-03-22 03:04:36 -07: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 14:48:24 +02:00
test_base_events.py gh-72889: Remove redundant mock.Mock()._is_coroutine = False workarounds (GH-94926) 2022-07-17 10:49:01 -07:00
test_buffered_proto.py
test_context.py bpo-46425: fix direct invocation of asyncio tests (#30725) 2022-01-22 13:06:27 +02:00
test_events.py Simplify testing the warning filename (GH-91868) 2022-04-24 10:23:59 +03:00
test_futures.py Simplify testing the warning filename (GH-91868) 2022-04-24 10:23:59 +03:00
test_futures2.py [3.11] bpo-45924: Fix asyncio incorrect traceback when future's exception is raised multiple times (GH-30274) (#94747) 2022-07-11 14:17:32 +01:00
test_locks.py gh-90155: Fix bug in asyncio.Semaphore and strengthen FIFO guarantee (GH-93222) 2022-09-22 09:58:35 -07:00
test_pep492.py bpo-43216: Remove @asyncio.coroutine (GH-26369) 2021-07-01 15:13:59 +02:00
test_proactor_events.py bpo-43253: Don't call shutdown() for invalid socket handles (GH-31892) 2022-03-15 16:59:02 +02:00
test_protocols.py Fix warning: asyncio.events._event_loop_policy was modified by test_asyncio (GH-31253) 2022-02-10 14:57:20 +02:00
test_queues.py bpo-47076: Make asyncio.Queue stable on slow test boxes (GH-32040) 2022-03-22 16:00:23 +02:00
test_runners.py GH-95899: fix asyncio.Runner to call set_event_loop only once (GH-95900) (#96003) 2022-08-15 15:01:23 -07:00
test_selector_events.py gh-72889: Remove redundant mock.Mock()._is_coroutine = False workarounds (GH-94926) 2022-07-17 10:49:01 -07:00
test_sendfile.py Remove trailing spaces (GH-31695) 2022-03-05 17:47:00 +02:00
test_server.py
test_sock_lowlevel.py bpo-46805: Add low level UDP socket functions to asyncio (GH-31455) 2022-03-13 18:42:29 +02:00
test_ssl.py gh-95573: Reduce test data size in test_asyncio/test_ssl.py (GH-95668) (GH-95705) 2022-08-05 11:23:57 +02:00
test_sslproto.py bpo-46198: Fix test_asyncio.test_sslproto (GH-31801) 2022-03-10 13:36:22 -08:00
test_streams.py GH-74116: Allow multiple drain waiters for asyncio.StreamWriter (GH-94705) (#96395) 2022-08-30 12:00:21 +01:00
test_subprocess.py gh-95010: Fix asyncio GenericWatcherTests.test_create_subprocess_fails_with_inactive_watcher (GH-95009) 2022-07-21 06:01:05 -07:00
test_taskgroups.py GH-95704: Don't suppress errors from tasks when TG is cancelled (GH-95761) 2022-08-17 10:04:59 -07:00
test_tasks.py gh-91323: Revert "Allow overriding a future compliance check in asyncio.Task (GH-32197)" (GH-95442) (GH-95652) 2022-08-04 18:07:39 +02:00
test_threads.py bpo-47104: Rewrite asyncio.to_thread tests to use IsolatedAsyncioTestCase (GH-32086) 2022-03-23 23:17:07 +02:00
test_timeouts.py gh-95051: ensure that timeouts scheduled with asyncio.Timeout that have already expired are deliverered promptly (GH-95109) (GH-95216) 2022-07-26 12:16:12 +02:00
test_transports.py Fix warning: asyncio.events._event_loop_policy was modified by test_asyncio (GH-31253) 2022-02-10 14:57:20 +02:00
test_unix_events.py gh-95597: Fix typo in Lib directory files (GH-95599) 2022-08-03 14:43:01 -07:00
test_waitfor.py bpo-47038: Increase a test timeout for slow CI machines (GH-31951) 2022-03-17 02:54:36 +02:00
test_windows_events.py fix DeprecationWarning when running asyncio tests (GH-30486) 2022-01-22 13:20:10 +02:00
test_windows_utils.py bpo-44287: asyncio test_popen() uses longer timeout (GH-26832) 2021-06-22 01:58:19 +02:00
utils.py bpo-46805: Add low level UDP socket functions to asyncio (GH-31455) 2022-03-13 18:42:29 +02:00