Add typing for FixtureRequest.param (#10133)
For now, mark it as Any until #8073 is solved Fixes #9514
This commit is contained in:
parent
cbcb3a356e
commit
c1d134172c
1
AUTHORS
1
AUTHORS
|
@ -252,6 +252,7 @@ Nicholas Murphy
|
|||
Niclas Olofsson
|
||||
Nicolas Delaby
|
||||
Nikolay Kondratyev
|
||||
Nipunn Koorapati
|
||||
Olga Matoula
|
||||
Oleg Pidsadnyi
|
||||
Oleg Sushchenko
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Type-annotate ``FixtureRequest.param`` as ``Any`` as a stop gap measure until :issue:`8073` is fixed.
|
|
@ -345,7 +345,7 @@ def reorder_items_atscope(
|
|||
return items_done
|
||||
|
||||
|
||||
def get_direct_param_fixture_func(request):
|
||||
def get_direct_param_fixture_func(request: "FixtureRequest") -> Any:
|
||||
return request.param
|
||||
|
||||
|
||||
|
@ -407,6 +407,15 @@ class FixtureRequest:
|
|||
self._arg2fixturedefs = fixtureinfo.name2fixturedefs.copy()
|
||||
self._arg2index: Dict[str, int] = {}
|
||||
self._fixturemanager: FixtureManager = pyfuncitem.session._fixturemanager
|
||||
# Notes on the type of `param`:
|
||||
# -`request.param` is only defined in parametrized fixtures, and will raise
|
||||
# AttributeError otherwise. Python typing has no notion of "undefined", so
|
||||
# this cannot be reflected in the type.
|
||||
# - Technically `param` is only (possibly) defined on SubRequest, not
|
||||
# FixtureRequest, but the typing of that is still in flux so this cheats.
|
||||
# - In the future we might consider using a generic for the param type, but
|
||||
# for now just using Any.
|
||||
self.param: Any
|
||||
|
||||
@property
|
||||
def scope(self) -> "_ScopeName":
|
||||
|
|
Loading…
Reference in New Issue