-
-
Notifications
You must be signed in to change notification settings - Fork 32.4k
Open
Labels
3.11only security fixesonly security fixes3.12only security fixesonly security fixesstdlibPython modules in the Lib dirPython modules in the Lib dirtopic-asynciotype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
Description
Example:
import unittest
events = []
class Test(unittest.IsolatedAsyncioTestCase):
def test(self):
events.append('started')
self.addCleanup(events.append, 'cleanup')
self.doCleanups()
events.append('end')
unittest.main(exit=False)
assert events == ['started', 'cleanup', 'end'], events
The above passes in 3.9 and 3.10, but fails in 3.11 with
E
======================================================================
ERROR: test (__main__.Test)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/.../cpython/Lib/unittest/async_case.py", line 75, in _callCleanup
self._callMaybeAsync(function, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/.../cpython/Lib/unittest/async_case.py", line 95, in _callMaybeAsync
return self._asyncioTestContext.run(func, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: cannot enter context: <_contextvars.Context object at 0x7fb2f93a9900> is already entered
----------------------------------------------------------------------
Ran 1 test in 0.002s
FAILED (errors=1)
Traceback (most recent call last):
File "<stdin>", line 16, in <module>
AssertionError: ['started', 'end']
Metadata
Metadata
Assignees
Labels
3.11only security fixesonly security fixes3.12only security fixesonly security fixesstdlibPython modules in the Lib dirPython modules in the Lib dirtopic-asynciotype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
Projects
Status
Todo
Status
Todo