C-Dash: Add hoststack
[csit.git] / csit.infra.dash / app / cdash / report / graphs.py
index 0e27836..411a599 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2022 Cisco and/or its affiliates.
+# Copyright (c) 2023 Cisco and/or its affiliates.
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-"""
+"""Implementation of graphs for iterative data.
 """
 
-import re
 import plotly.graph_objects as go
 import pandas as pd
 
@@ -24,36 +23,6 @@ from ..utils.constants import Constants as C
 from ..utils.utils import get_color
 
 
-def get_short_version(version: str, dut_type: str="vpp") -> str:
-    """Returns the short version of DUT without build number.
-
-    :param version: Original version string.
-    :param dut_type: DUT type.
-    :type version: str
-    :type dut_type: str
-    :returns: Short verion string.
-    :rtype: str
-    """
-
-    if dut_type in ("trex", "dpdk"):
-        return version
-
-    s_version = str()
-    groups = re.search(
-        pattern=re.compile(r"^(\d{2}).(\d{2})-(rc0|rc1|rc2|release$)"),
-        string=version
-    )
-    if groups:
-        try:
-            s_version = \
-                f"{groups.group(1)}.{groups.group(2)}.{groups.group(3)}".\
-                    replace("release", "rls")
-        except IndexError:
-            pass
-
-    return s_version
-
-
 def select_iterative_data(data: pd.DataFrame, itm:dict) -> pd.DataFrame:
     """Select the data for graphs and tables from the provided data frame.
 
@@ -77,26 +46,20 @@ def select_iterative_data(data: pd.DataFrame, itm:dict) -> pd.DataFrame:
     else:
         return None
 
-    core = str() if itm["dut"] == "trex" else f"{itm['core']}"
-    ttype = "ndrpdr" if itm["testtype"] in ("ndr", "pdr") else itm["testtype"]
-    dut_v100 = "none" if itm["dut"] == "trex" else itm["dut"]
-    dut_v101 = itm["dut"]
-
+    if itm["testtype"] in ("ndr", "pdr"):
+        test_type = "ndrpdr"
+    elif itm["testtype"] == "mrr":
+        test_type = "mrr"
+    elif itm["area"] == "hoststack":
+        test_type = "hoststack"
     df = data.loc[(
         (data["release"] == itm["rls"]) &
-        (
-            (
-                (data["version"] == "1.0.0") &
-                (data["dut_type"].str.lower() == dut_v100)
-            ) |
-            (
-                (data["version"] == "1.0.1") &
-                (data["dut_type"].str.lower() == dut_v101)
-            )
-        ) &
-        (data["test_type"] == ttype) &
+        (data["test_type"] == test_type) &
         (data["passed"] == True)
     )]
+
+    core = str() if itm["dut"] == "trex" else f"{itm['core']}"
+    ttype = "ndrpdr" if itm["testtype"] in ("ndr", "pdr") else itm["testtype"]
     regex_test = \
         f"^.*[.|-]{nic}.*{itm['framesize']}-{core}-{drv}{itm['test']}-{ttype}$"
     df = df[