MCPcopy Index your code
hub / github.com/pytest-dev/pytest / _resolve_ids

Method _resolve_ids

src/_pytest/python.py:974–996  ·  view source on GitHub ↗

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 """Resolve IDs for all ParameterSets (may contain duplicates)."""
976 for idx, parameterset in enumerate(self.parametersets):
977 if parameterset.id is not None:
978 # ID provided directly - pytest.param(..., id="...")
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 # 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 # ID not provided - generate it.
991 yield "-".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 """Make an ID for a parameter in a ParameterSet."""

Callers 1

Calls 4

_idvalMethod · 0.95
_ascii_escaped_by_configFunction · 0.85
joinMethod · 0.80

Tested by

no test coverage detected