aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Lib/unittest/async_case.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/unittest/async_case.py')
-rw-r--r--Lib/unittest/async_case.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/Lib/unittest/async_case.py b/Lib/unittest/async_case.py
index a3c8bfb9eca..1bc1312c8c2 100644
--- a/Lib/unittest/async_case.py
+++ b/Lib/unittest/async_case.py
@@ -89,8 +89,9 @@ class IsolatedAsyncioTestCase(TestCase):
else:
return ret
- async def _asyncioLoopRunner(self):
- queue = self._asyncioCallsQueue
+ async def _asyncioLoopRunner(self, fut):
+ self._asyncioCallsQueue = queue = asyncio.Queue()
+ fut.set_result(None)
while True:
query = await queue.get()
queue.task_done()
@@ -113,8 +114,9 @@ class IsolatedAsyncioTestCase(TestCase):
asyncio.set_event_loop(loop)
loop.set_debug(True)
self._asyncioTestLoop = loop
- self._asyncioCallsQueue = asyncio.Queue(loop=loop)
- self._asyncioCallsTask = loop.create_task(self._asyncioLoopRunner())
+ fut = loop.create_future()
+ self._asyncioCallsTask = loop.create_task(self._asyncioLoopRunner(fut))
+ loop.run_until_complete(fut)
def _tearDownAsyncioLoop(self):
assert self._asyncioTestLoop is not None