From 0c55898253147b8fb6e5ef1afbf6f462a5b343b5 Mon Sep 17 00:00:00 2001 From: Cédric Ollivier Date: Sat, 9 Jun 2018 10:53:41 +0200 Subject: Stop using a forked obsolete repo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It leverages on the official clearwater live test instead. It now parses the output directly. Change-Id: Ia7746c13362323daf72b3536d294401f0b7ae42f Signed-off-by: Cédric Ollivier --- .../opnfv_tests/vnf/ims/clearwater_ims_base.py | 27 +++++++++--------- functest/opnfv_tests/vnf/ims/cloudify_ims.py | 32 +++++----------------- 2 files changed, 20 insertions(+), 39 deletions(-) (limited to 'functest/opnfv_tests/vnf') diff --git a/functest/opnfv_tests/vnf/ims/clearwater_ims_base.py b/functest/opnfv_tests/vnf/ims/clearwater_ims_base.py index 94915c839..ae01cfa3e 100644 --- a/functest/opnfv_tests/vnf/ims/clearwater_ims_base.py +++ b/functest/opnfv_tests/vnf/ims/clearwater_ims_base.py @@ -6,9 +6,9 @@ # which accompanies this distribution, and is available at # # http://www.apache.org/licenses/LICENSE-2.0 -import json import logging import os +import re import shlex import shutil import subprocess @@ -151,19 +151,18 @@ class ClearwaterOnBoardingBase(vnf.VnfOnBoarding): if result != "": self.logger.debug(result) - vims_test_result = "" - tempFile = os.path.join(self.test_dir, "temp.json") + vims_test_result = {} try: - self.logger.debug("Trying to load test results") - with open(tempFile) as f: - vims_test_result = json.load(f) - f.close() + grp = re.search( + '(\d+) failures out of (\d+) tests run\n.*?' + '(\d+) tests skipped', result) + assert grp + vims_test_result["failures"] = int(grp.group(1)) + vims_test_result["total"] = int(grp.group(2)) + vims_test_result["skipped"] = int(grp.group(3)) + vims_test_result['passed'] = ( + int(grp.group(2)) - int(grp.group(3)) - int(grp.group(1))) except Exception: # pylint: disable=broad-except - self.logger.error("Unable to retrieve test results") - - try: - os.remove(tempFile) - except Exception: # pylint: disable=broad-except - self.logger.error("Deleting file failed") - + self.logger.exception("Cannot parse live tests results") + return None return vims_test_result diff --git a/functest/opnfv_tests/vnf/ims/cloudify_ims.py b/functest/opnfv_tests/vnf/ims/cloudify_ims.py index 659549408..711cd8237 100644 --- a/functest/opnfv_tests/vnf/ims/cloudify_ims.py +++ b/functest/opnfv_tests/vnf/ims/cloudify_ims.py @@ -387,24 +387,26 @@ class CloudifyIms(clearwater_ims_base.ClearwaterOnBoardingBase): if not dns_ip: return False - vims_test_result = self.run_clearwater_live_test( + short_result = self.run_clearwater_live_test( dns_ip=dns_ip, public_domain=self.vnf['inputs']["public_domain"]) duration = time.time() - start_time - short_result, nb_test = sig_test_format(vims_test_result) self.__logger.info(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 + vnf_test_rate = short_result['passed'] / ( + short_result['total'] - short_result['skipped']) # 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 - + except Exception: # pylint: disable=broad-except + self.__logger.exception("Cannot calculate results") + self.details['test_vnf'].update(status='FAIL') + return False return True if vnf_test_rate > 0 else False def clean(self): @@ -540,23 +542,3 @@ def _get_deployment_environment_creation_execution(client, deployment_id): raise RuntimeError('Failed to get create_deployment_environment ' 'workflow execution.' 'Available executions: {0}'.format(executions)) - - -def sig_test_format(sig_test): - """Process the signaling result to have a short result.""" - nb_passed = 0 - nb_failures = 0 - nb_skipped = 0 - for data_test in sig_test: - if data_test['result'] == "Passed": - nb_passed += 1 - elif data_test['result'] == "Failed": - nb_failures += 1 - elif data_test['result'] == "Skipped": - nb_skipped += 1 - 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) -- cgit 1.2.3-korg