X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Ftools%2Fpresentation%2Fgenerator_tables.py;h=83ae43251ef451eaf87f309bc81597f6f92be367;hb=e864945ddfd65b99b3311fddc9260dba3a02b1bc;hp=7c99ab5d72c970651818743268dbe957f48d824c;hpb=190462e1f242b59d927eff3e63826fe6343eadbc;p=csit.git diff --git a/resources/tools/presentation/generator_tables.py b/resources/tools/presentation/generator_tables.py index 7c99ab5d72..83ae43251e 100644 --- a/resources/tools/presentation/generator_tables.py +++ b/resources/tools/presentation/generator_tables.py @@ -138,7 +138,7 @@ def table_details(table, input_data): f"{table[u'output-file-ext']}" ) logging.info(f" Writing file: {file_name}") - with open(file_name, u"w") as file_handler: + with open(file_name, u"wt") as file_handler: file_handler.write(u",".join(header) + u"\n") for item in table_lst: file_handler.write(u",".join(item) + u"\n") @@ -212,7 +212,7 @@ def table_merged_details(table, input_data): f"{table[u'output-file-ext']}" ) logging.info(f" Writing file: {file_name}") - with open(file_name, u"w") as file_handler: + with open(file_name, u"wt") as file_handler: file_handler.write(u",".join(header) + u"\n") for item in table_lst: file_handler.write(u",".join(item) + u"\n") @@ -469,9 +469,9 @@ def table_perf_comparison(table, input_data): # Prepare data to the table: tbl_dict = dict() - topo = "" + # topo = "" for job, builds in table[u"reference"][u"data"].items(): - topo = u"2n-skx" if u"2n-skx" in job else u"" + # topo = u"2n-skx" if u"2n-skx" in job else u"" for build in builds: for tst_name, tst_data in data[job][str(build)].items(): tst_name_mod = _tpc_modify_test_name(tst_name) @@ -494,6 +494,38 @@ def table_perf_comparison(table, input_data): src=tst_data, include_tests=table[u"include-tests"]) + replacement = table[u"reference"].get(u"data-replacement", None) + if replacement: + create_new_list = True + rpl_data = input_data.filter_data( + table, data=replacement, continue_on_error=True) + for job, builds in replacement.items(): + for build in builds: + for tst_name, tst_data in rpl_data[job][str(build)].items(): + tst_name_mod = _tpc_modify_test_name(tst_name) + if u"across topologies" in table[u"title"].lower(): + tst_name_mod = tst_name_mod.replace(u"2n1l-", u"") + if tbl_dict.get(tst_name_mod, None) is None: + name = \ + f"{u'-'.join(tst_data[u'name'].split(u'-')[:-1])}" + if u"across testbeds" in table[u"title"].lower() or \ + u"across topologies" in table[u"title"].lower(): + name = _tpc_modify_displayed_test_name(name) + tbl_dict[tst_name_mod] = { + u"name": name, + u"ref-data": list(), + u"cmp-data": list() + } + if create_new_list: + create_new_list = False + tbl_dict[tst_name_mod][u"ref-data"] = list() + + _tpc_insert_data( + target=tbl_dict[tst_name_mod][u"ref-data"], + src=tst_data, + include_tests=table[u"include-tests"] + ) + for job, builds in table[u"compare"][u"data"].items(): for build in builds: for tst_name, tst_data in data[job][str(build)].items(): @@ -609,10 +641,10 @@ def table_perf_comparison(table, input_data): if item[-2] == u"Not tested": pass elif item[-4] == u"Not tested": - item.append(u"New in CSIT-1908") - elif topo == u"2n-skx" and u"dot1q" in tbl_dict[tst_name][u"name"]: - item.append(u"See footnote [1]") - footnote = True + item.append(u"New in CSIT-2001") + # elif topo == u"2n-skx" and u"dot1q" in tbl_dict[tst_name][u"name"]: + # item.append(u"See footnote [1]") + # footnote = True elif item[-4] != 0: item.append(int(relative_change(float(item[-4]), float(item[-2])))) if (len(item) == len(header)) and (item[-3] != u"Not tested"): @@ -622,7 +654,7 @@ def table_perf_comparison(table, input_data): # Generate csv tables: csv_file = f"{table[u'output-file']}.csv" - with open(csv_file, u"w") as file_handler: + with open(csv_file, u"wt") as file_handler: file_handler.write(header_str) for test in tbl_lst: file_handler.write(u",".join([str(item) for item in test]) + u"\n") @@ -700,9 +732,9 @@ def table_perf_comparison_nic(table, input_data): # Prepare data to the table: tbl_dict = dict() - topo = u"" + # topo = u"" for job, builds in table[u"reference"][u"data"].items(): - topo = u"2n-skx" if u"2n-skx" in job else u"" + # topo = u"2n-skx" if u"2n-skx" in job else u"" for build in builds: for tst_name, tst_data in data[job][str(build)].items(): if table[u"reference"][u"nic"] not in tst_data[u"tags"]: @@ -726,6 +758,40 @@ def table_perf_comparison_nic(table, input_data): include_tests=table[u"include-tests"] ) + replacement = table[u"reference"].get(u"data-replacement", None) + if replacement: + create_new_list = True + rpl_data = input_data.filter_data( + table, data=replacement, continue_on_error=True) + for job, builds in replacement.items(): + for build in builds: + for tst_name, tst_data in rpl_data[job][str(build)].items(): + if table[u"reference"][u"nic"] not in tst_data[u"tags"]: + continue + tst_name_mod = _tpc_modify_test_name(tst_name) + if u"across topologies" in table[u"title"].lower(): + tst_name_mod = tst_name_mod.replace(u"2n1l-", u"") + if tbl_dict.get(tst_name_mod, None) is None: + name = \ + f"{u'-'.join(tst_data[u'name'].split(u'-')[:-1])}" + if u"across testbeds" in table[u"title"].lower() or \ + u"across topologies" in table[u"title"].lower(): + name = _tpc_modify_displayed_test_name(name) + tbl_dict[tst_name_mod] = { + u"name": name, + u"ref-data": list(), + u"cmp-data": list() + } + if create_new_list: + create_new_list = False + tbl_dict[tst_name_mod][u"ref-data"] = list() + + _tpc_insert_data( + target=tbl_dict[tst_name_mod][u"ref-data"], + src=tst_data, + include_tests=table[u"include-tests"] + ) + for job, builds in table[u"compare"][u"data"].items(): for build in builds: for tst_name, tst_data in data[job][str(build)].items(): @@ -844,10 +910,10 @@ def table_perf_comparison_nic(table, input_data): if item[-2] == u"Not tested": pass elif item[-4] == u"Not tested": - item.append(u"New in CSIT-1908") - elif topo == u"2n-skx" and u"dot1q" in tbl_dict[tst_name][u"name"]: - item.append(u"See footnote [1]") - footnote = True + item.append(u"New in CSIT-2001") + # elif topo == u"2n-skx" and u"dot1q" in tbl_dict[tst_name][u"name"]: + # item.append(u"See footnote [1]") + # footnote = True elif item[-4] != 0: item.append(int(relative_change(float(item[-4]), float(item[-2])))) if (len(item) == len(header)) and (item[-3] != u"Not tested"): @@ -857,7 +923,7 @@ def table_perf_comparison_nic(table, input_data): # Generate csv tables: csv_file = f"{table[u'output-file']}.csv" - with open(csv_file, u"w") as file_handler: + with open(csv_file, u"wt") as file_handler: file_handler.write(header_str) for test in tbl_lst: file_handler.write(u",".join([str(item) for item in test]) + u"\n") @@ -983,7 +1049,7 @@ def table_nics_comparison(table, input_data): tbl_lst.sort(key=lambda rel: rel[-1], reverse=True) # Generate csv tables: - with open(f"{table[u'output-file']}.csv", u"w") as file_handler: + with open(f"{table[u'output-file']}.csv", u"wt") as file_handler: file_handler.write(u",".join(header) + u"\n") for test in tbl_lst: file_handler.write(u",".join([str(item) for item in test]) + u"\n") @@ -1117,7 +1183,7 @@ def table_soak_vs_ndr(table, input_data): # Generate csv tables: csv_file = f"{table[u'output-file']}.csv" - with open(csv_file, u"w") as file_handler: + with open(csv_file, u"wt") as file_handler: file_handler.write(header_str) for test in tbl_lst: file_handler.write(u",".join([str(item) for item in test]) + u"\n") @@ -1240,7 +1306,7 @@ def table_perf_trending_dash(table, input_data): file_name = f"{table[u'output-file']}{table[u'output-file-ext']}" logging.info(f" Writing file: {file_name}") - with open(file_name, u"w") as file_handler: + with open(file_name, u"wt") as file_handler: file_handler.write(header_str) for test in tbl_sorted: file_handler.write(u",".join([str(item) for item in test]) + u'\n') @@ -1548,7 +1614,7 @@ def table_last_failed_tests(table, input_data): file_name = f"{table[u'output-file']}{table[u'output-file-ext']}" logging.info(f" Writing file: {file_name}") - with open(file_name, u"w") as file_handler: + with open(file_name, u"wt") as file_handler: for test in tbl_list: file_handler.write(test + u'\n') @@ -1653,7 +1719,7 @@ def table_failed_tests(table, input_data): file_name = f"{table[u'output-file']}{table[u'output-file-ext']}" logging.info(f" Writing file: {file_name}") - with open(file_name, u"w") as file_handler: + with open(file_name, u"wt") as file_handler: file_handler.write(u",".join(header) + u"\n") for test in tbl_sorted: file_handler.write(u",".join([str(item) for item in test]) + u'\n')