| Server IP : 109.234.162.214 / Your IP : 216.73.216.112 Web Server : Apache System : Linux servd162214.srv.odns.fr 4.18.0-372.26.1.lve.1.el8.x86_64 #1 SMP Fri Sep 16 14:08:19 EDT 2022 x86_64 User : carpe ( 1178) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /opt/alt/python37/lib/python3.7/site-packages/nose/plugins/ |
Upload File : |
"""
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)