Skip to content

Commit 0d0b01b

Browse files
introduce deprecation warnings for legacy parametersets, fixes #2427
1 parent bab18e1 commit 0d0b01b

File tree

3 files changed

+11
-1
lines changed

3 files changed

+11
-1
lines changed

_pytest/deprecated.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,10 @@ class RemovedInPytest4Warning(DeprecationWarning):
3030

3131
MARK_INFO_ATTRIBUTE = RemovedInPytest4Warning(
3232
"MarkInfo objects are deprecated as they contain the merged marks"
33+
)
34+
35+
MARK_PARAMETERSET_UNPACKING = RemovedInPytest4Warning(
36+
"Applying marks directly to parameters is deprecated,"
37+
" please use pytest.param(..., marks=...) instead.\n"
38+
"For more details, see: https://docs.pytest.org/en/latest/parametrize.html"
3339
)

_pytest/mark.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
from collections import namedtuple
77
from operator import attrgetter
88
from .compat import imap
9-
from .deprecated import MARK_INFO_ATTRIBUTE
9+
from .deprecated import MARK_INFO_ATTRIBUTE, MARK_PARAMETERSET_UNPACKING
1010

1111
def alias(name, warning=None):
1212
getter = attrgetter(name)
@@ -61,6 +61,9 @@ def extract_from(cls, parameterset, legacy_force_tuple=False):
6161
if legacy_force_tuple:
6262
argval = argval,
6363

64+
if newmarks:
65+
warnings.warn(MARK_PARAMETERSET_UNPACKING)
66+
6467
return cls(argval, marks=newmarks, id=None)
6568

6669
@property

changelog/2427.removal

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
introduce deprecation warnings for legacy marks based parametersets

0 commit comments

Comments
 (0)