From b8906b29a758faebba775b1ad544bba537c99d69 Mon Sep 17 00:00:00 2001 From: Ran Benita Date: Fri, 1 Sep 2023 15:13:15 +0300 Subject: [PATCH] fixtures: require `item.fixturenames` to exist in `_fillfixtures` I could find 2 plugins that would be broken by this (pytest-play and pytest-wdl), but they will be better served by just copying `_fillfixtures` instead of use the private function. --- src/_pytest/fixtures.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/_pytest/fixtures.py b/src/_pytest/fixtures.py index 7d3c8da11..dee34c348 100644 --- a/src/_pytest/fixtures.py +++ b/src/_pytest/fixtures.py @@ -685,11 +685,7 @@ class TopRequest(FixtureRequest): def _fillfixtures(self) -> None: item = self._pyfuncitem - fixturenames = getattr(item, "fixturenames", None) - if fixturenames is None: - # Mildly expensive so don't move into the getattr! - fixturenames = self.fixturenames - for argname in fixturenames: + for argname in item.fixturenames: if argname not in item.funcargs: item.funcargs[argname] = self.getfixturevalue(argname)