Skip to content

Commit b3a981d

Browse files
committed
fixtures: remove getfixtureinfo(funcargs) in favor of None func
Since we already broke plugins using this (private) interface in this version (pytest-play, pytest-wdl), might as well do a cleanup.
1 parent 48b0395 commit b3a981d

File tree

3 files changed

+6
-15
lines changed

3 files changed

+6
-15
lines changed

src/_pytest/doctest.py

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -592,14 +592,9 @@ def _from_module(self, module, object):
592592
def _setup_fixtures(doctest_item: DoctestItem) -> TopRequest:
593593
"""Used by DoctestTextfile and DoctestItem to setup fixture information."""
594594

595-
def func() -> None:
596-
pass
597-
598595
doctest_item.funcargs = {} # type: ignore[attr-defined]
599596
fm = doctest_item.session._fixturemanager
600-
fixtureinfo = fm.getfixtureinfo(
601-
node=doctest_item, func=func, cls=None, funcargs=False
602-
)
597+
fixtureinfo = fm.getfixtureinfo(node=doctest_item, func=None, cls=None)
603598
doctest_item._fixtureinfo = fixtureinfo # type: ignore[attr-defined]
604599
doctest_item.fixturenames = fixtureinfo.names_closure # type: ignore[attr-defined]
605600
fixture_request = TopRequest(doctest_item, _ispytest=True) # type: ignore[arg-type]

src/_pytest/fixtures.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1460,13 +1460,12 @@ def __init__(self, session: "Session") -> None:
14601460
def getfixtureinfo(
14611461
self,
14621462
node: nodes.Item,
1463-
func: Callable[..., object],
1463+
func: Optional[Callable[..., object]],
14641464
cls: Optional[type],
1465-
funcargs: bool = True,
14661465
) -> FuncFixtureInfo:
14671466
"""Calculate the :class:`FuncFixtureInfo` for an item.
14681467
1469-
If ``funcargs`` is false, or if the item sets an attribute
1468+
If ``func`` is None, or if the item sets an attribute
14701469
``nofuncargs = True``, then ``func`` is not examined at all.
14711470
14721471
:param node:
@@ -1475,10 +1474,8 @@ def getfixtureinfo(
14751474
The item's function.
14761475
:param cls:
14771476
If the function is a method, the method's class.
1478-
:param funcargs:
1479-
Whether to look into func's parameters as fixture requests.
14801477
"""
1481-
if funcargs and not getattr(node, "nofuncargs", False):
1478+
if func is not None and not getattr(node, "nofuncargs", False):
14821479
argnames = getfuncargnames(func, name=node.name, cls=cls)
14831480
else:
14841481
argnames = ()

src/_pytest/python.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1800,9 +1800,8 @@ def __init__(
18001800
self.keywords.update(keywords)
18011801

18021802
if fixtureinfo is None:
1803-
fixtureinfo = self.session._fixturemanager.getfixtureinfo(
1804-
self, self.obj, self.cls, funcargs=True
1805-
)
1803+
fm = self.session._fixturemanager
1804+
fixtureinfo = fm.getfixtureinfo(self, self.obj, self.cls)
18061805
self._fixtureinfo: FuncFixtureInfo = fixtureinfo
18071806
self.fixturenames = fixtureinfo.names_closure
18081807
self._initrequest()

0 commit comments

Comments
 (0)