TAP: Show name of file containing the test(s)

In addition to the state of the test the description now includes the
location of the test, i.e. the filename that contains it.
Useful in central.tasktools.org.
This commit is contained in:
Renato Alves 2015-07-03 20:48:46 +01:00
parent b824f3323f
commit a3bbef3682

View file

@ -27,10 +27,12 @@
# Original version by Renato Alves # Original version by Renato Alves
import os
import sys import sys
import unittest import unittest
import warnings import warnings
import traceback import traceback
import inspect
def color(text, c): def color(text, c):
@ -142,18 +144,22 @@ class TAPTestResult(unittest.result.TestResult):
trace_msg = " on file {0} line {1} in {2}: '{3}'".format(*t) trace_msg = " on file {0} line {1} in {2}: '{3}'".format(*t)
break break
# Retrieve the name of the file containing the test
filename = os.path.basename(inspect.getfile(test.__class__))
if status: if status:
if status == "SKIP": if status == "SKIP":
self.stream.writeln("{0} {1} - {2}".format( self.stream.writeln("{0} {1} - {2}: {3}".format(
color("skip", "yellow"), self.testsRun, desc) color("skip", "yellow"), self.testsRun, filename, desc)
) )
elif status == "EXPECTED_FAILURE": elif status == "EXPECTED_FAILURE":
self.stream.writeln("{0} {1} - {2}".format( self.stream.writeln("{0} {1} - {2}: {3}".format(
color("skip", "yellow"), self.testsRun, desc) color("skip", "yellow"), self.testsRun, filename, desc)
) )
else: else:
self.stream.writeln("{0} {1} - {2}".format( self.stream.writeln("{0} {1} - {2}: {3}".format(
color("not ok", "red"), self.testsRun, desc) color("not ok", "red"), self.testsRun, filename, desc)
) )
if exception_name: if exception_name:
@ -171,8 +177,8 @@ class TAPTestResult(unittest.result.TestResult):
line = line.replace("\\n", "\n# ") line = line.replace("\\n", "\n# ")
self.stream.writeln("#{0}{1}".format(padding, line)) self.stream.writeln("#{0}{1}".format(padding, line))
else: else:
self.stream.writeln("{0} {1} - {2}".format( self.stream.writeln("{0} {1} - {2}: {3}".format(
color("ok", "green"), self.testsRun, desc) color("ok", "green"), self.testsRun, filename, desc)
) )
# Flush all buffers to stdout # Flush all buffers to stdout