diff options
author | Morgan Richomme <morgan.richomme@orange.com> | 2017-02-01 07:25:14 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@opnfv.org> | 2017-02-01 07:25:14 +0000 |
commit | d298ec662021a5703907fa6b1a5bf71343b1cccc (patch) | |
tree | 217b9db5e9cedeb58639f5ea36f002dc9d733df3 /functest | |
parent | 1a498ce89ae559e73bc63d2ec3a31188a0d411df (diff) | |
parent | 19fe5417abf7e51bca79d164bf8d48b7a02e4077 (diff) |
Merge "Adapt doctor test case to the FeatureBase framework"
Diffstat (limited to 'functest')
-rwxr-xr-x | functest/ci/config_functest.yaml | 2 | ||||
-rwxr-xr-x | functest/ci/testcases.yaml | 3 | ||||
-rwxr-xr-x | functest/opnfv_tests/features/doctor.py | 81 | ||||
-rw-r--r-- | functest/utils/functest_constants.py | 2 |
4 files changed, 12 insertions, 76 deletions
diff --git a/functest/ci/config_functest.yaml b/functest/ci/config_functest.yaml index 2820f8b0..2feab771 100755 --- a/functest/ci/config_functest.yaml +++ b/functest/ci/config_functest.yaml @@ -21,7 +21,7 @@ general: repo_sfc: /home/opnfv/repos/sfc dir_repo_onos: /home/opnfv/repos/onos dir_repo_promise: /home/opnfv/repos/promise - dir_repo_doctor: /home/opnfv/repos/doctor + repo_doctor: /home/opnfv/repos/doctor repo_copper: /home/opnfv/repos/copper dir_repo_ovno: /home/opnfv/repos/ovno repo_parser: /home/opnfv/repos/parser diff --git a/functest/ci/testcases.yaml b/functest/ci/testcases.yaml index f1cce489..27d358bf 100755 --- a/functest/ci/testcases.yaml +++ b/functest/ci/testcases.yaml @@ -195,6 +195,9 @@ tiers: dependencies: installer: '(apex)|(fuel)|(joid)' scenario: '^((?!fdio).)*$' + run: + module: 'functest.opnfv_tests.features.doctor' + class: 'Doctor' - name: bgpvpn diff --git a/functest/opnfv_tests/features/doctor.py b/functest/opnfv_tests/features/doctor.py index dbd803a6..4d295a67 100755 --- a/functest/opnfv_tests/features/doctor.py +++ b/functest/opnfv_tests/features/doctor.py @@ -1,6 +1,6 @@ #!/usr/bin/python # -# Copyright (c) 2015 All rights reserved +# Copyright (c) 2017 All rights reserved # This program and the accompanying materials # are made available under the terms of the Apache License, Version 2.0 # which accompanies this distribution, and is available at @@ -13,77 +13,12 @@ # 0.2: measure test duration and publish results under json format # # -import argparse -import os -import time +import functest.core.feature_base as base -import functest.utils.functest_logger as ft_logger -import functest.utils.functest_utils as functest_utils -import functest.utils.functest_constants as ft_constants -parser = argparse.ArgumentParser() -parser.add_argument("-r", "--report", - help="Create json result file", - action="store_true") -args = parser.parse_args() - -functest_yaml = functest_utils.get_functest_yaml() - -DOCTOR_REPO_DIR = ft_constants.DOCTOR_REPO_DIR -RESULTS_DIR = ft_constants.FUNCTEST_RESULTS_DIR - -logger = ft_logger.Logger("doctor").getLogger() - - -def main(): - exit_code = -1 - - # if the image name is explicitly set for the doctor suite, set it as - # enviroment variable - if 'doctor' in functest_yaml and 'image_name' in functest_yaml['doctor']: - os.environ["IMAGE_NAME"] = functest_yaml['doctor']['image_name'] - - cmd = 'cd %s/tests && ./run.sh' % DOCTOR_REPO_DIR - log_file = RESULTS_DIR + "/doctor.log" - - start_time = time.time() - - ret = functest_utils.execute_command(cmd, - info=True, - output_file=log_file) - - stop_time = time.time() - duration = round(stop_time - start_time, 1) - if ret == 0: - logger.info("Doctor test case OK") - test_status = 'OK' - exit_code = 0 - else: - logger.info("Doctor test case FAILED") - test_status = 'NOK' - - details = { - 'timestart': start_time, - 'duration': duration, - 'status': test_status, - } - status = "FAIL" - if details['status'] == "OK": - status = "PASS" - functest_utils.logger_test_results("Doctor", - "doctor-notification", - status, details) - if args.report: - functest_utils.push_results_to_db("doctor", - "doctor-notification", - start_time, - stop_time, - status, - details) - logger.info("Doctor results pushed to DB") - - exit(exit_code) - - -if __name__ == '__main__': - main() +class Doctor(base.FeatureBase): + def __init__(self): + super(Doctor, self).__init__(project='doctor', + case='doctor-notification', + repo='dir_repo_doctor') + self.cmd = 'cd %s/tests && ./run.sh' % self.repo diff --git a/functest/utils/functest_constants.py b/functest/utils/functest_constants.py index 3cc744c6..bd109785 100644 --- a/functest/utils/functest_constants.py +++ b/functest/utils/functest_constants.py @@ -220,8 +220,6 @@ PROMISE_SUBNET_CIDR = get_value('promise.subnet_cidr', 'PROMISE_SUBNET_CIDR') PROMISE_ROUTER_NAME = get_value('promise.router_name', 'PROMISE_ROUTER_NAME') -DOCTOR_REPO_DIR = get_value('general.dir.dir_repo_doctor', - 'DOCTOR_REPO_DIR') COPPER_REPO_DIR = get_value('general.dir.repo_copper', 'COPPER_REPO_DIR') EXAMPLE_INSTANCE_NAME = get_value('example.vm_name', |