- # Generate tables:
- # All tests in csv:
- tbl_names = ["{0}-1t1c-full{1}".format(table["output-file"],
- table["output-file-ext"]),
- "{0}-2t2c-full{1}".format(table["output-file"],
- table["output-file-ext"]),
- "{0}-4t4c-full{1}".format(table["output-file"],
- table["output-file-ext"])
- ]
- for file_name in tbl_names:
- logging.info(" Writing file: '{0}'".format(file_name))
- with open(file_name, "w") as file_handler:
- file_handler.write(header_str)
- for test in tbl_lst:
- if file_name.split("-")[-2] in test[0]: # cores
- test[0] = "-".join(test[0].split("-")[:-1])
- file_handler.write(",".join([str(item) for item in test]) +
- "\n")
-
- # All tests in txt:
- tbl_names_txt = ["{0}-1t1c-full.txt".format(table["output-file"]),
- "{0}-2t2c-full.txt".format(table["output-file"]),
- "{0}-4t4c-full.txt".format(table["output-file"])
- ]
-
- for i, txt_name in enumerate(tbl_names_txt):
- txt_table = None
- logging.info(" Writing file: '{0}'".format(txt_name))
- with open(tbl_names[i], 'rb') as csv_file:
- csv_content = csv.reader(csv_file, delimiter=',', quotechar='"')
- for row in csv_content:
- if txt_table is None:
- txt_table = prettytable.PrettyTable(row)
- else:
- txt_table.add_row(row)
- txt_table.align["Test case"] = "l"
- with open(txt_name, "w") as txt_file:
- txt_file.write(str(txt_table))
+ file_name = f"{table[u'output-file']}{table[u'output-file-ext']}"
+
+ logging.info(f" Writing file: {file_name}")
+ 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')
+
+ logging.info(f" Writing file: {table[u'output-file']}.txt")
+ convert_csv_to_pretty_txt(file_name, f"{table[u'output-file']}.txt")
+
+
+def _generate_url(testbed, test_name):
+ """Generate URL to a trending plot from the name of the test case.
+
+ :param testbed: The testbed used for testing.
+ :param test_name: The name of the test case.
+ :type testbed: str
+ :type test_name: str
+ :returns: The URL to the plot with the trending data for the given test
+ case.
+ :rtype str
+ """
+
+ if u"x520" in test_name:
+ nic = u"x520"
+ elif u"x710" in test_name:
+ nic = u"x710"
+ elif u"xl710" in test_name:
+ nic = u"xl710"
+ elif u"xxv710" in test_name:
+ nic = u"xxv710"
+ elif u"vic1227" in test_name:
+ nic = u"vic1227"
+ elif u"vic1385" in test_name:
+ nic = u"vic1385"
+ elif u"x553" in test_name:
+ nic = u"x553"
+ elif u"cx556" in test_name or u"cx556a" in test_name:
+ nic = u"cx556a"
+ elif u"ena" in test_name:
+ nic = u"nitro50g"
+ else:
+ nic = u""
+
+ if u"64b" in test_name:
+ frame_size = u"64b"
+ elif u"78b" in test_name:
+ frame_size = u"78b"
+ elif u"imix" in test_name:
+ frame_size = u"imix"
+ elif u"9000b" in test_name:
+ frame_size = u"9000b"
+ elif u"1518b" in test_name:
+ frame_size = u"1518b"
+ elif u"114b" in test_name:
+ frame_size = u"114b"
+ else:
+ frame_size = u""
+
+ if u"1t1c" in test_name or \
+ (u"-1c-" in test_name and
+ testbed in (u"3n-hsw", u"3n-tsh", u"2n-dnv", u"3n-dnv", u"2n-tx2")):
+ cores = u"1t1c"
+ elif u"2t2c" in test_name or \
+ (u"-2c-" in test_name and
+ testbed in (u"3n-hsw", u"3n-tsh", u"2n-dnv", u"3n-dnv", u"2n-tx2")):
+ cores = u"2t2c"
+ elif u"4t4c" in test_name or \
+ (u"-4c-" in test_name and
+ testbed in (u"3n-hsw", u"3n-tsh", u"2n-dnv", u"3n-dnv", u"2n-tx2")):
+ cores = u"4t4c"
+ elif u"2t1c" in test_name or \
+ (u"-1c-" in test_name and
+ testbed in
+ (u"2n-skx", u"3n-skx", u"2n-clx", u"2n-zn2", u"2n-aws", u"3n-aws")):
+ cores = u"2t1c"
+ elif u"4t2c" in test_name or \
+ (u"-2c-" in test_name and
+ testbed in
+ (u"2n-skx", u"3n-skx", u"2n-clx", u"2n-zn2", u"2n-aws", u"3n-aws")):
+ cores = u"4t2c"
+ elif u"8t4c" in test_name or \
+ (u"-4c-" in test_name and
+ testbed in
+ (u"2n-skx", u"3n-skx", u"2n-clx", u"2n-zn2", u"2n-aws", u"3n-aws")):
+ cores = u"8t4c"
+ else:
+ cores = u""
+
+ if u"testpmd" in test_name:
+ driver = u"testpmd"
+ elif u"l3fwd" in test_name:
+ driver = u"l3fwd"
+ elif u"avf" in test_name:
+ driver = u"avf"
+ elif u"af-xdp" in test_name or u"af_xdp" in test_name:
+ driver = u"af_xdp"
+ elif u"rdma" in test_name:
+ driver = u"rdma"
+ elif u"dnv" in testbed or u"tsh" in testbed:
+ driver = u"ixgbe"
+ elif u"ena" in test_name:
+ driver = u"ena"
+ else:
+ driver = u"dpdk"
+
+ if u"macip-iacl1s" in test_name:
+ bsf = u"features-macip-iacl1"
+ elif u"macip-iacl10s" in test_name:
+ bsf = u"features-macip-iacl10"
+ elif u"macip-iacl50s" in test_name:
+ bsf = u"features-macip-iacl50"
+ elif u"iacl1s" in test_name:
+ bsf = u"features-iacl1"
+ elif u"iacl10s" in test_name:
+ bsf = u"features-iacl10"
+ elif u"iacl50s" in test_name:
+ bsf = u"features-iacl50"
+ elif u"oacl1s" in test_name:
+ bsf = u"features-oacl1"
+ elif u"oacl10s" in test_name:
+ bsf = u"features-oacl10"
+ elif u"oacl50s" in test_name:
+ bsf = u"features-oacl50"
+ elif u"nat44det" in test_name:
+ bsf = u"nat44det-bidir"
+ elif u"nat44ed" in test_name and u"udir" in test_name:
+ bsf = u"nat44ed-udir"
+ elif u"-cps" in test_name and u"ethip4udp" in test_name:
+ bsf = u"udp-cps"
+ elif u"-cps" in test_name and u"ethip4tcp" in test_name:
+ bsf = u"tcp-cps"
+ elif u"-pps" in test_name and u"ethip4udp" in test_name:
+ bsf = u"udp-pps"
+ elif u"-pps" in test_name and u"ethip4tcp" in test_name:
+ bsf = u"tcp-pps"
+ elif u"-tput" in test_name and u"ethip4udp" in test_name:
+ bsf = u"udp-tput"
+ elif u"-tput" in test_name and u"ethip4tcp" in test_name:
+ bsf = u"tcp-tput"
+ elif u"udpsrcscale" in test_name:
+ bsf = u"features-udp"
+ elif u"iacl" in test_name:
+ bsf = u"features"
+ elif u"policer" in test_name:
+ bsf = u"features"
+ elif u"adl" in test_name:
+ bsf = u"features"
+ elif u"cop" in test_name:
+ bsf = u"features"
+ elif u"nat" in test_name:
+ bsf = u"features"
+ elif u"macip" in test_name:
+ bsf = u"features"
+ elif u"scale" in test_name:
+ bsf = u"scale"
+ elif u"base" in test_name:
+ bsf = u"base"
+ else:
+ bsf = u"base"
+
+ if u"114b" in test_name and u"vhost" in test_name:
+ domain = u"vts"
+ elif u"nat44" in test_name or u"-pps" in test_name or u"-cps" in test_name:
+ domain = u"nat44"
+ if u"nat44det" in test_name:
+ domain += u"-det-bidir"
+ else:
+ domain += u"-ed"
+ if u"udir" in test_name:
+ domain += u"-unidir"
+ elif u"-ethip4udp-" in test_name:
+ domain += u"-udp"
+ elif u"-ethip4tcp-" in test_name:
+ domain += u"-tcp"
+ if u"-cps" in test_name:
+ domain += u"-cps"
+ elif u"-pps" in test_name:
+ domain += u"-pps"
+ elif u"-tput" in test_name:
+ domain += u"-tput"
+ elif u"testpmd" in test_name or u"l3fwd" in test_name:
+ domain = u"dpdk"
+ elif u"memif" in test_name:
+ domain = u"container_memif"
+ elif u"srv6" in test_name:
+ domain = u"srv6"
+ elif u"vhost" in test_name:
+ domain = u"vhost"
+ if u"vppl2xc" in test_name:
+ driver += u"-vpp"
+ else:
+ driver += u"-testpmd"
+ if u"lbvpplacp" in test_name:
+ bsf += u"-link-bonding"
+ elif u"ch" in test_name and u"vh" in test_name and u"vm" in test_name:
+ domain = u"nf_service_density_vnfc"
+ elif u"ch" in test_name and u"mif" in test_name and u"dcr" in test_name:
+ domain = u"nf_service_density_cnfc"
+ elif u"pl" in test_name and u"mif" in test_name and u"dcr" in test_name:
+ domain = u"nf_service_density_cnfp"
+ elif u"ipsec" in test_name:
+ domain = u"ipsec"
+ if u"sw" in test_name:
+ bsf += u"-sw"
+ elif u"hw" in test_name:
+ bsf += u"-hw"
+ elif u"ethip4vxlan" in test_name:
+ domain = u"ip4_tunnels"
+ elif u"ethip4udpgeneve" in test_name:
+ domain = u"ip4_tunnels"
+ elif u"ip4base" in test_name or u"ip4scale" in test_name:
+ domain = u"ip4"
+ elif u"ip6base" in test_name or u"ip6scale" in test_name:
+ domain = u"ip6"
+ elif u"l2xcbase" in test_name or \
+ u"l2xcscale" in test_name or \
+ u"l2bdbasemaclrn" in test_name or \
+ u"l2bdscale" in test_name or \
+ u"l2patch" in test_name:
+ domain = u"l2"
+ else:
+ domain = u""