From 82bd63d318dd46e877b51beaf80c9758603aa0b1 Mon Sep 17 00:00:00 2001 From: Ran Benita Date: Fri, 1 Sep 2023 14:49:34 +0300 Subject: [PATCH] doctest: add `fixturenames` field to `DoctestItem` The field is used in `_fillfixtures`, in preference to `request.fixturenames`, which also includes already-computed which is not needed. --- src/_pytest/doctest.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/_pytest/doctest.py b/src/_pytest/doctest.py index e6f666dda..c3dbf84c2 100644 --- a/src/_pytest/doctest.py +++ b/src/_pytest/doctest.py @@ -579,9 +579,11 @@ def _setup_fixtures(doctest_item: DoctestItem) -> TopRequest: doctest_item.funcargs = {} # type: ignore[attr-defined] fm = doctest_item.session._fixturemanager - doctest_item._fixtureinfo = fm.getfixtureinfo( # type: ignore[attr-defined] + fixtureinfo = fm.getfixtureinfo( node=doctest_item, func=func, cls=None, funcargs=False ) + doctest_item._fixtureinfo = fixtureinfo # type: ignore[attr-defined] + doctest_item.fixturenames = fixtureinfo.names_closure # type: ignore[attr-defined] fixture_request = TopRequest(doctest_item, _ispytest=True) # type: ignore[arg-type] fixture_request._fillfixtures() return fixture_request