(
self, fixturedefs: Iterable[FixtureDef[Any]], node: nodes.Node
)
| 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 | |
| 2172 | def show_fixtures_per_test(config: Config) -> int | ExitCode: |
no test coverage detected