# Deprecated: mark tests as deprecated

This plugin installs a DEPRECATED error class for the `DeprecatedTest` exception. When `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`.

## Options

`--no-deprecated```

  Disable special handling of DeprecatedTest exceptions.

## Plugin

class `nose.plugins.deprecated.``Deprecated`

  Bases: `nose.plugins.errorclass.ErrorClassPlugin`

  Installs a DEPRECATED error class for the DeprecatedTest exception. Enabled by default.

  `configure`(options, conf)

    Configure plugin.

  `options`(parser, env)

    Register commandline options.

## Source

    """
    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