From 89a2be8247936e2d3d8323c0e51a86c198a879a2 Mon Sep 17 00:00:00 2001 From: imarom Date: Wed, 23 Mar 2016 10:43:40 +0200 Subject: yes...again Python3.... --- .../python2/nose/plugins/failuredetail.py | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100755 scripts/external_libs/nose-1.3.4/python2/nose/plugins/failuredetail.py (limited to 'scripts/external_libs/nose-1.3.4/python2/nose/plugins/failuredetail.py') diff --git a/scripts/external_libs/nose-1.3.4/python2/nose/plugins/failuredetail.py b/scripts/external_libs/nose-1.3.4/python2/nose/plugins/failuredetail.py new file mode 100755 index 00000000..6462865d --- /dev/null +++ b/scripts/external_libs/nose-1.3.4/python2/nose/plugins/failuredetail.py @@ -0,0 +1,49 @@ +""" +This plugin provides assert introspection. When the plugin is enabled +and a test failure occurs, the traceback is displayed with extra context +around the line in which the exception was raised. Simple variable +substitution is also performed in the context output to provide more +debugging information. +""" + +from nose.plugins import Plugin +from nose.pyversion import exc_to_unicode, force_unicode +from nose.inspector import inspect_traceback + +class FailureDetail(Plugin): + """ + Plugin that provides extra information in tracebacks of test failures. + """ + score = 1600 # before capture + + def options(self, parser, env): + """Register commmandline options. + """ + parser.add_option( + "-d", "--detailed-errors", "--failure-detail", + action="store_true", + default=env.get('NOSE_DETAILED_ERRORS'), + dest="detailedErrors", help="Add detail to error" + " output by attempting to evaluate failed" + " asserts [NOSE_DETAILED_ERRORS]") + + def configure(self, options, conf): + """Configure plugin. + """ + if not self.can_configure: + return + self.enabled = options.detailedErrors + self.conf = conf + + def formatFailure(self, test, err): + """Add detail from traceback inspection to error message of a failure. + """ + ec, ev, tb = err + tbinfo, str_ev = None, exc_to_unicode(ev) + + if tb: + tbinfo = force_unicode(inspect_traceback(tb)) + str_ev = '\n'.join([str_ev, tbinfo]) + test.tbinfo = tbinfo + return (ec, str_ev, tb) + -- cgit