simpletap: Show more information in expected failures
This commit is contained in:
@@ -121,25 +121,26 @@ class TAPTestResult(unittest.result.TestResult):
|
|||||||
self._restoreStdout()
|
self._restoreStdout()
|
||||||
|
|
||||||
desc = self.getDescription(test)
|
desc = self.getDescription(test)
|
||||||
trace_msg = None
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
exception, msg, _ = err
|
exception, msg, tb = err
|
||||||
except (TypeError, ValueError):
|
except (TypeError, ValueError):
|
||||||
exception_name = ""
|
exception_name = ""
|
||||||
msg = err
|
msg = err
|
||||||
|
tb = None
|
||||||
else:
|
else:
|
||||||
exception_name = exception.__name__
|
exception_name = exception.__name__
|
||||||
msg = str(msg)
|
msg = str(msg)
|
||||||
|
|
||||||
# Extract line where error happened for easier debugging
|
trace_msg = ""
|
||||||
_, _, tb = sys.exc_info()
|
|
||||||
trace = traceback.extract_tb(tb)
|
# Extract line where error happened for easier debugging
|
||||||
for t in trace:
|
trace = traceback.extract_tb(tb)
|
||||||
# t = (filename, line_number, function_name, raw_line)
|
for t in trace:
|
||||||
if t[2].startswith("test"):
|
# t = (filename, line_number, function_name, raw_line)
|
||||||
trace_msg = "on file {0} line {1} in {2}: '{3}'".format(*t)
|
if t[2].startswith("test"):
|
||||||
break
|
trace_msg = " on file {0} line {1} in {2}: '{3}'".format(*t)
|
||||||
|
break
|
||||||
|
|
||||||
if status:
|
if status:
|
||||||
if status == "SKIP":
|
if status == "SKIP":
|
||||||
@@ -154,9 +155,13 @@ class TAPTestResult(unittest.result.TestResult):
|
|||||||
self.stream.writeln("{0} {1} - {2}".format(
|
self.stream.writeln("{0} {1} - {2}".format(
|
||||||
color("not ok", "red"), self.testsRun, desc)
|
color("not ok", "red"), self.testsRun, desc)
|
||||||
)
|
)
|
||||||
self.stream.writeln("# {0}: {1} {2}:".format(
|
|
||||||
status, exception_name, trace_msg)
|
if exception_name:
|
||||||
)
|
self.stream.writeln("# {0}: {1}{2}:".format(
|
||||||
|
status, exception_name, trace_msg)
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
self.stream.writeln("# {0}:".format(status))
|
||||||
|
|
||||||
# Magic 3 is just for pretty indentation
|
# Magic 3 is just for pretty indentation
|
||||||
padding = " " * (len(status) + 3)
|
padding = " " * (len(status) + 3)
|
||||||
|
|||||||
Reference in New Issue
Block a user