Repository navigation
Remove yield from usage from asyncio tests #100113
Description
Activity
There are a few
yield fromin asyncio tests (Lib/test/test_asyncio/):test_futures.py:296: x = yield from f test_futures.py:298: y = yield from f test_futures.py:303: self.assertEqual(next(g), f) # First yield from f. test_futures.py:306: # The second "yield from f" does not yield f. test_futures.py:408: yield from fut test_pep492.py:152: yield from () test_sslproto.py:99: # yield from waiter hang if lost_connection was called. test_tasks.py:2096: return (yield from fut) utils.py:271: yield from _run_test_server(address=path, use_ssl=use_ssl, utils.py:278: yield from _run_test_server(address=(host, port), use_ssl=use_ssl,- added a commit that references this issue
on Dec 9, 2022 There are a few yield from in asyncio tests (Lib/test/test_asyncio/):
I think those are testing the internal implementation of futures and they are not used with asyncio APIs. I don't think they should be changed to await.
There's a comment referencing
yield fromon line 66 of asyncio/futures.py that probably should be updated, if indeed we are dropping (or have dropped)yield fromsupport. Similar on line 292 (seems to refer to the same thing).Next, in asyncio/tasks.py, line 316 there's an error message complaining about
yieldinstead ofyield from. Should that beawaittoo? Again on line 327. The same error messages also occur in _asynciomodule.c.Then there's
_wrap_awaitable(), also in tasks.py, which on line 687 has ayield from.But maybe I'm not understanding how
yield fromis used here???Then there's _wrap_awaitable(), also in tasks.py, which on line 687 has a yield from.
This has been removed now.
Next, in asyncio/tasks.py, line 316 there's an error message complaining about yield instead of yield from. Should that be await too? Again on line 327. The same error messages also occur in _asynciomodule.c.
That's debugging aid for people who are writing their own awaitables with custom
__await__method.Closing this, anything left can be handled in #102748
Metadata
Metadata
Assignees
Labels
Projects
- StatusShow more project fieldsDone
Support for
yield fromwas deprecated and removed so it should be removed.See
cpython/Lib/test/test_asyncio/test_tasks.py
Lines 2093 to 2100 in cd67c1b
Linked PRs
yield fromusage fromasynciotests #100114