aboutsummaryrefslogtreecommitdiffstats
path: root/resources/tools
diff options
context:
space:
mode:
authorTibor Frank <tifrank@cisco.com>2018-08-20 14:23:46 +0200
committerTibor Frank <tifrank@cisco.com>2018-08-22 13:12:38 +0000
commit4ac3464851ff9dd688ab25d0324573284b6bf274 (patch)
treebe4b7456d9c5d30e4d81e107d79af8847d144d5c /resources/tools
parent68c245727d68fc7ba84b7f494a1dbcb69910213e (diff)
CSIT-944: PAL Extensions: Mapping table
Change-Id: I3bebf9ad849c056d2bbac476d22ef5e077af05b3 Signed-off-by: Tibor Frank <tifrank@cisco.com>
Diffstat (limited to 'resources/tools')
-rw-r--r--resources/tools/presentation/generator_CPTA.py12
-rw-r--r--resources/tools/presentation/ignored_tcs.yaml33
-rw-r--r--resources/tools/presentation/input_data_parser.py49
-rw-r--r--resources/tools/presentation/mapping_tc_names.yaml310
-rw-r--r--resources/tools/presentation/specification_CPTA.yaml12
-rw-r--r--resources/tools/presentation/specification_parser.py70
6 files changed, 459 insertions, 27 deletions
diff --git a/resources/tools/presentation/generator_CPTA.py b/resources/tools/presentation/generator_CPTA.py
index 38e9fbbdd0..34a9459ede 100644
--- a/resources/tools/presentation/generator_CPTA.py
+++ b/resources/tools/presentation/generator_CPTA.py
@@ -47,7 +47,17 @@ THEME_OVERRIDES = """/* override table width restrictions */
COLORS = ["SkyBlue", "Olive", "Purple", "Coral", "Indigo", "Pink",
"Chocolate", "Brown", "Magenta", "Cyan", "Orange", "Black",
- "Violet", "Blue", "Yellow"]
+ "Violet", "Blue", "Yellow", "BurlyWood", "CadetBlue", "Crimson",
+ "DarkBlue", "DarkCyan", "DarkGreen", "Green", "GoldenRod",
+ "LightGreen", "LightSeaGreen", "LightSkyBlue", "Maroon",
+ "MediumSeaGreen", "SeaGreen", "LightSlateGrey",
+ "SkyBlue", "Olive", "Purple", "Coral", "Indigo", "Pink",
+ "Chocolate", "Brown", "Magenta", "Cyan", "Orange", "Black",
+ "Violet", "Blue", "Yellow", "BurlyWood", "CadetBlue", "Crimson",
+ "DarkBlue", "DarkCyan", "DarkGreen", "Green", "GoldenRod",
+ "LightGreen", "LightSeaGreen", "LightSkyBlue", "Maroon",
+ "MediumSeaGreen", "SeaGreen", "LightSlateGrey"
+ ]
def generate_cpta(spec, data):
diff --git a/resources/tools/presentation/ignored_tcs.yaml b/resources/tools/presentation/ignored_tcs.yaml
new file mode 100644
index 0000000000..3397ac83cf
--- /dev/null
+++ b/resources/tools/presentation/ignored_tcs.yaml
@@ -0,0 +1,33 @@
+# List of ignored test cases.
+#
+# Structure:
+#
+# - TC_1
+# - TC_2
+# ...
+# - TC_n
+#
+# All TC names are the long names. The list of ignored test cases is converted
+# to lowercase when loaded.
+
+# Wrong NIC name in the long name, wrong tag used (NIC_Intel-X710 instead of
+# NIC_Intel-XL710), from build 239 changed to NIC_Intel-XL710 but data is
+# inconsistent.
+- tests.vpp.perf.vm vhost.40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
+- tests.vpp.perf.vm vhost.40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.tc04-IMIX-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
+- tests.vpp.perf.vm vhost.40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.tc05-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
+- tests.vpp.perf.vm vhost.40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.tc08-IMIX-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
+- tests.vpp.perf.vm vhost.40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.tc09-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
+- tests.vpp.perf.vm vhost.40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.tc12-IMIX-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
+- tests.vpp.perf.vm vhost.40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.tc01-64B-1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
+- tests.vpp.perf.vm vhost.40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.tc02-64B-2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
+- tests.vpp.perf.vm vhost.40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.tc03-64B-4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
+- tests.vpp.perf.vm vhost.40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.tc04-1518B-1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
+- tests.vpp.perf.vm vhost.40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.tc05-1518B-2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
+- tests.vpp.perf.vm vhost.40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.tc06-1518B-4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
+- tests.vpp.perf.vm vhost.40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.tc07-9000B-1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
+- tests.vpp.perf.vm vhost.40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.tc08-9000B-2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
+- tests.vpp.perf.vm vhost.40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.tc09-9000B-4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
+- tests.vpp.perf.vm vhost.40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.tc10-IMIX-1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
+- tests.vpp.perf.vm vhost.40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.tc11-IMIX-2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
+- tests.vpp.perf.vm vhost.40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.tc12-IMIX-4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
diff --git a/resources/tools/presentation/input_data_parser.py b/resources/tools/presentation/input_data_parser.py
index 4a72266f5f..0ecaf3fa5c 100644
--- a/resources/tools/presentation/input_data_parser.py
+++ b/resources/tools/presentation/input_data_parser.py
@@ -289,12 +289,17 @@ class ExecutionChecker(ResultVisitor):
REGEX_TC_NUMBER = re.compile(r'tc[0-9]{2}-')
- def __init__(self, metadata):
+ def __init__(self, metadata, mapping, ignore):
"""Initialisation.
:param metadata: Key-value pairs to be included in "metadata" part of
- JSON structure.
+ JSON structure.
+ :param mapping: Mapping of the old names of test cases to the new
+ (actual) one.
+ :param ignore: List of TCs to be ignored.
:type metadata: dict
+ :type mapping: dict
+ :type ignore: list
"""
# Type of message to parse out from the test messages
@@ -306,6 +311,12 @@ class ExecutionChecker(ResultVisitor):
# Timestamp
self._timestamp = None
+ # Mapping of TCs long names
+ self._mapping = mapping
+
+ # Ignore list
+ self._ignore = ignore
+
# Number of VAT History messages found:
# 0 - no message
# 1 - VAT History of DUT1
@@ -626,12 +637,30 @@ class ExecutionChecker(ResultVisitor):
:returns: Nothing.
"""
+ longname_orig = test.longname.lower()
+
+ # Check the ignore list
+ if longname_orig in self._ignore:
+ return
+
tags = [str(tag) for tag in test.tags]
test_result = dict()
- test_result["name"] = test.name.lower()
+
+ # Change the TC long name and name if defined in the mapping table
+ longname = self._mapping.get(longname_orig, None)
+ if longname is not None:
+ name = longname.split('.')[-1]
+ logging.debug("{0}\n{1}\n{2}\n{3}".format(
+ self._data["metadata"], longname_orig, longname, name))
+ else:
+ longname = longname_orig
+ name = test.name.lower()
+
+ # Remove TC number from the TC long name (backward compatibility):
+ self._test_ID = re.sub(self.REGEX_TC_NUMBER, "", longname)
# Remove TC number from the TC name (not needed):
- test_result["name"] = re.sub(self.REGEX_TC_NUMBER, "",
- test.name.lower())
+ test_result["name"] = re.sub(self.REGEX_TC_NUMBER, "", name)
+
test_result["parent"] = test.parent.name.lower()
test_result["tags"] = tags
doc_str = test.doc.replace('"', "'").replace('\n', ' '). \
@@ -641,8 +670,6 @@ class ExecutionChecker(ResultVisitor):
replace('\r', '').replace('"', "'")
test_result["type"] = "FUNC"
test_result["status"] = test.status
- # Remove TC number from the TC long name (backward compatibility):
- self._test_ID = re.sub(self.REGEX_TC_NUMBER, "", test.longname.lower())
if "PERFTEST" in tags:
# Replace info about cores (e.g. -1c-) with the info about threads
@@ -1021,8 +1048,7 @@ class InputData(object):
return self.data[job][build]["tests"]
- @staticmethod
- def _parse_tests(job, build, log):
+ def _parse_tests(self, job, build, log):
"""Process data from robot output.xml file and return JSON structured
data.
@@ -1048,7 +1074,8 @@ class InputData(object):
log.append(("ERROR", "Error occurred while parsing output.xml: "
"{0}".format(err)))
return None
- checker = ExecutionChecker(metadata)
+ checker = ExecutionChecker(metadata, self._cfg.mapping,
+ self._cfg.ignore)
result.visit(checker)
return checker.data
@@ -1099,7 +1126,7 @@ class InputData(object):
if success:
logs.append(("INFO", " Processing data from the build '{0}' ...".
format(build["build"])))
- data = InputData._parse_tests(job, build, logs)
+ data = self._parse_tests(job, build, logs)
if data is None:
logs.append(("ERROR", "Input data file from the job '{job}', "
"build '{build}' is damaged. Skipped.".
diff --git a/resources/tools/presentation/mapping_tc_names.yaml b/resources/tools/presentation/mapping_tc_names.yaml
new file mode 100644
index 0000000000..30a37305d0
--- /dev/null
+++ b/resources/tools/presentation/mapping_tc_names.yaml
@@ -0,0 +1,310 @@
+# Mapping of the old names of test cases to the new (actual) one.
+#
+# Data structure:
+#
+# old-name: new-name
+#
+# All TC names (old and new) are the long names. The mapping table is converted
+# to lowercase when loaded.
+
+
+# MRR Tests
+
+# tests.vpp.perf.l2
+
+tests.vpp.perf.l2.10ge2p1x520-eth-l2bdscale10kmaclrn-mrr.tc01-64B-1t1c-eth-l2dbscale10kmaclrn-mrr:
+ "tests.vpp.perf.l2.10ge2p1x520-eth-l2bdscale10kmaclrn-mrr.tc01-64B-1t1c-eth-l2bdscale10kmaclrn-mrr"
+
+tests.vpp.perf.l2.10ge2p1x520-eth-l2bdscale10kmaclrn-mrr.tc05-64B-2t2c-eth-l2dbscale10kmaclrn-mrr:
+ "tests.vpp.perf.l2.10ge2p1x520-eth-l2bdscale10kmaclrn-mrr.tc02-64B-2t2c-eth-l2bdscale10kmaclrn-mrr"
+
+tests.vpp.perf.l2.10ge2p1x520-eth-l2bdscale10kmaclrn-mrr.tc09-64B-4t4c-eth-l2dbscale10kmaclrn-mrr:
+ "tests.vpp.perf.l2.10ge2p1x520-eth-l2bdscale10kmaclrn-mrr.tc03-64B-4t4c-eth-l2bdscale10kmaclrn-mrr"
+
+tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr.tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-mrr:
+ "tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr.tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr"
+
+tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr.tc05-64B-2t2c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-mrr:
+ "tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr.tc02-64B-2t2c-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr"
+
+tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr.tc09-64B-4t4c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-mrr:
+ "tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr.tc03-64B-4t4c-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr"
+
+tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr.tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-mrr:
+ "tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr.tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr"
+
+tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr.tc05-64B-2t2c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-mrr:
+ "tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr.tc02-64B-2t2c-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr"
+
+tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr.tc09-64B-4t4c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-mrr:
+ "tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr.tc03-64B-4t4c-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr"
+
+tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr.tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-mrr:
+ "tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr.tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr"
+
+tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr.tc05-64B-2t2c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-mrr:
+ "tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr.tc02-64B-2t2c-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr"
+
+tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr.tc09-64B-4t4c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-mrr:
+ "tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr.tc03-64B-4t4c-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr"
+
+tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr.tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-mrr:
+ "tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr.tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr"
+
+tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr.tc05-64B-2t2c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-mrr:
+ "tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr.tc02-64B-2t2c-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr"
+
+tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr.tc09-64B-4t4c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-mrr:
+ "tests.vpp.perf.l2.10ge2p1x520-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr.tc03-64B-4t4c-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr"
+
+tests.vpp.perf.l2.10ge2p1x710-eth-l2bdscale10kmaclrn-mrr.tc01-64B-1t1c-eth-l2dbscale10kmaclrn-mrr:
+ "tests.vpp.perf.l2.10ge2p1x710-eth-l2bdscale10kmaclrn-mrr.tc01-64B-1t1c-eth-l2bdscale10kmaclrn-mrr"
+
+tests.vpp.perf.l2.10ge2p1x710-eth-l2bdscale10kmaclrn-mrr.tc05-64B-2t2c-eth-l2dbscale10kmaclrn-mrr:
+ "tests.vpp.perf.l2.10ge2p1x710-eth-l2bdscale10kmaclrn-mrr.tc02-64B-2t2c-eth-l2bdscale10kmaclrn-mrr"
+
+tests.vpp.perf.l2.10ge2p1x710-eth-l2bdscale10kmaclrn-mrr.tc09-64B-4t4c-eth-l2dbscale10kmaclrn-mrr:
+ "tests.vpp.perf.l2.10ge2p1x710-eth-l2bdscale10kmaclrn-mrr.tc03-64B-4t4c-eth-l2bdscale10kmaclrn-mrr"
+
+tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr.tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-mrr:
+ "tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr.tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr"
+
+tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr.tc05-64B-2t2c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-mrr:
+ "tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr.tc02-64B-2t2c-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr"
+
+tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr.tc09-64B-4t4c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-mrr:
+ "tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr.tc03-64B-4t4c-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr"
+
+tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr.tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-mrr:
+ "tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr.tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr"
+
+tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr.tc05-64B-2t2c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-mrr:
+ "tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr.tc02-64B-2t2c-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr"
+
+tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr.tc09-64B-4t4c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-mrr:
+ "tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr.tc03-64B-4t4c-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr"
+
+tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr.tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-mrr:
+ "tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr.tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr"
+
+tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr.tc05-64B-2t2c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-mrr:
+ "tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr.tc02-64B-2t2c-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr"
+
+tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr.tc09-64B-4t4c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-mrr:
+ "tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr.tc03-64B-4t4c-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr"
+
+tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr.tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-mrr:
+ "tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr.tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr"
+
+tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr.tc05-64B-2t2c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-mrr:
+ "tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr.tc02-64B-2t2c-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr"
+
+tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr.tc09-64B-4t4c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-mrr:
+ "tests.vpp.perf.l2.10ge2p1x710-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr.tc03-64B-4t4c-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr"
+
+
+# tests.vpp.perf.ip4
+
+tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl1sf-10kflows-mrr.tc01-64b-1t1c-ethip4udp-ip4base-iacl1-stateful-flows10k-mrr:
+ "tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl1sf-10kflows-mrr.tc01-64b-1t1c-ethip4udp-ip4base-iacl1sf-10kflows-mrr"
+
+tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl1sf-10kflows-mrr.tc05-64b-2t2c-ethip4udp-ip4base-iacl1-stateful-flows10k-mrr:
+ "tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl1sf-10kflows-mrr.tc02-64b-2t2c-ethip4udp-ip4base-iacl1sf-10kflows-mrr"
+
+tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl1sf-10kflows-mrr.tc09-64b-4t4c-ethip4udp-ip4base-iacl1-stateful-flows10k-mrr:
+ "tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl1sf-10kflows-mrr.tc03-64b-4t4c-ethip4udp-ip4base-iacl1sf-10kflows-mrr"
+
+tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl1sl-10kflows-mrr.tc01-64b-1t1c-ethip4udp-ip4base-iacl1-stateless-flows10k-mrr:
+ "tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl1sl-10kflows-mrr.tc01-64b-1t1c-ethip4udp-ip4base-iacl1sl-10kflows-mrr"
+
+tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl1sl-10kflows-mrr.tc05-64b-2t2c-ethip4udp-ip4base-iacl1-stateless-flows10k-mrr:
+ "tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl1sl-10kflows-mrr.tc02-64b-2t2c-ethip4udp-ip4base-iacl1sl-10kflows-mrr"
+
+tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl1sl-10kflows-mrr.tc09-64b-4t4c-ethip4udp-ip4base-iacl1-stateless-flows10k-mrr:
+ "tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl1sl-10kflows-mrr.tc03-64b-4t4c-ethip4udp-ip4base-iacl1sl-10kflows-mrr"
+
+tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl50sf-10kflows-mrr.tc01-64b-1t1c-ethip4udp-ip4base-iacl50-stateful-flows10k-mrr:
+ "tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl50sf-10kflows-mrr.tc01-64b-1t1c-ethip4udp-ip4base-iacl50sf-10kflows-mrr"
+
+tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl50sf-10kflows-mrr.tc05-64b-2t2c-ethip4udp-ip4base-iacl50-stateful-flows10k-mrr:
+ "tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl50sf-10kflows-mrr.tc02-64b-2t2c-ethip4udp-ip4base-iacl50sf-10kflows-mrr"
+
+tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl50sf-10kflows-mrr.tc09-64b-4t4c-ethip4udp-ip4base-iacl50-stateful-flows10k-mrr:
+ "tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl50sf-10kflows-mrr.tc03-64b-4t4c-ethip4udp-ip4base-iacl50sf-10kflows-mrr"
+
+tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl50sl-10kflows-mrr.tc01-64b-1t1c-ethip4udp-ip4base-iacl50-stateless-flows10k-mrr:
+ "tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl50sl-10kflows-mrr.tc01-64b-1t1c-ethip4udp-ip4base-iacl50sl-10kflows-mrr"
+
+tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl50sl-10kflows-mrr.tc05-64b-2t2c-ethip4udp-ip4base-iacl50-stateless-flows10k-mrr:
+ "tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl50sl-10kflows-mrr.tc02-64b-2t2c-ethip4udp-ip4base-iacl50sl-10kflows-mrr"
+
+tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl50sl-10kflows-mrr.tc09-64b-4t4c-ethip4udp-ip4base-iacl50-stateless-flows10k-mrr:
+ "tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-iacl50sl-10kflows-mrr.tc03-64b-4t4c-ethip4udp-ip4base-iacl50sl-10kflows-mrr"
+
+Tests.Vpp.Perf.Ip4.10Ge2P1X520-Ethip4Udp-Ip4Base-Nat44-Mrr.tc01-64B-1t1c-ethip4-ip4base-snat-1u-1p-mrr:
+ "tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-nat44-mrr.tc01-64B-1t1c-ethip4udp-ip4base-nat44-mrr"
+
+Tests.Vpp.Perf.Ip4.10Ge2P1X520-Ethip4Udp-Ip4Base-Nat44-Mrr.tc05-64B-2t2c-ethip4-ip4base-snat-1u-1p-mrr:
+ "tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-nat44-mrr.tc02-64B-2t2c-ethip4udp-ip4base-nat44-mrr"
+
+Tests.Vpp.Perf.Ip4.10Ge2P1X520-Ethip4Udp-Ip4Base-Nat44-Mrr.tc09-64B-4t4c-ethip4-ip4base-snat-1u-1p-mrr:
+ "tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4base-nat44-mrr.tc03-64B-4t4c-ethip4udp-ip4base-nat44-mrr"
+
+tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr.tc01-64B-1t1c-ethip4udp-ip4scale1000-udpsrcscale15-snat-mrr:
+ "tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr.tc01-64b-1t1c-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr"
+
+tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr.tc05-64B-2t2c-ethip4udp-ip4scale1000-udpsrcscale15-snat-mrr:
+ "tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr.tc02-64b-2t2c-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr"
+
+tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr.tc09-64B-4t4c-ethip4udp-ip4scale1000-udpsrcscale15-snat-mrr:
+ "tests.vpp.perf.ip4.10ge2p1x520-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr.tc03-64b-4t4c-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr"
+
+tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl1sf-10kflows-mrr.tc01-64b-1t1c-ethip4udp-ip4base-iacl1-stateful-flows10k-mrr:
+ "tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl1sf-10kflows-mrr.tc01-64b-1t1c-ethip4udp-ip4base-iacl1sf-10kflows-mrr"
+
+tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl1sf-10kflows-mrr.tc05-64b-2t2c-ethip4udp-ip4base-iacl1-stateful-flows10k-mrr:
+ "tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl1sf-10kflows-mrr.tc02-64b-2t2c-ethip4udp-ip4base-iacl1sf-10kflows-mrr"
+
+tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl1sf-10kflows-mrr.tc09-64b-4t4c-ethip4udp-ip4base-iacl1-stateful-flows10k-mrr:
+ "tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl1sf-10kflows-mrr.tc03-64b-4t4c-ethip4udp-ip4base-iacl1sf-10kflows-mrr"
+
+tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl1sl-10kflows-mrr.tc01-64b-1t1c-ethip4udp-ip4base-iacl1-stateless-flows10k-mrr:
+ "tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl1sl-10kflows-mrr.tc01-64b-1t1c-ethip4udp-ip4base-iacl1sl-10kflows-mrr"
+
+tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl1sl-10kflows-mrr.tc05-64b-2t2c-ethip4udp-ip4base-iacl1-stateless-flows10k-mrr:
+ "tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl1sl-10kflows-mrr.tc02-64b-2t2c-ethip4udp-ip4base-iacl1sl-10kflows-mrr"
+
+tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl1sl-10kflows-mrr.tc09-64b-4t4c-ethip4udp-ip4base-iacl1-stateless-flows10k-mrr:
+ "tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl1sl-10kflows-mrr.tc03-64b-4t4c-ethip4udp-ip4base-iacl1sl-10kflows-mrr"
+
+tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl50sf-10kflows-mrr.tc01-64b-1t1c-ethip4udp-ip4base-iacl50-stateful-flows10k-mrr:
+ "tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl50sf-10kflows-mrr.tc01-64b-1t1c-ethip4udp-ip4base-iacl50sf-10kflows-mrr"
+
+tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl50sf-10kflows-mrr.tc05-64b-2t2c-ethip4udp-ip4base-iacl50-stateful-flows10k-mrr:
+ "tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl50sf-10kflows-mrr.tc02-64b-2t2c-ethip4udp-ip4base-iacl50sf-10kflows-mrr"
+
+tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl50sf-10kflows-mrr.tc09-64b-4t4c-ethip4udp-ip4base-iacl50-stateful-flows10k-mrr:
+ "tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl50sf-10kflows-mrr.tc03-64b-4t4c-ethip4udp-ip4base-iacl50sf-10kflows-mrr"
+
+tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl50sl-10kflows-mrr.tc01-64b-1t1c-ethip4udp-ip4base-iacl50-stateless-flows10k-mrr:
+ "tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl50sl-10kflows-mrr.tc01-64b-1t1c-ethip4udp-ip4base-iacl50sl-10kflows-mrr"
+
+tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl50sl-10kflows-mrr.tc05-64b-2t2c-ethip4udp-ip4base-iacl50-stateless-flows10k-mrr:
+ "tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl50sl-10kflows-mrr.tc02-64b-2t2c-ethip4udp-ip4base-iacl50sl-10kflows-mrr"
+
+tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl50sl-10kflows-mrr.tc09-64b-4t4c-ethip4udp-ip4base-iacl50-stateless-flows10k-mrr:
+ "tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-iacl50sl-10kflows-mrr.tc03-64b-4t4c-ethip4udp-ip4base-iacl50sl-10kflows-mrr"
+
+Tests.Vpp.Perf.Ip4.10ge2p1x710-Ethip4Udp-Ip4Base-Nat44-Mrr.tc01-64B-1t1c-ethip4-ip4base-snat-1u-1p-mrr:
+ "tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-nat44-mrr.tc01-64B-1t1c-ethip4udp-ip4base-nat44-mrr"
+
+Tests.Vpp.Perf.Ip4.10ge2p1x710-Ethip4Udp-Ip4Base-Nat44-Mrr.tc05-64B-2t2c-ethip4-ip4base-snat-1u-1p-mrr:
+ "tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-nat44-mrr.tc02-64B-2t2c-ethip4udp-ip4base-nat44-mrr"
+
+Tests.Vpp.Perf.Ip4.10ge2p1x710-Ethip4Udp-Ip4Base-Nat44-Mrr.tc09-64B-4t4c-ethip4-ip4base-snat-1u-1p-mrr:
+ "tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4base-nat44-mrr.tc03-64B-4t4c-ethip4udp-ip4base-nat44-mrr"
+
+tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr.tc01-64B-1t1c-ethip4udp-ip4scale1000-udpsrcscale15-snat-mrr:
+ "tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr.tc01-64b-1t1c-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr"
+
+tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr.tc05-64B-2t2c-ethip4udp-ip4scale1000-udpsrcscale15-snat-mrr:
+ "tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr.tc02-64b-2t2c-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr"
+
+tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr.tc09-64B-4t4c-ethip4udp-ip4scale1000-udpsrcscale15-snat-mrr:
+ "tests.vpp.perf.ip4.10ge2p1x710-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr.tc03-64b-4t4c-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr"
+
+
+# tests.vpp.perf.ip6
+
+tests.vpp.perf.ip6.10ge2p1x520-ethip6-ip6scale2m-mrr.tc01-78B-1t1c-ethip6-ip6base-ip6scale2m-mrr:
+ "tests.vpp.perf.ip6.10ge2p1x520-ethip6-ip6scale2m-mrr.tc01-78B-1t1c-ethip6-ip6scale2m-mrr"
+
+tests.vpp.perf.ip6.10ge2p1x520-ethip6-ip6scale2m-mrr.tc05-78B-2t2c-ethip6-ip6base-ip6scale2m-mrr:
+ "tests.vpp.perf.ip6.10ge2p1x520-ethip6-ip6scale2m-mrr.tc02-78B-2t2c-ethip6-ip6scale2m-mrr"
+
+tests.vpp.perf.ip6.10ge2p1x520-ethip6-ip6scale2m-mrr.tc09-78B-4t4c-ethip6-ip6base-ip6scale2m-mrr:
+ "tests.vpp.perf.ip6.10ge2p1x520-ethip6-ip6scale2m-mrr.tc03-78B-4t4c-ethip6-ip6scale2m-mrr"
+
+tests.vpp.perf.ip6.10ge2p1x520-ethip6-ip6scale20k-mrr.tc01-78B-1t1c-ethip6-ip6base-ip6scale20k-mrr:
+ "tests.vpp.perf.ip6.10ge2p1x520-ethip6-ip6scale20k-mrr.tc01-78B-1t1c-ethip6-ip6scale20k-mrr"
+
+tests.vpp.perf.ip6.10ge2p1x520-ethip6-ip6scale20k-mrr.tc05-78B-2t2c-ethip6-ip6base-ip6scale20k-mrr:
+ "tests.vpp.perf.ip6.10ge2p1x520-ethip6-ip6scale20k-mrr.tc02-78B-2t2c-ethip6-ip6scale20k-mrr"
+
+tests.vpp.perf.ip6.10ge2p1x520-ethip6-ip6scale20k-mrr.tc09-78B-4t4c-ethip6-ip6base-ip6scale20k-mrr:
+ "tests.vpp.perf.ip6.10ge2p1x520-ethip6-ip6scale20k-mrr.tc03-78B-4t4c-ethip6-ip6scale20k-mrr"
+
+tests.vpp.perf.ip6.10ge2p1x520-ethip6-ip6scale200k-mrr.tc01-78B-1t1c-ethip6-ip6base-ip6scale200k-mrr:
+ "tests.vpp.perf.ip6.10ge2p1x520-ethip6-ip6scale200k-mrr.tc01-78B-1t1c-ethip6-ip6scale200k-mrr"
+
+tests.vpp.perf.ip6.10ge2p1x520-ethip6-ip6scale200k-mrr.tc05-78B-2t2c-ethip6-ip6base-ip6scale200k-mrr:
+ "tests.vpp.perf.ip6.10ge2p1x520-ethip6-ip6scale200k-mrr.tc02-78B-2t2c-ethip6-ip6scale200k-mrr"
+
+tests.vpp.perf.ip6.10ge2p1x520-ethip6-ip6scale200k-mrr.tc09-78B-4t4c-ethip6-ip6base-ip6scale200k-mrr:
+ "tests.vpp.perf.ip6.10ge2p1x520-ethip6-ip6scale200k-mrr.tc03-78B-4t4c-ethip6-ip6scale200k-mrr"
+
+tests.vpp.perf.ip6.10ge2p1x710-ethip6-ip6scale2m-mrr.tc01-78B-1t1c-ethip6-ip6base-ip6scale2m-mrr:
+ "tests.vpp.perf.ip6.10ge2p1x710-ethip6-ip6scale2m-mrr.tc01-78B-1t1c-ethip6-ip6scale2m-mrr"
+
+tests.vpp.perf.ip6.10ge2p1x710-ethip6-ip6scale2m-mrr.tc05-78B-2t2c-ethip6-ip6base-ip6scale2m-mrr:
+ "tests.vpp.perf.ip6.10ge2p1x710-ethip6-ip6scale2m-mrr.tc02-78B-2t2c-ethip6-ip6scale2m-mrr"
+
+tests.vpp.perf.ip6.10ge2p1x710-ethip6-ip6scale2m-mrr.tc09-78B-4t4c-ethip6-ip6base-ip6scale2m-mrr:
+ "tests.vpp.perf.ip6.10ge2p1x710-ethip6-ip6scale2m-mrr.tc03-78B-4t4c-ethip6-ip6scale2m-mrr"
+
+tests.vpp.perf.ip6.10ge2p1x710-ethip6-ip6scale20k-mrr.tc01-78B-1t1c-ethip6-ip6base-ip6scale20k-mrr:
+ "tests.vpp.perf.ip6.10ge2p1x710-ethip6-ip6scale20k-mrr.tc01-78B-1t1c-ethip6-ip6scale20k-mrr"
+
+tests.vpp.perf.ip6.10ge2p1x710-ethip6-ip6scale20k-mrr.tc05-78B-2t2c-ethip6-ip6base-ip6scale20k-mrr:
+ "tests.vpp.perf.ip6.10ge2p1x710-ethip6-ip6scale20k-mrr.tc02-78B-2t2c-ethip6-ip6scale20k-mrr"
+
+tests.vpp.perf.ip6.10ge2p1x710-ethip6-ip6scale20k-mrr.tc09-78B-4t4c-ethip6-ip6base-ip6scale20k-mrr:
+ "tests.vpp.perf.ip6.10ge2p1x710-ethip6-ip6scale20k-mrr.tc03-78B-4t4c-ethip6-ip6scale20k-mrr"
+
+tests.vpp.perf.ip6.10ge2p1x710-ethip6-ip6scale200k-mrr.tc01-78B-1t1c-ethip6-ip6base-ip6scale200k-mrr:
+ "tests.vpp.perf.ip6.10ge2p1x710-ethip6-ip6scale200k-mrr.tc01-78B-1t1c-ethip6-ip6scale200k-mrr"
+
+tests.vpp.perf.ip6.10ge2p1x710-ethip6-ip6scale200k-mrr.tc05-78B-2t2c-ethip6-ip6base-ip6scale200k-mrr:
+ "tests.vpp.perf.ip6.10ge2p1x710-ethip6-ip6scale200k-mrr.tc02-78B-2t2c-ethip6-ip6scale200k-mrr"
+
+tests.vpp.perf.ip6.10ge2p1x710-ethip6-ip6scale200k-mrr.tc09-78B-4t4c-ethip6-ip6base-ip6scale200k-mrr:
+ "tests.vpp.perf.ip6.10ge2p1x710-ethip6-ip6scale200k-mrr.tc03-78B-4t4c-ethip6-ip6scale200k-mrr"
+
+
+# tests.vpp.perf.vm_vhost
+
+Tests.Vpp.Perf.Vm Vhost.10Ge2P1X520-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc01-64B-1t1c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr:
+ "Tests.Vpp.Perf.Vm Vhost.10Ge2P1X520-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc01-64B-1t1c-eth-l2xcbase-eth-4vhostvr1024-2vm-mrr"
+
+Tests.Vpp.Perf.Vm Vhost.10Ge2P1X520-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc05-64B-2t2c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr:
+ "Tests.Vpp.Perf.Vm Vhost.10Ge2P1X520-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc02-64B-2t2c-eth-l2xcbase-eth-4vhostvr1024-2vm-mrr"
+
+Tests.Vpp.Perf.Vm Vhost.10Ge2P1X520-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc09-64B-4t4c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr:
+ "Tests.Vpp.Perf.Vm Vhost.10Ge2P1X520-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc03-64B-4t4c-eth-l2xcbase-eth-4vhostvr1024-2vm-mrr"
+
+Tests.Vpp.Perf.Vm Vhost.10Ge2P1X520-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc04-IMIX-1t1c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr:
+ "Tests.Vpp.Perf.Vm Vhost.10Ge2P1X520-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc10-IMIX-1t1c-eth-l2xcbase-eth-4vhostvr1024-2vm-mrr"
+
+Tests.Vpp.Perf.Vm Vhost.10Ge2P1X520-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc08-IMIX-2t2c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr:
+ "Tests.Vpp.Perf.Vm Vhost.10Ge2P1X520-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc11-IMIX-2t2c-eth-l2xcbase-eth-4vhostvr1024-2vm-mrr"
+
+Tests.Vpp.Perf.Vm Vhost.10Ge2P1X520-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc12-IMIX-4t4c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr:
+ "Tests.Vpp.Perf.Vm Vhost.10Ge2P1X520-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc12-IMIX-4t4c-eth-l2xcbase-eth-4vhostvr1024-2vm-mrr"
+
+Tests.Vpp.Perf.Vm Vhost.10ge2p1x710-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc01-64B-1t1c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr:
+ "Tests.Vpp.Perf.Vm Vhost.10ge2p1x710-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc01-64B-1t1c-eth-l2xcbase-eth-4vhostvr1024-2vm-mrr"
+
+Tests.Vpp.Perf.Vm Vhost.10ge2p1x710-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc05-64B-2t2c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr:
+ "Tests.Vpp.Perf.Vm Vhost.10ge2p1x710-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc02-64B-2t2c-eth-l2xcbase-eth-4vhostvr1024-2vm-mrr"
+
+Tests.Vpp.Perf.Vm Vhost.10ge2p1x710-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc09-64B-4t4c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr:
+ "Tests.Vpp.Perf.Vm Vhost.10ge2p1x710-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc03-64B-4t4c-eth-l2xcbase-eth-4vhostvr1024-2vm-mrr"
+
+Tests.Vpp.Perf.Vm Vhost.10ge2p1x710-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc04-IMIX-1t1c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr:
+ "Tests.Vpp.Perf.Vm Vhost.10ge2p1x710-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc10-IMIX-1t1c-eth-l2xcbase-eth-4vhostvr1024-2vm-mrr"
+
+Tests.Vpp.Perf.Vm Vhost.10ge2p1x710-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc08-IMIX-2t2c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr:
+ "Tests.Vpp.Perf.Vm Vhost.10ge2p1x710-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc11-IMIX-2t2c-eth-l2xcbase-eth-4vhostvr1024-2vm-mrr"
+
+Tests.Vpp.Perf.Vm Vhost.10ge2p1x710-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc12-IMIX-4t4c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr:
+ "Tests.Vpp.Perf.Vm Vhost.10ge2p1x710-Eth-L2Xcbase-Eth-4Vhostvr1024-2Vm-Mrr.tc12-IMIX-4t4c-eth-l2xcbase-eth-4vhostvr1024-2vm-mrr"
diff --git a/resources/tools/presentation/specification_CPTA.yaml b/resources/tools/presentation/specification_CPTA.yaml
index b827e211fb..4d996a0a5a 100644
--- a/resources/tools/presentation/specification_CPTA.yaml
+++ b/resources/tools/presentation/specification_CPTA.yaml
@@ -64,17 +64,21 @@
-
type: "configuration"
+ mapping-file: "mapping_tc_names.yaml"
+
+ ignore-list: "ignored_tcs.yaml"
+
data-sets:
plot-performance-trending-all:
csit-vpp-perf-mrr-daily-master:
- start: 15
+ start: 100
end: "lastCompletedBuild"
csit-dpdk-perf-mrr-weekly-master:
start: 3
end: "lastCompletedBuild"
plot-performance-trending-vpp:
csit-vpp-perf-mrr-daily-master:
- start: 15
+ start: 100
end: "lastCompletedBuild"
plot-performance-trending-dpdk:
csit-dpdk-perf-mrr-weekly-master:
@@ -163,8 +167,8 @@
extract: "output.xml"
builds:
csit-vpp-perf-mrr-daily-master:
- start: 15
- end: "lastCompletedBuild" # take all from the 'start'
+ start: 100
+ end: "lastCompletedBuild"
csit-dpdk-perf-mrr-weekly-master:
start: 3
end: "lastCompletedBuild"
diff --git a/resources/tools/presentation/specification_parser.py b/resources/tools/presentation/specification_parser.py
index ebd84530a3..f994a59b35 100644
--- a/resources/tools/presentation/specification_parser.py
+++ b/resources/tools/presentation/specification_parser.py
@@ -94,20 +94,23 @@ class Specification(object):
return self._specification["static"]
@property
- def is_debug(self):
- """Getter - debug mode
+ def mapping(self):
+ """Getter - Mapping.
- :returns: True if debug mode is on, otherwise False.
- :rtype: bool
+ :returns: Mapping of the old names of test cases to the new (actual)
+ one.
+ :rtype: dict
"""
+ return self._specification["configuration"]["mapping"]
- try:
- if self.environment["configuration"]["CFG[DEBUG]"] == 1:
- return True
- else:
- return False
- except KeyError:
- return False
+ @property
+ def ignore(self):
+ """Getter - Ignore list.
+
+ :returns: List of ignored test cases.
+ :rtype: list
+ """
+ return self._specification["configuration"]["ignore"]
@property
def input(self):
@@ -413,6 +416,51 @@ class Specification(object):
build_nr = self._get_build_number(job, build_nr)
builds = [x for x in range(builds["start"], build_nr+1)]
self.configuration["data-sets"][set_name][job] = builds
+
+ # Mapping table:
+ mapping = None
+ mapping_file_name = self._specification["configuration"].\
+ get("mapping-file", None)
+ if mapping_file_name:
+ logging.debug("Mapping file: '{0}'".format(mapping_file_name))
+ try:
+ with open(mapping_file_name, 'r') as mfile:
+ mapping = load(mfile)
+ logging.debug("Loaded mapping table:\n{0}".format(mapping))
+ except (YAMLError, IOError) as err:
+ raise PresentationError(
+ msg="An error occurred while parsing the mapping file "
+ "'{0}'.".format(mapping_file_name),
+ details=repr(err))
+ # Make sure everything is lowercase
+ if mapping:
+ self._specification["configuration"]["mapping"] = \
+ {key.lower(): val.lower() for key, val in mapping.iteritems()}
+ else:
+ self._specification["configuration"]["mapping"] = dict()
+
+ # Ignore list:
+ ignore = None
+ ignore_list_name = self._specification["configuration"].\
+ get("ignore-list", None)
+ if ignore_list_name:
+ logging.debug("Ignore list file: '{0}'".format(ignore_list_name))
+ try:
+ with open(ignore_list_name, 'r') as ifile:
+ ignore = load(ifile)
+ logging.debug("Loaded ignore list:\n{0}".format(ignore))
+ except (YAMLError, IOError) as err:
+ raise PresentationError(
+ msg="An error occurred while parsing the ignore list file "
+ "'{0}'.".format(ignore_list_name),
+ details=repr(err))
+ # Make sure everything is lowercase
+ if ignore:
+ self._specification["configuration"]["ignore"] = \
+ [item.lower() for item in ignore]
+ else:
+ self._specification["configuration"]["ignore"] = list()
+
logging.info("Done.")
def _parse_input(self):