From 86a6939688ec54f79c8c82aa25f0324d1244a827 Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Fri, 9 Dec 2022 16:03:55 +0100 Subject: [PATCH] os.TestResults: Beautify dump() Test results are now output via slog(), and are decorated with a count of failed and total tests. Signed-off-by: Jan Lindemann --- src/python/devtest/os/TestResults.py | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/src/python/devtest/os/TestResults.py b/src/python/devtest/os/TestResults.py index 7dc46eb..0890052 100644 --- a/src/python/devtest/os/TestResults.py +++ b/src/python/devtest/os/TestResults.py @@ -3,6 +3,7 @@ from enum import IntEnum from termcolor import colored from texttable import Texttable +from pathlib import PurePath from jwutils.log import * class TestResults: # export @@ -63,6 +64,9 @@ class TestResults: # export def __fmt_case(self, record): return record[TestResults.Field.Case].name + def __fmt_case_short(self, record): + return record[TestResults.Field.Case].short_name + def __fmt_phase(self, record): return record[TestResults.Field.Phase].name @@ -101,10 +105,23 @@ class TestResults: # export def addResults(self, results): self.__records.extend(results.__records) + @property + def __failed(self): + return list(filter(lambda rec: (rec[TestResults.Field.Result] is not None), self.__records)) + + @property + def n_total(self): + return len(self.__records) + + @property def n_failed(self): return len(list(filter(None, [rec[TestResults.Field.Result] for rec in self.__records]))) - def dump(self, args): + @property + def failed(self): + return [self.__fmt_case_short(rec) for rec in self.__failed] + + def dump(self, args, caller=None): t = Texttable(max_width=160) @@ -143,4 +160,6 @@ class TestResults: # export rows.append(row) #slog(DEBUG, rows) t.add_rows(rows) - print(t.draw()) + if caller is None: + caller = get_caller_pos(2) + slog_m(NOTICE, t.draw(), caller=caller)