aboutsummaryrefslogtreecommitdiffstats
path: root/functest
diff options
context:
space:
mode:
authorboucherv <valentin.boucher@orange.com>2017-08-23 18:02:02 +0200
committerboucherv <valentin.boucher@orange.com>2017-08-29 12:21:34 +0200
commit13ed268dc6db46f6390550613d4515e542bb6cf9 (patch)
tree1ddcaa9c97700d657fb3ae16568714048cb56374 /functest
parent5065847a3af28f6d465b293cef3b060a8b222e6e (diff)
Put vnf_test pass if more than 80% of vnf test result are OK
Change-Id: I1042176c587ef2bf1197c724cb5b1b6d67ffba3d Signed-off-by: boucherv <valentin.boucher@orange.com>
Diffstat (limited to 'functest')
-rw-r--r--functest/ci/testcases.yaml2
-rw-r--r--functest/opnfv_tests/vnf/ims/cloudify_ims.py27
2 files changed, 20 insertions, 9 deletions
diff --git a/functest/ci/testcases.yaml b/functest/ci/testcases.yaml
index b0472b27..adc7e09e 100644
--- a/functest/ci/testcases.yaml
+++ b/functest/ci/testcases.yaml
@@ -467,7 +467,7 @@ tiers:
-
case_name: cloudify_ims
project_name: functest
- criteria: 100
+ criteria: 80
blocking: false
description: >-
This test case deploys an OpenSource vIMS solution from Clearwater
diff --git a/functest/opnfv_tests/vnf/ims/cloudify_ims.py b/functest/opnfv_tests/vnf/ims/cloudify_ims.py
index b07eaee2..8ed7f0dd 100644
--- a/functest/opnfv_tests/vnf/ims/cloudify_ims.py
+++ b/functest/opnfv_tests/vnf/ims/cloudify_ims.py
@@ -281,6 +281,7 @@ class CloudifyIms(clearwater_ims_base.ClearwaterOnBoardingBase):
external_network_name=ext_net_name,
network_name=network_settings.name
))
+ self.result = 1/3 * 100
return True
def deploy_vnf(self):
@@ -330,6 +331,7 @@ class CloudifyIms(clearwater_ims_base.ClearwaterOnBoardingBase):
self.__logger.info(execution)
if execution.status == 'terminated':
self.details['vnf'].update(status='PASS', duration=duration)
+ self.result += 1/3 * 100
result = True
else:
self.details['vnf'].update(status='FAIL', duration=duration)
@@ -355,12 +357,20 @@ class CloudifyIms(clearwater_ims_base.ClearwaterOnBoardingBase):
dns_ip=dns_ip,
public_domain=self.vnf['inputs']["public_domain"])
duration = time.time() - start_time
- short_result = sig_test_format(vims_test_result)
+ short_result, nb_test = sig_test_format(vims_test_result)
self.__logger.info(short_result)
- self.details['test_vnf'].update(status='PASS',
- result=short_result,
+ self.details['test_vnf'].update(result=short_result,
full_result=vims_test_result,
duration=duration)
+ try:
+ vnf_test_rate = short_result['passed'] / nb_test
+ # orchestrator + vnf + test_vnf
+ self.result += vnf_test_rate / 3 * 100
+ except ZeroDivisionError:
+ self.__logger.error("No test has been executed")
+ self.details['test_vnf'].update(status='FAIL')
+ return False
+
return True
def clean(self):
@@ -507,11 +517,12 @@ def sig_test_format(sig_test):
nb_failures += 1
elif data_test['result'] == "Skipped":
nb_skipped += 1
- total_sig_test_result = {}
- total_sig_test_result['passed'] = nb_passed
- total_sig_test_result['failures'] = nb_failures
- total_sig_test_result['skipped'] = nb_skipped
- return total_sig_test_result
+ short_sig_test_result = {}
+ short_sig_test_result['passed'] = nb_passed
+ short_sig_test_result['failures'] = nb_failures
+ short_sig_test_result['skipped'] = nb_skipped
+ nb_test = nb_passed + nb_skipped
+ return (short_sig_test_result, nb_test)
def run_blocking_ssh_command(ssh, cmd, error_msg="Unable to run this command"):