From 65ba3a5f3f45199115fb0b67c12845779be0ec5a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Diemer?= <stephane.diemer@ubicast.eu>
Date: Tue, 28 Feb 2017 17:56:42 +0100
Subject: [PATCH] Changed results display (refs #20653).

---
 tester.py | 37 +++++++++++++++++++++++--------------
 1 file changed, 23 insertions(+), 14 deletions(-)

diff --git a/tester.py b/tester.py
index f35463ed..dbacff0c 100755
--- a/tester.py
+++ b/tester.py
@@ -215,30 +215,39 @@ class Tester():
             report_rows_length = [max(len(strip_colors(t)), report_rows_length[i]) for i, t in enumerate(report_rows[-1])]
         exit_code = 1 if failures > 0 else 0
         # Display results
+        #     results as text
         log('\nTests results:')
-        html_report = '<table border="1">'
         log_report = ''
         for row in report_rows:
-            is_header = not log_report
-            html_cell = 'th' if is_header else 'td'
+            if not log_report:
+                log_report += '-' * 50
+            for i, val in enumerate(row):
+                if i == len(row) - 1:
+                    break
+                if i == 0:
+                    # merge name and description
+                    log_report += '\n\033[95;1m%s\033[0;0m \033[90m%s\033[0m\n' % (val, row[-1])
+                else:
+                    nb_sp = report_rows_length[i] - len(strip_colors(val))
+                    log_report += '  %s%s' % (val, ' ' * nb_sp)
+            log_report += '\n' + '-' * 50
+        log(log_report.strip())
+        log('Total tests duration: %s.\n' % total_duration)
+        #     results as html
+        html_report = ''
+        for row in report_rows:
+            html_cell = 'th' if not html_report else 'td'
             html_report += '\n <tr>'
-            log_report += '\n|'
             for i, val in enumerate(row):
                 html_report += ' <%s>%s</%s>' % (html_cell, val, html_cell)
-                nb_sp = len(strip_colors(val).center(report_rows_length[i])) - len(strip_colors(val))
-                log_report += ' %s%s |' % (val, ' ' * nb_sp)
             html_report += ' </tr>'
-            if is_header:
-                log_report += '\n|'
-                for i, val in enumerate(row):
-                    log_report += '%s|' % ('-' * (report_rows_length[i] + 2))
-        log(log_report.strip())
-        log('Total tests duration: %s.\n' % total_duration)
-        html_report += '\n</table>'
+        html_report = '<table border="1">%s\n</table>' % html_report
+        html_report = html_report.replace('\033[90m', '<span style="color: gray;">')
         html_report = html_report.replace('\033[91m', '<span style="color: red;">')
         html_report = html_report.replace('\033[92m', '<span style="color: green;">')
-        html_report = html_report.replace('\033[94m', '<span style="color: blue;">')
         html_report = html_report.replace('\033[93m', '<span style="color: orange;">')
+        html_report = html_report.replace('\033[94m', '<span style="color: blue;">')
+        html_report = html_report.replace('\033[95m', '<span style="color: purple;">')
         html_report = html_report.replace('\033[0m', '</span>')
         # Store locally results
         now = datetime.datetime.utcnow()
-- 
GitLab