Skip to content

Commit bb5a4e2

Browse files
authored
Merge pull request #9531 from bluetech/misc
python: fix confused docstring of `Metafunc._resolve_arg_ids`
2 parents 888026f + 471634d commit bb5a4e2

File tree

2 files changed

+27
-20
lines changed

2 files changed

+27
-20
lines changed

src/_pytest/fixtures.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -992,8 +992,8 @@ def finish(self, request: SubRequest) -> None:
992992
if exc:
993993
raise exc
994994
finally:
995-
hook = self._fixturemanager.session.gethookproxy(request.node.path)
996-
hook.pytest_fixture_post_finalizer(fixturedef=self, request=request)
995+
ihook = request.node.ihook
996+
ihook.pytest_fixture_post_finalizer(fixturedef=self, request=request)
997997
# Even if finalization fails, we invalidate the cached fixture
998998
# value and remove all finalizers because they may be bound methods
999999
# which will keep instances alive.
@@ -1027,8 +1027,8 @@ def execute(self, request: SubRequest) -> FixtureValue:
10271027
self.finish(request)
10281028
assert self.cached_result is None
10291029

1030-
hook = self._fixturemanager.session.gethookproxy(request.node.path)
1031-
result = hook.pytest_fixture_setup(fixturedef=self, request=request)
1030+
ihook = request.node.ihook
1031+
result = ihook.pytest_fixture_setup(fixturedef=self, request=request)
10321032
return result
10331033

10341034
def cache_key(self, request: SubRequest) -> object:

src/_pytest/python.py

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1121,7 +1121,7 @@ def parametrize(
11211121
It will also override any fixture-function defined scope, allowing
11221122
to set a dynamic scope using test context or configuration.
11231123
"""
1124-
argnames, parameters = ParameterSet._for_parametrize(
1124+
argnames, parametersets = ParameterSet._for_parametrize(
11251125
argnames,
11261126
argvalues,
11271127
self.function,
@@ -1153,8 +1153,8 @@ def parametrize(
11531153
if generated_ids is not None:
11541154
ids = generated_ids
11551155

1156-
ids = self._resolve_arg_ids(
1157-
argnames, ids, parameters, nodeid=self.definition.nodeid
1156+
ids = self._resolve_parameter_set_ids(
1157+
argnames, ids, parametersets, nodeid=self.definition.nodeid
11581158
)
11591159

11601160
# Store used (possibly generated) ids with parametrize Marks.
@@ -1166,7 +1166,9 @@ def parametrize(
11661166
# of all calls.
11671167
newcalls = []
11681168
for callspec in self._calls or [CallSpec2()]:
1169-
for param_index, (param_id, param_set) in enumerate(zip(ids, parameters)):
1169+
for param_index, (param_id, param_set) in enumerate(
1170+
zip(ids, parametersets)
1171+
):
11701172
newcallspec = callspec.setmulti(
11711173
valtypes=arg_values_types,
11721174
argnames=argnames,
@@ -1179,7 +1181,7 @@ def parametrize(
11791181
newcalls.append(newcallspec)
11801182
self._calls = newcalls
11811183

1182-
def _resolve_arg_ids(
1184+
def _resolve_parameter_set_ids(
11831185
self,
11841186
argnames: Sequence[str],
11851187
ids: Optional[
@@ -1188,18 +1190,23 @@ def _resolve_arg_ids(
11881190
Callable[[Any], Optional[object]],
11891191
]
11901192
],
1191-
parameters: Sequence[ParameterSet],
1193+
parametersets: Sequence[ParameterSet],
11921194
nodeid: str,
11931195
) -> List[str]:
1194-
"""Resolve the actual ids for the given argnames, based on the ``ids`` parameter given
1195-
to ``parametrize``.
1196+
"""Resolve the actual ids for the given parameter sets.
11961197
1197-
:param List[str] argnames: List of argument names passed to ``parametrize()``.
1198-
:param ids: The ids parameter of the parametrized call (see docs).
1199-
:param List[ParameterSet] parameters: The list of parameter values, same size as ``argnames``.
1200-
:param str str: The nodeid of the item that generated this parametrized call.
1201-
:rtype: List[str]
1202-
:returns: The list of ids for each argname given.
1198+
:param argnames:
1199+
Argument names passed to ``parametrize()``.
1200+
:param ids:
1201+
The `ids` parameter of the ``parametrize()`` call (see docs).
1202+
:param parametersets:
1203+
The parameter sets, each containing a set of values corresponding
1204+
to ``argnames``.
1205+
:param nodeid str:
1206+
The nodeid of the definition item that generated this
1207+
parametrization.
1208+
:returns:
1209+
List with ids for each parameter set given.
12031210
"""
12041211
if ids is None:
12051212
idfn = None
@@ -1209,8 +1216,8 @@ def _resolve_arg_ids(
12091216
ids_ = None
12101217
else:
12111218
idfn = None
1212-
ids_ = self._validate_ids(ids, parameters, self.function.__name__)
1213-
return idmaker(argnames, parameters, idfn, ids_, self.config, nodeid=nodeid)
1219+
ids_ = self._validate_ids(ids, parametersets, self.function.__name__)
1220+
return idmaker(argnames, parametersets, idfn, ids_, self.config, nodeid=nodeid)
12141221

12151222
def _validate_ids(
12161223
self,

0 commit comments

Comments
 (0)