"""
try:
if include_tests == u"MRR":
- target.append(src[u"result"][u"receive-rate"])
+ target.append(
+ (
+ src[u"result"][u"receive-rate"],
+ src[u"result"][u"receive-stdev"]
+ )
+ )
elif include_tests == u"PDR":
target.append(src[u"throughput"][u"PDR"][u"LOWER"])
elif include_tests == u"NDR":
u"title"]] = list()
try:
if table[u"include-tests"] == u"MRR":
- res = tst_data[u"result"][u"receive-rate"]
+ res = (tst_data[u"result"][u"receive-rate"],
+ tst_data[u"result"][u"receive-stdev"])
elif table[u"include-tests"] == u"PDR":
res = tst_data[u"throughput"][u"PDR"][u"LOWER"]
elif table[u"include-tests"] == u"NDR":
if tbl_dict[tst_name].get(u"history", None) is not None:
for hist_data in tbl_dict[tst_name][u"history"].values():
if hist_data:
- item.append(round(mean(hist_data) / 1000000, 2))
- item.append(round(stdev(hist_data) / 1000000, 2))
+ if table[u"include-tests"] == u"MRR":
+ item.append(round(hist_data[0][0] / 1e6, 2))
+ item.append(round(hist_data[0][1] / 1e6, 2))
+ else:
+ item.append(round(mean(hist_data) / 1e6, 2))
+ item.append(round(stdev(hist_data) / 1e6, 2))
else:
item.extend([u"Not tested", u"Not tested"])
else:
item.extend([u"Not tested", u"Not tested"])
data_r = tbl_dict[tst_name][u"ref-data"]
if data_r:
- data_r_mean = mean(data_r)
- item.append(round(data_r_mean / 1000000, 2))
- data_r_stdev = stdev(data_r)
- item.append(round(data_r_stdev / 1000000, 2))
+ if table[u"include-tests"] == u"MRR":
+ data_r_mean = data_r[0][0]
+ data_r_stdev = data_r[0][1]
+ else:
+ data_r_mean = mean(data_r)
+ data_r_stdev = stdev(data_r)
+ item.append(round(data_r_mean / 1e6, 2))
+ item.append(round(data_r_stdev / 1e6, 2))
else:
data_r_mean = None
data_r_stdev = None
item.extend([u"Not tested", u"Not tested"])
data_c = tbl_dict[tst_name][u"cmp-data"]
if data_c:
- data_c_mean = mean(data_c)
- item.append(round(data_c_mean / 1000000, 2))
- data_c_stdev = stdev(data_c)
- item.append(round(data_c_stdev / 1000000, 2))
+ if table[u"include-tests"] == u"MRR":
+ data_c_mean = data_c[0][0]
+ data_c_stdev = data_c[0][1]
+ else:
+ data_c_mean = mean(data_c)
+ data_c_stdev = stdev(data_c)
+ item.append(round(data_c_mean / 1e6, 2))
+ item.append(round(data_c_stdev / 1e6, 2))
else:
data_c_mean = None
data_c_stdev = None
elif item[-4] == u"Not tested":
item.append(u"New in CSIT-2001")
item.append(u"New in CSIT-2001")
- elif data_r_mean and data_c_mean:
+ elif data_r_mean is not None and data_c_mean is not None:
delta, d_stdev = relative_change_stdev(
data_r_mean, data_c_mean, data_r_stdev, data_c_stdev
)
except ValueError:
item.append(d_stdev)
if rca_data:
- item.insert(0, rca_data.get(item[0], u" "))
+ rca_nr = rca_data.get(item[0], u"-")
+ item.insert(0, f"[{rca_nr}]" if rca_nr != u"-" else u"-")
if (len(item) == len(header)) and (item[-4] != u"Not tested"):
tbl_lst.append(item)
file_handler.write(u";".join([str(item) for item in test]) + u"\n")
txt_file_name = f"{table[u'output-file']}.txt"
- convert_csv_to_pretty_txt(csv_file, txt_file_name)
+ convert_csv_to_pretty_txt(csv_file, txt_file_name, delimiter=u";")
if rca_data:
footnote = rca_data.get(u"footnote", "")
u"title"]] = list()
try:
if table[u"include-tests"] == u"MRR":
- res = tst_data[u"result"][u"receive-rate"]
+ res = (tst_data[u"result"][u"receive-rate"],
+ tst_data[u"result"][u"receive-stdev"])
elif table[u"include-tests"] == u"PDR":
res = tst_data[u"throughput"][u"PDR"][u"LOWER"]
elif table[u"include-tests"] == u"NDR":
if tbl_dict[tst_name].get(u"history", None) is not None:
for hist_data in tbl_dict[tst_name][u"history"].values():
if hist_data:
- item.append(round(mean(hist_data) / 1000000, 2))
- item.append(round(stdev(hist_data) / 1000000, 2))
+ if table[u"include-tests"] == u"MRR":
+ item.append(round(hist_data[0][0] / 1e6, 2))
+ item.append(round(hist_data[0][1] / 1e6, 2))
+ else:
+ item.append(round(mean(hist_data) / 1e6, 2))
+ item.append(round(stdev(hist_data) / 1e6, 2))
else:
item.extend([u"Not tested", u"Not tested"])
else:
item.extend([u"Not tested", u"Not tested"])
data_r = tbl_dict[tst_name][u"ref-data"]
if data_r:
- data_r_mean = mean(data_r)
- item.append(round(data_r_mean / 1000000, 2))
- data_r_stdev = stdev(data_r)
- item.append(round(data_r_stdev / 1000000, 2))
+ if table[u"include-tests"] == u"MRR":
+ data_r_mean = data_r[0][0]
+ data_r_stdev = data_r[0][1]
+ else:
+ data_r_mean = mean(data_r)
+ data_r_stdev = stdev(data_r)
+ item.append(round(data_r_mean / 1e6, 2))
+ item.append(round(data_r_stdev / 1e6, 2))
else:
data_r_mean = None
data_r_stdev = None
item.extend([u"Not tested", u"Not tested"])
data_c = tbl_dict[tst_name][u"cmp-data"]
if data_c:
- data_c_mean = mean(data_c)
- item.append(round(data_c_mean / 1000000, 2))
- data_c_stdev = stdev(data_c)
- item.append(round(data_c_stdev / 1000000, 2))
+ if table[u"include-tests"] == u"MRR":
+ data_c_mean = data_c[0][0]
+ data_c_stdev = data_c[0][1]
+ else:
+ data_c_mean = mean(data_c)
+ data_c_stdev = stdev(data_c)
+ item.append(round(data_c_mean / 1e6, 2))
+ item.append(round(data_c_stdev / 1e6, 2))
else:
data_c_mean = None
data_c_stdev = None
elif item[-4] == u"Not tested":
item.append(u"New in CSIT-2001")
item.append(u"New in CSIT-2001")
- elif data_r_mean and data_c_mean:
+ elif data_r_mean is not None and data_c_mean is not None:
delta, d_stdev = relative_change_stdev(
data_r_mean, data_c_mean, data_r_stdev, data_c_stdev
)
except ValueError:
item.append(d_stdev)
if rca_data:
- item.insert(0, rca_data.get(item[0], u" "))
+ rca_nr = rca_data.get(item[0], u"-")
+ item.insert(0, f"[{rca_nr}]" if rca_nr != u"-" else u"-")
if (len(item) == len(header)) and (item[-4] != u"Not tested"):
tbl_lst.append(item)
}
try:
if table[u"include-tests"] == u"MRR":
- result = tst_data[u"result"][u"receive-rate"]
+ result = (tst_data[u"result"][u"receive-rate"],
+ tst_data[u"result"][u"receive-stdev"])
elif table[u"include-tests"] == u"PDR":
result = tst_data[u"throughput"][u"PDR"][u"LOWER"]
elif table[u"include-tests"] == u"NDR":
item = [tbl_dict[tst_name][u"name"], ]
data_r = tbl_dict[tst_name][u"ref-data"]
if data_r:
- data_r_mean = mean(data_r)
- item.append(round(data_r_mean / 1000000, 2))
- data_r_stdev = stdev(data_r)
- item.append(round(data_r_stdev / 1000000, 2))
+ if table[u"include-tests"] == u"MRR":
+ data_r_mean = data_r[0][0]
+ data_r_stdev = data_r[0][1]
+ else:
+ data_r_mean = mean(data_r)
+ data_r_stdev = stdev(data_r)
+ item.append(round(data_r_mean / 1e6, 2))
+ item.append(round(data_r_stdev / 1e6, 2))
else:
data_r_mean = None
data_r_stdev = None
item.extend([None, None])
data_c = tbl_dict[tst_name][u"cmp-data"]
if data_c:
- data_c_mean = mean(data_c)
- item.append(round(data_c_mean / 1000000, 2))
- data_c_stdev = stdev(data_c)
- item.append(round(data_c_stdev / 1000000, 2))
+ if table[u"include-tests"] == u"MRR":
+ data_c_mean = data_c[0][0]
+ data_c_stdev = data_c[0][1]
+ else:
+ data_c_mean = mean(data_c)
+ data_c_stdev = stdev(data_c)
+ item.append(round(data_c_mean / 1e6, 2))
+ item.append(round(data_c_stdev / 1e6, 2))
else:
data_c_mean = None
data_c_stdev = None
item.extend([None, None])
- if data_r_mean and data_c_mean:
+ if data_r_mean is not None and data_c_mean is not None:
delta, d_stdev = relative_change_stdev(
data_r_mean, data_c_mean, data_r_stdev, data_c_stdev
)
if tst_data[u"type"] not in (u"NDRPDR", u"MRR", u"BMRR"):
continue
if table[u"include-tests"] == u"MRR":
- result = tst_data[u"result"][u"receive-rate"]
+ result = (tst_data[u"result"][u"receive-rate"],
+ tst_data[u"result"][u"receive-stdev"])
elif table[u"include-tests"] == u"PDR":
result = \
tst_data[u"throughput"][u"PDR"][u"LOWER"]
item = [tbl_dict[tst_name][u"name"], ]
data_r = tbl_dict[tst_name][u"ref-data"]
if data_r:
- data_r_mean = mean(data_r)
- item.append(round(data_r_mean / 1000000, 2))
- data_r_stdev = stdev(data_r)
- item.append(round(data_r_stdev / 1000000, 2))
+ if table[u"include-tests"] == u"MRR":
+ data_r_mean = data_r[0][0]
+ data_r_stdev = data_r[0][1]
+ else:
+ data_r_mean = mean(data_r)
+ data_r_stdev = stdev(data_r)
+ item.append(round(data_r_mean / 1e6, 2))
+ item.append(round(data_r_stdev / 1e6, 2))
else:
data_r_mean = None
data_r_stdev = None
item.extend([None, None])
data_c = tbl_dict[tst_name][u"cmp-data"]
if data_c:
- data_c_mean = mean(data_c)
- item.append(round(data_c_mean / 1000000, 2))
- data_c_stdev = stdev(data_c)
- item.append(round(data_c_stdev / 1000000, 2))
+ if table[u"include-tests"] == u"MRR":
+ data_c_mean = data_c[0][0]
+ data_c_stdev = data_c[0][1]
+ else:
+ data_c_mean = mean(data_c)
+ data_c_stdev = stdev(data_c)
+ item.append(round(data_c_mean / 1e6, 2))
+ item.append(round(data_c_stdev / 1e6, 2))
else:
data_c_mean = None
data_c_stdev = None
item.extend([None, None])
- if data_r_mean and data_c_mean:
+ if data_r_mean is not None and data_c_mean is not None:
delta, d_stdev = relative_change_stdev(
data_r_mean, data_c_mean, data_r_stdev, data_c_stdev)
try:
-64b-2t1c-eth-l2patch: rc1
-64b-2t1c-eth-l2xcbase-eth-2memif-1dcr: rc4
-64b-2t1c-avf-eth-l2patch: rc1
-64b-2t1c-avf-eth-l2xcbase: rc1
-64b-2t1c-eth-l2bdbasemaclrn-eth-2memif-1dcr: rc1, rc5
-64b-2t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc: rc1
-64b-2t1c-dot1q-l2bdbasemaclrn-eth-2memif-1dcr: rc1
-64b-2t1c-dot1q-l2xcbase: rc1
-64b-2t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-vppip4: rc1
-64b-2t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-vppl2xc: rc3
-64b-2t1c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc: rc3
-64b-2t1c-ethip4-ip4base-eth-2memif-1dcr: rc1
-64b-2t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm: rc1
-64b-2t1c-eth-l2xcbase-eth-2vhostvr1024-1vm: rc2
-64b-2t1c-ethip4-ip4base-eth-2vhostvr1024-1vm: rc1
-64b-2t1c-eth-l2bdscale10kmaclrn: rc1
-64b-2t1c-eth-l2bdbasemaclrn: rc1
-64b-2t1c-eth-l2bdscale100kmaclrn: rc1
-64b-2t1c-eth-l2bdscale1mmaclrn: rc1
-78b-2t1c-ethip6-ip6base: rc1
-64b-2t1c-eth-l2xcbase: rc1
-78b-2t1c-dot1q-ip6base: rc1
-64b-2t1c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm: rc2
-78b-2t1c-ethip6-ip6scale200k: rc1
-78b-2t1c-ethip6-ip6scale20k: rc1
-78b-2t1c-ethip6-ip6scale2m: rc1
-64b-2t1c-dot1q-l2bdbasemaclrn: rc1
-64b-2t1c-ethip4udp-ip4base-oacl50sf-10kflows: rc1
-64b-2t1c-ethip4udp-ip4base-oacl50sl-10kflows: rc1
-64b-2t1c-avf-eth-l2bdbasemaclrn: rc1
-64b-2t1c-ethip4-ip4scale20k: rc1
-64b-2t1c-avf-dot1q-l2bdbasemaclrn: rc1, rc3
-64b-2t1c-dot1q-ip4base: rc1
-64b-2t1c-ethip4-ip4base: rc1
-64b-2t1c-ethip4udp-ip4base-iacl50sf-10kflows: rc1
-64b-2t1c-ethip4udp-ip4base-iacl50sl-10kflows: rc1
-64b-2t1c-avf-dot1q-l2bdbasemaclrn-gbp: rc1
-64b-2t1c-ethip4-ip4scale200k: rc1
-64b-2t1c-ethip4-ip4scale2m: rc1
-64b-2t1c-avf-dot1q-ip4base: rc1
-64b-2t1c-avf-ethip4-ip4base: rc1
-64b-2t1c-avf-ethip4-ip4scale200k: rc1
-64b-2t1c-avf-ethip4-ip4scale20k: rc1
-64b-2t1c-avf-ethip4-ip4scale2m: rc1
-64b-2t1c-ethip4udp-ip4base-nat44: rc1
-footnote: "\nRoot causes:\nrc1: Description 1\nrc2: Description 2\nrc3: Description 3"
+64b-2t1c-eth-l2patch: 0
+64b-2t1c-eth-l2xcbase-eth-2memif-1dcr: 9
+64b-2t1c-avf-eth-l2patch: 8
+64b-2t1c-avf-eth-l2xcbase: 7
+64b-2t1c-eth-l2bdbasemaclrn-eth-2memif-1dcr: 6
+64b-2t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc: 5
+64b-2t1c-dot1q-l2bdbasemaclrn-eth-2memif-1dcr: "-"
+64b-2t1c-dot1q-l2xcbase: 1
+64b-2t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-vppip4: 2
+64b-2t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-vppl2xc: 3
+64b-2t1c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc: 4
+64b-2t1c-ethip4-ip4base-eth-2memif-1dcr: 0
+64b-2t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm: 0
+64b-2t1c-eth-l2xcbase-eth-2vhostvr1024-1vm: 8
+64b-2t1c-ethip4-ip4base-eth-2vhostvr1024-1vm: "-"
+64b-2t1c-eth-l2bdscale10kmaclrn: 2
+64b-2t1c-eth-l2bdbasemaclrn: 2
+64b-2t1c-eth-l2bdscale100kmaclrn: 56
+64b-2t1c-eth-l2bdscale1mmaclrn: 5
+78b-2t1c-ethip6-ip6base: 4
+64b-2t1c-eth-l2xcbase: 34
+78b-2t1c-dot1q-ip6base: 0
+64b-2t1c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm: 2
+78b-2t1c-ethip6-ip6scale200k: 6
+78b-2t1c-ethip6-ip6scale20k: 5
+78b-2t1c-ethip6-ip6scale2m: 3
+64b-2t1c-dot1q-l2bdbasemaclrn: 2
+64b-2t1c-ethip4udp-ip4base-oacl50sf-10kflows: "-"
+64b-2t1c-ethip4udp-ip4base-oacl50sl-10kflows: 4
+64b-2t1c-avf-eth-l2bdbasemaclrn: 3
+64b-2t1c-ethip4-ip4scale20k: 6
+64b-2t1c-avf-dot1q-l2bdbasemaclrn: 8
+64b-2t1c-dot1q-ip4base: 4
+64b-2t1c-ethip4-ip4base: 6
+64b-2t1c-ethip4udp-ip4base-iacl50sf-10kflows: 0
+64b-2t1c-ethip4udp-ip4base-iacl50sl-10kflows: 9
+64b-2t1c-avf-dot1q-l2bdbasemaclrn-gbp: 8
+64b-2t1c-ethip4-ip4scale200k: 9
+64b-2t1c-ethip4-ip4scale2m: 22
+64b-2t1c-avf-dot1q-ip4base: 11
+64b-2t1c-avf-ethip4-ip4base: 4
+64b-2t1c-avf-ethip4-ip4scale200k: 5
+64b-2t1c-avf-ethip4-ip4scale20k: 6
+64b-2t1c-avf-ethip4-ip4scale2m: 1
+64b-2t1c-ethip4udp-ip4base-nat44: 4
+footnote: "\nRoot causes:\n[0]: Description 0\n[1]: Description \n[2]: Description 2"