Report: Add data
[csit.git] / resources / tools / presentation / generator_alerts.py
index b0606b6..156e99c 100644 (file)
@@ -20,6 +20,7 @@
 
 import smtplib
 import logging
+import re
 
 from email.mime.text import MIMEText
 from email.mime.multipart import MIMEMultipart
@@ -346,26 +347,36 @@ class Alerting:
             )
 
         text = u""
-        for idx, test_set in enumerate(alert.get(u"include", [])):
+        for idx, test_set in enumerate(alert.get(u"include", list())):
+            test_set_short = u""
+            device = u""
+            try:
+                groups = re.search(
+                    re.compile(
+                        r'((vpp|dpdk)-\dn-(skx|clx|hsw|tsh|dnv|zn2)-.*)'
+                    ),
+                    test_set
+                )
+                test_set_short = groups.group(1)
+                device = groups.group(2)
+            except (AttributeError, IndexError):
+                logging.error(
+                    f"The test set {test_set} does not include information "
+                    f"about test bed. Using empty string instead."
+                )
             build, version, passed, failed, failed_tests = \
                 self._get_compressed_failed_tests(alert, test_set)
             if build is None:
-                ret_code, build_nr, _ = get_last_completed_build_number(
-                    self._spec.environment[u"urls"][u"URL[JENKINS,CSIT]"],
-                    alert[u"urls"][idx].split(u'/')[-1])
-                if ret_code != 0:
-                    build_nr = u''
                 text += (
-                    f"\n\nNo input data available for "
-                    f"{u'-'.join(test_set.split('-')[-2:])}. See CSIT build "
-                    f"{alert[u'urls'][idx]}/{build_nr} for more information.\n"
+                    f"\n\nNo input data available for {test_set_short}. "
+                    f"See CSIT job {alert[u'urls'][idx]} for more "
+                    f"information.\n"
                 )
                 continue
             text += (
-                f"\n\n{test_set.split('-')[-2]}-{test_set.split('-')[-1]}, "
-                f"{failed} tests failed, "
-                f"{passed} tests passed, CSIT build: "
-                f"{alert[u'urls'][idx]}/{build}, VPP version: {version}\n\n"
+                f"\n\n{test_set_short}, {failed} tests failed, {passed} tests "
+                f"passed, CSIT build: {alert[u'urls'][idx]}/{build}, "
+                f"{device} version: {version}\n\n"
             )
 
             class MaxLens():
@@ -414,9 +425,9 @@ class Alerting:
                 )
 
             gression_hdr = (
-                f"\n\n{test_set.split(u'-')[-2]}-{test_set.split(u'-')[-1]}, "
+                f"\n\n{test_set_short}, "
                 f"CSIT build: {alert[u'urls'][idx]}/{build}, "
-                f"VPP version: {version}\n\n"
+                f"{device} version: {version}\n\n"
             )
             # Add list of regressions:
             self._list_gressions(alert, idx, gression_hdr, u"regressions")