From 6d15279842535ea71288b61f50781218898ea02a Mon Sep 17 00:00:00 2001 From: Sylvain Ackermann Date: Fri, 16 Jul 2021 16:30:20 +0200 Subject: [PATCH 1/2] Fix pytest crash when async generator setup code is keyboard interrupted. --- pytest_asyncio/plugin.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pytest_asyncio/plugin.py b/pytest_asyncio/plugin.py index 7665ff4d..188bf17b 100644 --- a/pytest_asyncio/plugin.py +++ b/pytest_asyncio/plugin.py @@ -138,8 +138,9 @@ async def async_finalizer(): loop.run_until_complete(async_finalizer()) + result = loop.run_until_complete(setup()) request.addfinalizer(finalizer) - return loop.run_until_complete(setup()) + return result fixturedef.func = wrapper elif inspect.iscoroutinefunction(fixturedef.func): From b3020c62b23cc8f63325d094d3ac7c4863d0ea12 Mon Sep 17 00:00:00 2001 From: Andrew Svetlov Date: Tue, 11 Jan 2022 15:56:07 +0200 Subject: [PATCH 2/2] Add changenote --- README.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/README.rst b/README.rst index 0b35000b..59d2ae9c 100644 --- a/README.rst +++ b/README.rst @@ -264,6 +264,7 @@ Changelog - Added `flaky `_ to test dependencies - Added ``unused_udp_port`` and ``unused_udp_port_factory`` fixtures (similar to ``unused_tcp_port`` and ``unused_tcp_port_factory`` counterparts. `#99 `_ - Added the plugin modes: *strict*, *auto*, and *legacy*. See `documentation `_ for details. `#125 `_ +- Correctly process ``LeyboardInterrupt`` during async fixture setup phase `#219 `_ 0.16.0 (2021-10-16) ~~~~~~~~~~~~~~~~~~~