aboutsummaryrefslogtreecommitdiffstats
path: root/functest_kubernetes
diff options
context:
space:
mode:
authorCédric Ollivier <cedric.ollivier@orange.com>2025-01-28 15:15:04 +0100
committerCédric Ollivier <cedric.ollivier@orange.com>2025-01-28 16:03:23 +0100
commitf8000cd3789a68fab8e45525a15a8fc461d264fe (patch)
tree04cead67c7995d8aaf8697bbbc08267dbad30df2 /functest_kubernetes
parentd25435a3f38aea8abf59d7b4d0e1e696a615ee8c (diff)
Add a new testcase: cnf_testsuite_workload
It runs all the workload test plan vs the example coredns. Please note criteria is arbitrary set to 50%. Testing vs coredns is about 80% and envoy 70%. It also add extra processing to calculate results in the main 3 cases (cert, workload and single tag). Change-Id: I5e161727cab40228991ab97a061b13b335f87b4c Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com> (cherry picked from commit b716ddbfd7efe66cf9fbe73838d9eec2e3350025)
Diffstat (limited to 'functest_kubernetes')
-rw-r--r--functest_kubernetes/cnf_conformance/conformance.py20
1 files changed, 14 insertions, 6 deletions
diff --git a/functest_kubernetes/cnf_conformance/conformance.py b/functest_kubernetes/cnf_conformance/conformance.py
index b6fc8e42..5d1c1f5e 100644
--- a/functest_kubernetes/cnf_conformance/conformance.py
+++ b/functest_kubernetes/cnf_conformance/conformance.py
@@ -115,13 +115,21 @@ class CNFConformance(testcase.TestCase):
self.__logger.warning(
"%s %s", item['name'], item['status'])
self.__logger.info("\n\n%s\n", msg.get_string())
- grp = re.search(
- r'(\d+) of (\d+) essential tests passed', output.decode("utf-8"))
- if grp:
- # https://github.com/cncf/cnf-certification/blob/main/reviewing.md
- self.result = int(grp.group(1))
+ if kwargs.get("tag", self.default_tag) == 'cert':
+ grp = re.search(
+ r'(\d+) of (\d+) essential tests passed',
+ output.decode("utf-8"))
+ if grp:
+ self.result = int(grp.group(1))
+ else:
+ self.result = 0
else:
- self.result = 0
+ grp = re.search(
+ r'Final .* score: (\d+) of (\d+)', output.decode("utf-8"))
+ if grp:
+ self.result = int(grp.group(1)) / int(grp.group(2)) * 100
+ else:
+ self.result = item_criteria / len(self.details['items']) * 100
if not os.path.exists(self.res_dir):
os.makedirs(self.res_dir)
shutil.copy2(