[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