From: Serhiy Storchaka Date: Wed, 17 Aug 2022 09:05:17 +0000 (+0300) Subject: gh-95736: Fix event loop creation in IsolatedAsyncioTestCase (GH-96033) X-Git-Tag: v3.12.0a1~632 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=36517101dd80cae93da379e95e98a688c52935b7;p=thirdparty%2FPython%2Fcpython.git gh-95736: Fix event loop creation in IsolatedAsyncioTestCase (GH-96033) It should be created before calling the setUp() method, but after checking for skipping a test. Automerge-Triggered-By: GH:tiran --- diff --git a/Lib/unittest/async_case.py b/Lib/unittest/async_case.py index 8b06fad06209..3457e92e5da2 100644 --- a/Lib/unittest/async_case.py +++ b/Lib/unittest/async_case.py @@ -79,6 +79,10 @@ class IsolatedAsyncioTestCase(TestCase): return result def _callSetUp(self): + # Force loop to be initialized and set as the current loop + # so that setUp functions can use get_event_loop() and get the + # correct loop instance. + self._asyncioRunner.get_loop() self._asyncioTestContext.run(self.setUp) self._callAsync(self.asyncSetUp) @@ -116,10 +120,6 @@ class IsolatedAsyncioTestCase(TestCase): assert self._asyncioRunner is None, 'asyncio runner is already initialized' runner = asyncio.Runner(debug=True) self._asyncioRunner = runner - # Force loop to be initialized and set as the current loop - # so that setUp functions can use get_event_loop() and get the - # correct loop instance. - runner.get_loop() def _tearDownAsyncioRunner(self): runner = self._asyncioRunner