Merge pull request #2524 from RonnyPfannschmidt/fix-2427

introduce deprecation warnings for legacy parametersets, fixes #2427
This commit is contained in:
Bruno Oliveira 2017-06-24 00:41:44 -03:00 committed by GitHub
commit 1906f8c565
3 changed files with 11 additions and 1 deletions

View File

@ -30,4 +30,10 @@ RESULT_LOG = '--result-log is deprecated and scheduled for removal in pytest 4.0
MARK_INFO_ATTRIBUTE = RemovedInPytest4Warning(
"MarkInfo objects are deprecated as they contain the merged marks"
)
MARK_PARAMETERSET_UNPACKING = RemovedInPytest4Warning(
"Applying marks directly to parameters is deprecated,"
" please use pytest.param(..., marks=...) instead.\n"
"For more details, see: https://docs.pytest.org/en/latest/parametrize.html"
)

View File

@ -6,7 +6,7 @@ import warnings
from collections import namedtuple
from operator import attrgetter
from .compat import imap
from .deprecated import MARK_INFO_ATTRIBUTE
from .deprecated import MARK_INFO_ATTRIBUTE, MARK_PARAMETERSET_UNPACKING
def alias(name, warning=None):
getter = attrgetter(name)
@ -61,6 +61,9 @@ class ParameterSet(namedtuple('ParameterSet', 'values, marks, id')):
if legacy_force_tuple:
argval = argval,
if newmarks:
warnings.warn(MARK_PARAMETERSET_UNPACKING)
return cls(argval, marks=newmarks, id=None)
@property

1
changelog/2427.removal Normal file
View File

@ -0,0 +1 @@
introduce deprecation warnings for legacy marks based parametersets