(self, argname: str)
| 468 | return self._getscopeitem(self._scope) |
| 469 | |
| 470 | def _getnextfixturedef(self, argname: str) -> "FixtureDef[Any]": |
| 471 | fixturedefs = self._arg2fixturedefs.get(argname, None) |
| 472 | if fixturedefs is None: |
| 473 | # We arrive here because of a dynamic call to |
| 474 | # getfixturevalue(argname) usage which was naturally |
| 475 | # not known at parsing/collection time. |
| 476 | assert self._pyfuncitem.parent is not None |
| 477 | parentid = self._pyfuncitem.parent.nodeid |
| 478 | fixturedefs = self._fixturemanager.getfixturedefs(argname, parentid) |
| 479 | # TODO: Fix this type ignore. Either add assert or adjust types. |
| 480 | # Can this be None here? |
| 481 | self._arg2fixturedefs[argname] = fixturedefs # type: ignore[assignment] |
| 482 | # fixturedefs list is immutable so we maintain a decreasing index. |
| 483 | index = self._arg2index.get(argname, 0) - 1 |
| 484 | if fixturedefs is None or (-index > len(fixturedefs)): |
| 485 | raise FixtureLookupError(argname, self) |
| 486 | self._arg2index[argname] = index |
| 487 | return fixturedefs[index] |
| 488 | |
| 489 | @property |
| 490 | def config(self) -> Config: |
no test coverage detected