Resolve IDs for all ParameterSets (may contain duplicates).
(self)
| 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">"" |
no test coverage detected