[New-bugs-announce] [issue39613] IsolatedAsyncioTestCase closes default event loop

Artur Rodrigues report at bugs.python.org
Tue Feb 11 14:51:37 EST 2020

New submission from Artur Rodrigues <arturhoo at gmail.com>:

This means that subsequent test cases executed within the same application that don't create the event loop will fail. This seems like a behaviour change that wasn't raised on the original PR.

$ cat test.py
from unittest import IsolatedAsyncioTestCase, TestCase, main
import asyncio

class Test1(IsolatedAsyncioTestCase):
    async def test_one(self):

class Test2(TestCase):
    def test_two(self):
        loop = asyncio.get_event_loop()

if __name__ == "__main__":
$ /usr/local/opt/python at 3.8/bin/python3 test.py
ERROR: test_two (__main__.Test2)
Traceback (most recent call last):
  File "test.py", line 13, in test_two
    loop = asyncio.get_event_loop()
  File "/usr/local/Cellar/python at 3.8/3.8.1/Frameworks/Python.framework/Versions/3.8/lib/python3.8/asyncio/events.py", line 639, in get_event_loop
    raise RuntimeError('There is no current event loop in thread %r.'
RuntimeError: There is no current event loop in thread 'MainThread'.

Ran 2 tests in 0.006s

FAILED (errors=1)
$ uname -a
Darwin arturhoo-mbp 18.7.0 Darwin Kernel Version 18.7.0: Sun Dec  1 18:59:03 PST 2019; root:xnu-4903.278.19~1/RELEASE_X86_64 x86_64

components: asyncio
messages: 361831
nosy: arturhoo, asvetlov, yselivanov
priority: normal
severity: normal
status: open
title: IsolatedAsyncioTestCase closes default event loop
type: behavior
versions: Python 3.8, Python 3.9

Python tracker <report at bugs.python.org>

More information about the New-bugs-announce mailing list