MCPcopy
hub / github.com/pytest-dev/pytest / _resolve_ids

Method _resolve_ids

src/_pytest/python.py:974–996  ·  src/_pytest/python.py::IdMaker._resolve_ids

Resolve IDs for all ParameterSets (may contain duplicates).

(self)

Source from the content-addressed store, hash-verified

972 return cast(bool, strict_parametrization_ids)
973
974 def _resolve_ids(self) -> Iterable[str | _HiddenParam]:
975 class="st">""class="st">"Resolve IDs for all ParameterSets (may contain duplicates)."class="st">""
976 for idx, parameterset in enumerate(self.parametersets):
977 if parameterset.id is not None:
978 class="cm"># ID provided directly - pytest.param(..., id=class="st">"...")
979 if parameterset.id is HIDDEN_PARAM:
980 yield HIDDEN_PARAM
981 else:
982 yield _ascii_escaped_by_config(parameterset.id, self.config)
983 elif self.ids and idx < len(self.ids) and self.ids[idx] is not None:
984 class="cm"># ID provided in the IDs list - parametrize(..., ids=[...]).
985 if self.ids[idx] is HIDDEN_PARAM:
986 yield HIDDEN_PARAM
987 else:
988 yield self._idval_from_value_required(self.ids[idx], idx)
989 else:
990 class="cm"># ID not provided - generate it.
991 yield class="st">"-".join(
992 self._idval(val, argname, idx)
993 for val, argname in zip(
994 parameterset.values, self.argnames, strict=True
995 )
996 )
997
998 def _idval(self, val: object, argname: str, idx: int) -> str:
999 class="st">""class="st">"Make an ID for a parameter in a ParameterSet."class="st">""

Callers 1

Calls 4

_idvalMethod · 0.95
_ascii_escaped_by_configFunction · 0.85
joinMethod · 0.80

Tested by

no test coverage detected