MCPcopy
hub / github.com/pytest-dev/pytest / _matchfactories

Method _matchfactories

src/_pytest/fixtures.py:2155–2169  ·  view source on GitHub ↗
(
        self, fixturedefs: Iterable[FixtureDef[Any]], node: nodes.Node
    )

Source from the content-addressed store, hash-verified

2153 return tuple(self._matchfactories(fixturedefs, node))
2154
2155 def _matchfactories(
2156 self, fixturedefs: Iterable[FixtureDef[Any]], node: nodes.Node
2157 ) -> Iterator[FixtureDef[Any]]:
2158 # Collect parent nodes and their IDs for matching
2159 parent_nodes = set(node.iter_parents())
2160 parentnodeids = {n.nodeid for n in parent_nodes}
2161
2162 for fixturedef in fixturedefs:
2163 if fixturedef.node is not None:
2164 # Node-based matching: check if fixture's node is a parent
2165 if fixturedef.node in parent_nodes:
2166 yield fixturedef
2167 elif fixturedef.baseid in parentnodeids:
2168 # Fallback to string-based matching for legacy/plugins
2169 yield fixturedef
2170
2171
2172def show_fixtures_per_test(config: Config) -> int | ExitCode:

Callers 2

getfixturedefsMethod · 0.95
formatreprMethod · 0.80

Calls 1

iter_parentsMethod · 0.80

Tested by

no test coverage detected