46 lines
1.5 KiB
Python
46 lines
1.5 KiB
Python
"""
|
|
This plugin installs a DEPRECATED error class for the :class:`DeprecatedTest`
|
|
exception. When :class:`DeprecatedTest` is raised, the exception will be logged
|
|
in the deprecated attribute of the result, ``D`` or ``DEPRECATED`` (verbose)
|
|
will be output, and the exception will not be counted as an error or failure.
|
|
It is enabled by default, but can be turned off by using ``--no-deprecated``.
|
|
"""
|
|
|
|
from nose.plugins.errorclass import ErrorClass, ErrorClassPlugin
|
|
|
|
|
|
class DeprecatedTest(Exception):
|
|
"""Raise this exception to mark a test as deprecated.
|
|
"""
|
|
pass
|
|
|
|
|
|
class Deprecated(ErrorClassPlugin):
|
|
"""
|
|
Installs a DEPRECATED error class for the DeprecatedTest exception. Enabled
|
|
by default.
|
|
"""
|
|
enabled = True
|
|
deprecated = ErrorClass(DeprecatedTest,
|
|
label='DEPRECATED',
|
|
isfailure=False)
|
|
|
|
def options(self, parser, env):
|
|
"""Register commandline options.
|
|
"""
|
|
env_opt = 'NOSE_WITHOUT_DEPRECATED'
|
|
parser.add_option('--no-deprecated', action='store_true',
|
|
dest='noDeprecated', default=env.get(env_opt, False),
|
|
help="Disable special handling of DeprecatedTest "
|
|
"exceptions.")
|
|
|
|
def configure(self, options, conf):
|
|
"""Configure plugin.
|
|
"""
|
|
if not self.can_configure:
|
|
return
|
|
self.conf = conf
|
|
disable = getattr(options, 'noDeprecated', False)
|
|
if disable:
|
|
self.enabled = False
|