[Fuego] [PATCH 1/9] chart: add log links for the tests which have separated log file

Liu Wenlong liuwl.fnst at cn.fujitsu.com
Wed Jan 31 07:50:06 UTC 2018


Add log links for the tests which have separated log file,
Such as, Functional.LTP in the current Fuego.

The separated log link can help us to find the error log easily.
This feature indeed helped me a lot.

I also added link to "testlog.txt" for those tests who don't have the
separated log.(This might be a little unnecessary)

Signed-off-by: Liu Wenlong <liuwl.fnst at cn.fujitsu.com>
---
 engine/scripts/parser/prepare_chart_data.py | 33 +++++++++++++++++++++++------
 1 file changed, 27 insertions(+), 6 deletions(-)

diff --git a/engine/scripts/parser/prepare_chart_data.py b/engine/scripts/parser/prepare_chart_data.py
index af5f6d3..ffb042b 100644
--- a/engine/scripts/parser/prepare_chart_data.py
+++ b/engine/scripts/parser/prepare_chart_data.py
@@ -381,6 +381,8 @@ def cmp_alpha_num(a, b):
 def make_testcase_table(test_name, chart_config, entries):
     # make a table of testcase results for every testcase
     chart_list = []
+    jenkins_web_prefix = "/fuego"
+    jenkins_root_path = "/var/lib/jenkins/"
 
     # get a list of (board,test sets) in the data
     # FIXTHIS - use list of test sets in chart_config, if present
@@ -421,14 +423,32 @@ def make_testcase_table(test_name, chart_config, entries):
                 dprint("making a new row for '%s'" % row_key)
                 result_map[row_key] = {}
 
+            # entry.tguid: e.g. math.abs01.
+            tguid_parts = entry.tguid.split(".")
+            tguid_testset = ".".join(tguid_parts[:-1])
+            tguid_testcase = tguid_parts[-1]
+
+            # get the name that contains board, spec, build number. E.g. porter.default.1.1
+            log_bts_name = '%s.%s.%s.%s' % (entry.board, entry.spec, str(entry.build_number), str(entry.build_number))
+            # separated log files, e.g. /var/lib/jenkins/userContent/fuego.logs/Functional.LTP/ubuntu.math.7.7/result/math/outputs/abs01.log
+            log_file = '/userContent/fuego.logs/%s/%s/result/%s/outputs/%s.log' % (entry.testname, log_bts_name, tguid_testset, tguid_testcase)
+            # testlog files, e.g. /fuego/userContent/fuego.logs/Functional.croco/porter.default.${BUILD_NUMBER}.${BUILD_ID}/testlog.txt
+            testlog_file = '/userContent/fuego.logs/%s/%s/testlog.txt' % (entry.testname, log_bts_name)
+
+            # check if the separated log path exist
+            if os.path.exists(jenkins_root_path + log_file):
+                entry.result = '<a href=\"%s%s\">%s</a>' % (jenkins_web_prefix, log_file, entry.result)
+            elif os.path.exists(jenkins_root_path + testlog_file):
+                entry.result = '<a href=\"%s%s\">%s</a>' % (jenkins_web_prefix, testlog_file, entry.result)
+
             # add a data point (result) for this entry
             result_map[row_key][entry.build_number] = entry.result
             # count the result
-            if entry.result=="PASS":
+            if "PASS" in entry.result:
                 build_num_map[entry.build_number][0] += 1
-            elif entry.result=="FAIL":
+            elif "FAIL" in entry.result:
                 build_num_map[entry.build_number][1] += 1
-            elif entry.result=="SKIP":
+            elif "SKIP" in entry.result:
                 build_num_map[entry.build_number][2] += 1
             else:
                 build_num_map[entry.build_number][3] += 1
@@ -475,12 +495,13 @@ def make_testcase_table(test_name, chart_config, entries):
                     value = result_map[tc][bn]
                 except:
                     value = ""
-                if value=="PASS":
+                if "PASS" in value:
                     cell_attr = 'style="background-color:#ccffcc"'
-                elif value=="FAIL":
+                elif "FAIL" in value:
                     cell_attr = 'style="background-color:#ffcccc"'
                 else:
-                    cell_attr = ''
+                    cell_attr = 'align="center"'
+                    value='-'
                 row += ("<td %s>" % cell_attr) + value + "</td>"
             row += '</tr>'
             html += row
-- 
2.7.4





More information about the Fuego mailing list