Skip to content

Commit 1fbc4c2

Browse files
committed
refactor: Extracted function that returns the event loop scope of a marked function.
1 parent e8b18c7 commit 1fbc4c2

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

pytest_asyncio/plugin.py

+8-2
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
FixtureRequest,
3939
Function,
4040
Item,
41+
Mark,
4142
Metafunc,
4243
Module,
4344
Package,
@@ -738,7 +739,7 @@ def pytest_generate_tests(metafunc: Metafunc) -> None:
738739
marker = metafunc.definition.get_closest_marker("asyncio")
739740
if not marker:
740741
return
741-
scope = marker.kwargs.get("scope", "function")
742+
scope = _get_marked_loop_scope(marker)
742743
if scope == "function":
743744
return
744745
event_loop_node = _retrieve_scope_root(metafunc.definition, scope)
@@ -971,7 +972,7 @@ def pytest_runtest_setup(item: pytest.Item) -> None:
971972
marker = item.get_closest_marker("asyncio")
972973
if marker is None:
973974
return
974-
scope = marker.kwargs.get("scope", "function")
975+
scope = _get_marked_loop_scope(marker)
975976
if scope != "function":
976977
parent_node = _retrieve_scope_root(item, scope)
977978
event_loop_fixture_id = parent_node.stash[_event_loop_fixture_id]
@@ -990,6 +991,11 @@ def pytest_runtest_setup(item: pytest.Item) -> None:
990991
)
991992

992993

994+
def _get_marked_loop_scope(asyncio_marker: Mark) -> _ScopeName:
995+
assert asyncio_marker.name == "asyncio"
996+
return asyncio_marker.kwargs.get("scope", "function")
997+
998+
993999
def _retrieve_scope_root(item: Union[Collector, Item], scope: str) -> Collector:
9941000
node_type_by_scope = {
9951001
"class": Class,

0 commit comments

Comments
 (0)