Pytest warning `RuntimeError: Event loop is closed`
gertvdijk opened this issue · 0 comments
gertvdijk commented
Seen in Python 3.12 as warning, and printed on stderr on 3.11.5.
tests/integration/examples/test_append_header_ip.py::test_append_header_ip[start_testserver0]
/home/gert/repos/purepythonmilter/.direnv/python-3.12/lib/python3.12/site-packages/_pytest/unraisableexception.py:78: PytestUnraisableExceptionWarning: Exception ignored in: <function StreamWriter.__del__ at 0x7fc2455c71a0>
Traceback (most recent call last):
File "/home/gert/.pyenv/versions/3.12.0/lib/python3.12/asyncio/streams.py", line 397, in __del__
self.close()
File "/home/gert/.pyenv/versions/3.12.0/lib/python3.12/asyncio/streams.py", line 343, in close
return self._transport.close()
^^^^^^^^^^^^^^^^^^^^^^^
File "/home/gert/.pyenv/versions/3.12.0/lib/python3.12/asyncio/selector_events.py", line 1206, in close
super().close()
File "/home/gert/.pyenv/versions/3.12.0/lib/python3.12/asyncio/selector_events.py", line 871, in close
self._loop.call_soon(self._call_connection_lost, None)
File "/home/gert/.pyenv/versions/3.12.0/lib/python3.12/asyncio/base_events.py", line 772, in call_soon
self._check_closed()
File "/home/gert/.pyenv/versions/3.12.0/lib/python3.12/asyncio/base_events.py", line 519, in _check_closed
raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed
warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
$ pytest -v -k test_server_protocol_violation_close_connection
[...]
tests/integration/test_server.py::test_server_protocol_violation_close_connection[start_testserver0] PASSEDException ignored in: <function StreamWriter.__del__ at 0x7f05a1d22200>
Traceback (most recent call last):
File "/usr/lib/python3.11/asyncio/streams.py", line 396, in __del__
self.close()
File "/usr/lib/python3.11/asyncio/streams.py", line 344, in close
return self._transport.close()
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/asyncio/selector_events.py", line 860, in close
self._loop.call_soon(self._call_connection_lost, None)
File "/usr/lib/python3.11/asyncio/base_events.py", line 761, in call_soon
self._check_closed()
File "/usr/lib/python3.11/asyncio/base_events.py", line 519, in _check_closed
raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed
[...]
Unsure whether this is a test-only issue or an actual bug in real use cases too.