From 36517101dd80cae93da379e95e98a688c52935b7 Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Wed, 17 Aug 2022 12:05:17 +0300 Subject: [PATCH] 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 --- Lib/unittest/async_case.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Lib/unittest/async_case.py b/Lib/unittest/async_case.py index 8b06fad0620..3457e92e5da 100644 --- a/Lib/unittest/async_case.py +++ b/Lib/unittest/async_case.py @@ -79,6 +79,10 @@ async def enterAsyncContext(self, cm): 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 @@ def _setupAsyncioRunner(self): 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