From a3bbef3682ff8cdc38ba7fbab09c93291250eeb8 Mon Sep 17 00:00:00 2001 From: Renato Alves Date: Fri, 3 Jul 2015 20:48:46 +0100 Subject: [PATCH] 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. --- test/simpletap/__init__.py | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/test/simpletap/__init__.py b/test/simpletap/__init__.py index 1030ed5a4..47449022b 100644 --- a/test/simpletap/__init__.py +++ b/test/simpletap/__init__.py @@ -27,10 +27,12 @@ # Original version by Renato Alves +import os import sys import unittest import warnings import traceback +import inspect 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) break + # Retrieve the name of the file containing the test + filename = os.path.basename(inspect.getfile(test.__class__)) + if status: + if status == "SKIP": - self.stream.writeln("{0} {1} - {2}".format( - color("skip", "yellow"), self.testsRun, desc) + self.stream.writeln("{0} {1} - {2}: {3}".format( + color("skip", "yellow"), self.testsRun, filename, desc) ) elif status == "EXPECTED_FAILURE": - self.stream.writeln("{0} {1} - {2}".format( - color("skip", "yellow"), self.testsRun, desc) + self.stream.writeln("{0} {1} - {2}: {3}".format( + color("skip", "yellow"), self.testsRun, filename, desc) ) else: - self.stream.writeln("{0} {1} - {2}".format( - color("not ok", "red"), self.testsRun, desc) + self.stream.writeln("{0} {1} - {2}: {3}".format( + color("not ok", "red"), self.testsRun, filename, desc) ) if exception_name: @@ -171,8 +177,8 @@ class TAPTestResult(unittest.result.TestResult): line = line.replace("\\n", "\n# ") self.stream.writeln("#{0}{1}".format(padding, line)) else: - self.stream.writeln("{0} {1} - {2}".format( - color("ok", "green"), self.testsRun, desc) + self.stream.writeln("{0} {1} - {2}: {3}".format( + color("ok", "green"), self.testsRun, filename, desc) ) # Flush all buffers to stdout