diff options
author | Jose Lausuch <jose.lausuch@ericsson.com> | 2016-11-24 10:40:20 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@opnfv.org> | 2016-11-24 10:40:20 +0000 |
commit | 7a776398ef8b17bd9af5367d712707a903c1c86a (patch) | |
tree | fc7c1ea13f4ffdb2764b2dea915d0eb97834c2d9 | |
parent | 7e3add016167951eb47e0bfa04539de3fe969ce9 (diff) | |
parent | 7b105b251f79c9fdbf2536d1d9d15cea2e5355e1 (diff) |
Merge "Conform SDNVPN test case to TestCaseBase"
-rw-r--r-- | functest/ci/exec_test.sh | 4 | ||||
-rw-r--r-- | functest/ci/testcases.yaml | 5 | ||||
-rw-r--r-- | functest/opnfv_tests/features/sdnvpn.py | 80 |
3 files changed, 84 insertions, 5 deletions
diff --git a/functest/ci/exec_test.sh b/functest/ci/exec_test.sh index 4d913c52..f7b96af2 100644 --- a/functest/ci/exec_test.sh +++ b/functest/ci/exec_test.sh @@ -111,10 +111,6 @@ function run_test(){ python ${FUNCTEST_TEST_DIR}/OpenStack/rally/run_rally-cert.py \ $clean_flag --sanity all $report ;; - "bgpvpn") - sdnvpn_repo_dir=${repos_dir}/sdnvpn/test/functest/ - python ${sdnvpn_repo_dir}/run_tests.py $report - ;; "onos") python ${FUNCTEST_TEST_DIR}/Controllers/ONOS/Teston/onosfunctest.py ;; diff --git a/functest/ci/testcases.yaml b/functest/ci/testcases.yaml index 1b7747c7..195108b4 100644 --- a/functest/ci/testcases.yaml +++ b/functest/ci/testcases.yaml @@ -151,6 +151,9 @@ tiers: dependencies: installer: '(fuel)|(apex)' scenario: 'bgpvpn' + run: + module: 'functest.opnfv_tests.features.sdnvpn' + class: 'SDNVPN' - name: security_scan @@ -228,7 +231,7 @@ tiers: dependencies: installer: 'fuel' scenario: '^((?!bgpvpn|noha).)*$' - + - name: openstack order: 4 diff --git a/functest/opnfv_tests/features/sdnvpn.py b/functest/opnfv_tests/features/sdnvpn.py new file mode 100644 index 00000000..efc67b09 --- /dev/null +++ b/functest/opnfv_tests/features/sdnvpn.py @@ -0,0 +1,80 @@ +#!/usr/bin/python +# +# Copyright (c) 2016 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 +# +# http://www.apache.org/licenses/LICENSE-2.0 +# + + +import argparse +import os +import sys +import time + +from functest.core import TestCasesBase +import functest.utils.functest_constants as ft_constants +import functest.utils.functest_logger as ft_logger +import functest.utils.functest_utils as ft_utils + + +class SDNVPN(TestCasesBase.TestCasesBase): + SDNVPN_REPO = ft_constants.SDNVPN_REPO_DIR + SDNVPN_REPO_TESTS = os.path.join(SDNVPN_REPO, "tests/functest") + RESULTS_DIR = ft_constants.FUNCTEST_RESULTS_DIR + logger = ft_logger.Logger("sdnvpn").getLogger() + + def __init__(self): + super(SDNVPN, self).__init__() + self.project_name = "sdnvpn" + self.case_name = "bgpvpn" + + def main(self, **kwargs): + os.chdir(self.SDNVPN_REPO_TESTS) + cmd = 'run_tests.py' + log_file = os.path.join(self.RESULTS_DIR, "sdnvpn.log") + start_time = time.time() + + ret = ft_utils.execute_command(cmd, + output_file=log_file) + + stop_time = time.time() + duration = round(stop_time - start_time, 1) + if ret == 0 and duration > 1: + self.logger.info("%s OK" % self.case_name) + status = 'PASS' + elif ret == 0 and duration <= 1: + self.logger.info("%s TEST SKIPPED" % self.case_name) + status = 'SKIP' + else: + self.logger.info("%s FAILED" % self.case_name) + status = "FAIL" + + # report status only if tests run (FAIL OR PASS) + if status is not "SKIP": + self.criteria = status + self.start_time = start_time + self.stop_time = stop_time + self.details = {} + + def run(self): + kwargs = {} + return self.main(**kwargs) + +if __name__ == '__main__': + parser = argparse.ArgumentParser() + parser.add_argument("-r", "--report", + help="Create json result file", + action="store_true") + args = vars(parser.parse_args()) + sdnvpn = SDNVPN() + try: + result = sdnvpn.main(**args) + if result != TestCasesBase.TestCasesBase.EX_OK: + sys.exit(result) + if args['report']: + sys.exit(sdnvpn.push_to_db()) + except Exception: + sys.exit(TestCasesBase.TestCasesBase.EX_RUN_ERROR) |