_numpy_testing_noseclasses.py
41 lines
| 1.4 KiB
| text/x-python
|
PythonLexer
Paul Ivanov
|
r3511 | # IPython: modified copy of numpy.testing.noseclasses, so | ||
# IPython.external._decorators works without numpy being installed. | ||||
# These classes implement a "known failure" error class. | ||||
import os | ||||
from nose.plugins.errorclass import ErrorClass, ErrorClassPlugin | ||||
class KnownFailureTest(Exception): | ||||
'''Raise this exception to mark a test as a known failing test.''' | ||||
pass | ||||
class KnownFailure(ErrorClassPlugin): | ||||
'''Plugin that installs a KNOWNFAIL error class for the | ||||
KnownFailureClass exception. When KnownFailureTest is raised, | ||||
the exception will be logged in the knownfail attribute of the | ||||
result, 'K' or 'KNOWNFAIL' (verbose) will be output, and the | ||||
exception will not be counted as an error or failure.''' | ||||
enabled = True | ||||
knownfail = ErrorClass(KnownFailureTest, | ||||
label='KNOWNFAIL', | ||||
isfailure=False) | ||||
def options(self, parser, env=os.environ): | ||||
env_opt = 'NOSE_WITHOUT_KNOWNFAIL' | ||||
parser.add_option('--no-knownfail', action='store_true', | ||||
dest='noKnownFail', default=env.get(env_opt, False), | ||||
help='Disable special handling of KnownFailureTest ' | ||||
'exceptions') | ||||
def configure(self, options, conf): | ||||
if not self.can_configure: | ||||
return | ||||
self.conf = conf | ||||
disable = getattr(options, 'noKnownFail', False) | ||||
if disable: | ||||
self.enabled = False | ||||