- case_name: cnf_testsuite
project_name: functest
+ # https://github.com/lfn-cnti/certification/blob/main/docs/CNTiCertification-2.0-beta.md
+ # V2.0-beta certification requires passing at least 15 of
+ # the 19 total Essential tests.
criteria: 15
blocking: false
description: >-
args:
cnf-config: example-cnfs/coredns/cnf-testsuite.yml
tag: cert
+ - case_name: cnf_testsuite_workload
+ project_name: functest
+ criteria: 50
+ blocking: false
+ description: >-
+ Enable interoperability of Cloud native Network
+ Functions (CNFs) as proposed by
+ https://github.com/cnti-testcatalog/testsuite
+ dependencies:
+ - DEPLOY_SCENARIO: "k8-*"
+ run:
+ name: cnf_testsuite
+ args:
+ cnf-config: example-cnfs/coredns/cnf-testsuite.yml
+ tag: workload
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(