PAL: Update Sphinx to the latest versions
[csit.git] / resources / tools / presentation / input_data_parser.py
index 6eb60ec..b6b9301 100644 (file)
@@ -268,7 +268,7 @@ class ExecutionChecker(ResultVisitor):
         r'tx\s(\d*),\srx\s(\d*)'
     )
     REGEX_BMRR = re.compile(
-        r'Maximum Receive Rate trial results .*: \[(.*)\]'
+        r'.*trial results.*: \[(.*)\]'
     )
     REGEX_RECONF_LOSS = re.compile(
         r'Packets lost due to reconfig: (\d*)'
@@ -1153,8 +1153,6 @@ class ExecutionChecker(ResultVisitor):
                     return
 
         if test.status == u"PASS":
-            logging.info(self._test_id)
-            logging.info(tags)
             if u"DEVICETEST" in tags:
                 test_result[u"type"] = u"DEVICETEST"
             elif u"NDRPDR" in tags:
@@ -1168,9 +1166,6 @@ class ExecutionChecker(ResultVisitor):
                     self._get_ndrpdr_throughput_gbps(test.message)
                 test_result[u"latency"], test_result[u"status"] = \
                     self._get_ndrpdr_latency(test.message)
-                logging.info(test_result[u"throughput"])
-                logging.info(test_result[u"gbps"])
-                logging.info(test_result[u"latency"])
             elif u"MRR" in tags or u"FRMOBL" in tags or u"BMRR" in tags:
                 if u"MRR" in tags:
                     test_result[u"type"] = u"MRR"
@@ -1182,17 +1177,18 @@ class ExecutionChecker(ResultVisitor):
                 if groups is not None:
                     items_str = groups.group(1)
                     items_float = [
-                        float(item.strip()) for item in items_str.split(",")
+                        float(item.strip().replace(u"'", u""))
+                        for item in items_str.split(",")
                     ]
                     # Use whole list in CSIT-1180.
                     stats = jumpavg.AvgStdevStats.for_runs(items_float)
+                    test_result[u"result"][u"samples"] = items_float
                     test_result[u"result"][u"receive-rate"] = stats.avg
                     test_result[u"result"][u"receive-stdev"] = stats.stdev
                 else:
                     groups = re.search(self.REGEX_MRR, test.message)
                     test_result[u"result"][u"receive-rate"] = \
                         float(groups.group(3)) / float(groups.group(1))
-                logging.info(test_result[u"result"][u"receive-rate"])
             elif u"SOAK" in tags:
                 test_result[u"type"] = u"SOAK"
                 test_result[u"throughput"], test_result[u"status"] = \
@@ -1958,16 +1954,25 @@ class InputData:
 
         if params is None:
             params = element.get(u"parameters", None)
-            if params:
+            if params and u"type" not in params:
                 params.append(u"type")
 
+        cores = element.get(u"core", None)
+        if cores:
+            tests = list()
+            for core in cores:
+                for test in include:
+                    tests.append(test.format(core=core))
+        else:
+            tests = include
+
         data = pd.Series()
         try:
             for job, builds in element[u"data"].items():
                 data[job] = pd.Series()
                 for build in builds:
                     data[job][str(build)] = pd.Series()
-                    for test in include:
+                    for test in tests:
                         try:
                             reg_ex = re.compile(str(test).lower())
                             for test_id in self.data[job][