diff options
Diffstat (limited to 'scripts/external_libs/nose-1.3.4/python3/nose/tools/trivial.py')
-rw-r--r-- | scripts/external_libs/nose-1.3.4/python3/nose/tools/trivial.py | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/scripts/external_libs/nose-1.3.4/python3/nose/tools/trivial.py b/scripts/external_libs/nose-1.3.4/python3/nose/tools/trivial.py new file mode 100644 index 00000000..cf83efed --- /dev/null +++ b/scripts/external_libs/nose-1.3.4/python3/nose/tools/trivial.py @@ -0,0 +1,54 @@ +"""Tools so trivial that tracebacks should not descend into them + +We define the ``__unittest`` symbol in their module namespace so unittest will +skip them when printing tracebacks, just as it does for their corresponding +methods in ``unittest`` proper. + +""" +import re +import unittest + + +__all__ = ['ok_', 'eq_'] + +# Use the same flag as unittest itself to prevent descent into these functions: +__unittest = 1 + + +def ok_(expr, msg=None): + """Shorthand for assert. Saves 3 whole characters! + """ + if not expr: + raise AssertionError(msg) + + +def eq_(a, b, msg=None): + """Shorthand for 'assert a == b, "%r != %r" % (a, b) + """ + if not a == b: + raise AssertionError(msg or "%r != %r" % (a, b)) + + +# +# Expose assert* from unittest.TestCase +# - give them pep8 style names +# +caps = re.compile('([A-Z])') + +def pep8(name): + return caps.sub(lambda m: '_' + m.groups()[0].lower(), name) + +class Dummy(unittest.TestCase): + def nop(): + pass +_t = Dummy('nop') + +for at in [ at for at in dir(_t) + if at.startswith('assert') and not '_' in at ]: + pepd = pep8(at) + vars()[pepd] = getattr(_t, at) + __all__.append(pepd) + +del Dummy +del _t +del pep8 |