mirror of
https://github.com/thegeeklab/ansible-later.git
synced 2024-07-07 01:20:58 +02:00
61 lines
1.6 KiB
Python
61 lines
1.6 KiB
Python
import attr
|
|
|
|
|
|
class PytestWarning(UserWarning):
|
|
"""
|
|
Bases: :class:`UserWarning`.
|
|
|
|
Base class for all warnings emitted by pytest.
|
|
"""
|
|
|
|
|
|
class PytestDeprecationWarning(PytestWarning, DeprecationWarning):
|
|
"""
|
|
Bases: :class:`pytest.PytestWarning`, :class:`DeprecationWarning`.
|
|
|
|
Warning class for features that will be removed in a future version.
|
|
"""
|
|
|
|
|
|
class RemovedInPytest4Warning(PytestDeprecationWarning):
|
|
"""
|
|
Bases: :class:`pytest.PytestDeprecationWarning`.
|
|
|
|
Warning class for features scheduled to be removed in pytest 4.0.
|
|
"""
|
|
|
|
|
|
class PytestExperimentalApiWarning(PytestWarning, FutureWarning):
|
|
"""
|
|
Bases: :class:`pytest.PytestWarning`, :class:`FutureWarning`.
|
|
|
|
Warning category used to denote experiments in pytest. Use sparingly as the API might change or even be
|
|
removed completely in future version
|
|
"""
|
|
|
|
@classmethod
|
|
def simple(cls, apiname):
|
|
return cls(
|
|
"{apiname} is an experimental api that may change over time".format(
|
|
apiname=apiname
|
|
)
|
|
)
|
|
|
|
|
|
@attr.s
|
|
class UnformattedWarning(object):
|
|
"""Used to hold warnings that need to format their message at runtime, as opposed to a direct message.
|
|
|
|
Using this class avoids to keep all the warning types and messages in this module, avoiding misuse.
|
|
"""
|
|
|
|
category = attr.ib()
|
|
template = attr.ib()
|
|
|
|
def format(self, **kwargs):
|
|
"""Returns an instance of the warning category, formatted with given kwargs"""
|
|
return self.category(self.template.format(**kwargs))
|
|
|
|
|
|
PYTESTER_COPY_EXAMPLE = PytestExperimentalApiWarning.simple("testdir.copy_example")
|