simpletap: Show more information in expected failures

This commit is contained in:
Renato Alves
2015-06-11 23:35:07 +01:00
parent 6b8dd60b33
commit bd3cce7d4b

View File

@@ -121,19 +121,20 @@ 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)
trace_msg = ""
# Extract line where error happened for easier debugging # Extract line where error happened for easier debugging
_, _, tb = sys.exc_info()
trace = traceback.extract_tb(tb) trace = traceback.extract_tb(tb)
for t in trace: for t in trace:
# t = (filename, line_number, function_name, raw_line) # t = (filename, line_number, function_name, raw_line)
@@ -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)
) )
if exception_name:
self.stream.writeln("# {0}: {1}{2}:".format( self.stream.writeln("# {0}: {1}{2}:".format(
status, exception_name, trace_msg) 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)