Skip to content

Commit f26c693

Browse files
committed
add type annotations
1 parent 6db4724 commit f26c693

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

src/_pytest/fixtures.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,10 @@
66
from collections import defaultdict
77
from collections import deque
88
from collections import OrderedDict
9+
from typing import Any
910
from typing import Dict
1011
from typing import List
12+
from typing import Optional
1113
from typing import Tuple
1214

1315
import attr
@@ -886,15 +888,13 @@ def finish(self, request):
886888
del self.cached_result
887889
self._finalizers = []
888890

889-
def execute(self, request):
891+
def execute(self, request: SubRequest) -> Optional[Any]:
890892
for argname in self._dependee_fixture_argnames(request):
891893
if argname == "request":
892894
continue
893895
fixturedef = request._get_active_fixturedef(argname)
894896
if not self._will_be_finalized_by_fixture(fixturedef):
895-
fixturedef.addfinalizer(
896-
functools.partial(self.finish, request=request)
897-
)
897+
fixturedef.addfinalizer(functools.partial(self.finish, request=request))
898898

899899
my_cache_key = self.cache_key(request)
900900
cached_result = getattr(self, "cached_result", None)
@@ -914,7 +914,7 @@ def execute(self, request):
914914
hook = self._fixturemanager.session.gethookproxy(request.node.fspath)
915915
return hook.pytest_fixture_setup(fixturedef=self, request=request)
916916

917-
def _will_be_finalized_by_fixture(self, fixturedef):
917+
def _will_be_finalized_by_fixture(self, fixturedef: "FixtureDef") -> bool:
918918
"""Whether or not this fixture be finalized by the passed fixture.
919919
920920
Every ``:class:FixtureDef`` keeps a list of all the finishers (tear downs) of
@@ -933,7 +933,7 @@ def _will_be_finalized_by_fixture(self, fixturedef):
933933
return True
934934
return False
935935

936-
def _dependee_fixture_argnames(self, request):
936+
def _dependee_fixture_argnames(self, request: SubRequest) -> Tuple[str, ...]:
937937
"""A list of argnames for fixtures that this fixture depends on.
938938
939939
Given a request, this looks at the currently known list of fixture argnames, and
@@ -976,7 +976,7 @@ def _dependee_fixture_argnames(self, request):
976976
current_fix_index = len(request.fixturenames)
977977
parent_fixture_indexes = set()
978978

979-
parent_request = request._parent_request
979+
parent_request = getattr(request, "_parent_request")
980980
while hasattr(parent_request, "_parent_request"):
981981
if hasattr(parent_request, "_fixturedef"):
982982
parent_fix_name = parent_request._fixturedef.argname
@@ -986,7 +986,7 @@ def _dependee_fixture_argnames(self, request):
986986

987987
stack_slice_index = min([current_fix_index, *parent_fixture_indexes])
988988
active_fixture_argnames = all_fix_names[:stack_slice_index]
989-
return tuple(active_fixture_argnames) + self.argnames
989+
return tuple(tuple(active_fixture_argnames) + self.argnames)
990990

991991
def cache_key(self, request):
992992
return request.param_index if not hasattr(request, "param") else request.param

0 commit comments

Comments
 (0)