diff options
Diffstat (limited to 'resources/tools/presentation')
-rw-r--r-- | resources/tools/presentation/generator_CPTA.py | 12 | ||||
-rw-r--r-- | resources/tools/presentation/ignored_tcs.yaml | 33 | ||||
-rw-r--r-- | resources/tools/presentation/input_data_parser.py | 49 | ||||
-rw-r--r-- | resources/tools/presentation/mapping_tc_names.yaml | 310 | ||||
-rw-r--r-- | resources/tools/presentation/specification_CPTA.yaml | 12 | ||||
-rw-r--r-- | resources/tools/presentation/specification_parser.py | 70 |
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): |