|
10 | 10 | from ..compat import getfslineno
|
11 | 11 | from ..compat import MappingMixin
|
12 | 12 | from ..compat import NOTSET
|
| 13 | +from _pytest.deprecated import PYTEST_PARAM_UNKNOWN_KWARGS |
13 | 14 | from _pytest.outcomes import fail
|
14 | 15 |
|
15 | 16 | EMPTY_PARAMETERSET_OPTION = "empty_parameter_set_mark"
|
@@ -60,20 +61,25 @@ def get_empty_parameterset_mark(config, argnames, func):
|
60 | 61 |
|
61 | 62 | class ParameterSet(namedtuple("ParameterSet", "values, marks, id")):
|
62 | 63 | @classmethod
|
63 |
| - def param(cls, *values, **kw): |
64 |
| - marks = kw.pop("marks", ()) |
| 64 | + def param(cls, *values, **kwargs): |
| 65 | + marks = kwargs.pop("marks", ()) |
65 | 66 | if isinstance(marks, MarkDecorator):
|
66 | 67 | marks = (marks,)
|
67 | 68 | else:
|
68 | 69 | assert isinstance(marks, (tuple, list, set))
|
69 | 70 |
|
70 |
| - id_ = kw.pop("id", None) |
| 71 | + id_ = kwargs.pop("id", None) |
71 | 72 | if id_ is not None:
|
72 | 73 | if not isinstance(id_, six.string_types):
|
73 | 74 | raise TypeError(
|
74 | 75 | "Expected id to be a string, got {}: {!r}".format(type(id_), id_)
|
75 | 76 | )
|
76 | 77 | id_ = ascii_escaped(id_)
|
| 78 | + |
| 79 | + if kwargs: |
| 80 | + warnings.warn( |
| 81 | + PYTEST_PARAM_UNKNOWN_KWARGS.format(args=sorted(kwargs)), stacklevel=3 |
| 82 | + ) |
77 | 83 | return cls(values, marks, id_)
|
78 | 84 |
|
79 | 85 | @classmethod
|
|
0 commit comments