From d2b5177dd666d034e982db1dd69e411fcff123dd Mon Sep 17 00:00:00 2001 From: Ran Benita Date: Fri, 1 Sep 2023 15:01:05 +0300 Subject: [PATCH] fixtures: avoid some redundant work in `_fillfixtures` --- src/_pytest/fixtures.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/_pytest/fixtures.py b/src/_pytest/fixtures.py index 0fefaa0d0..7d3c8da11 100644 --- a/src/_pytest/fixtures.py +++ b/src/_pytest/fixtures.py @@ -685,7 +685,10 @@ class TopRequest(FixtureRequest): def _fillfixtures(self) -> None: item = self._pyfuncitem - fixturenames = getattr(item, "fixturenames", self.fixturenames) + 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: if argname not in item.funcargs: item.funcargs[argname] = self.getfixturevalue(argname)