X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=testcases%2Ffeatures%2Fcopper.py;h=73def7db2c854b8711cfc70bb1c465b12db6d6db;hb=4a253c96e86f76c1ebab626e82b5a11310906832;hp=9efcbd7f491060bba7a1847df728de3b6cfe98fc;hpb=1c3a04fd4779c828ac6f6b5806bdf68cb4fff04f;p=functest.git diff --git a/testcases/features/copper.py b/testcases/features/copper.py index 9efcbd7f4..73def7db2 100755 --- a/testcases/features/copper.py +++ b/testcases/features/copper.py @@ -1,86 +1,82 @@ -#!/usr/bin/python -# -# Copyright 2016 AT&T Intellectual Property, Inc -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -import os -import sys -import time -import functest.utils.functest_logger as ft_logger -import functest.utils.functest_utils as functest_utils -import yaml - - -with open(os.environ["CONFIG_FUNCTEST_YAML"]) as f: - functest_yaml = yaml.safe_load(f) - -dirs = functest_yaml.get('general').get('directories') -FUNCTEST_REPO = dirs.get('dir_repo_functest') -COPPER_REPO = dirs.get('dir_repo_copper') -TEST_DB_URL = functest_yaml.get('results').get('test_db_url') - -logger = ft_logger.Logger("copper").getLogger() - - -def main(): - cmd = "%s/tests/run.sh %s/tests" % (COPPER_REPO, COPPER_REPO) - - start_time = time.time() - - ret_val = functest_utils.execute_command(cmd, logger, exit_on_error=False) - - stop_time = time.time() - duration = round(stop_time - start_time, 1) - if ret_val == 0: - logger.info("COPPER PASSED") - test_status = 'PASS' - else: - logger.info("COPPER FAILED") - test_status = 'FAIL' - - details = { - 'timestart': start_time, - 'duration': duration, - 'status': test_status, - } - pod_name = functest_utils.get_pod_name(logger) - scenario = functest_utils.get_scenario(logger) - version = functest_utils.get_version(logger) - build_tag = functest_utils.get_build_tag(logger) - - logger.info("Pushing COPPER results: TEST_DB_URL=%(db)s pod_name=%(pod)s " - "version=%(v)s scenario=%(s)s criteria=%(c)s details=%(d)s" % { - 'db': TEST_DB_URL, - 'pod': pod_name, - 'v': version, - 's': scenario, - 'c': details['status'], - 'b': build_tag, - 'd': details, - }) - functest_utils.push_results_to_db("COPPER", - "COPPER-notification", - logger, - start_time, - stop_time, - details['status'], - details) - if ret_val != 0: - sys.exit(-1) - - sys.exit(0) - -if __name__ == '__main__': - main() +#!/usr/bin/python +# +# Copyright 2016 AT&T Intellectual Property, Inc +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +import sys +import time + +import argparse +import functest.utils.functest_logger as ft_logger +import functest.utils.functest_utils as functest_utils + +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() + +dirs = functest_yaml.get('general').get('directories') +COPPER_REPO = dirs.get('dir_repo_copper') + +logger = ft_logger.Logger("copper").getLogger() + + +def main(): + cmd = "%s/tests/run.sh %s/tests" % (COPPER_REPO, COPPER_REPO) + + start_time = time.time() + + ret_val = functest_utils.execute_command(cmd, logger, exit_on_error=False) + + stop_time = time.time() + duration = round(stop_time - start_time, 1) + if ret_val == 0: + logger.info("COPPER PASSED") + test_status = 'PASS' + else: + logger.info("COPPER FAILED") + test_status = 'FAIL' + + details = { + 'timestart': start_time, + 'duration': duration, + 'status': test_status, + } + functest_utils.logger_test_results(logger, "Copper", + "copper-notification", + details['status'], details) + try: + if args.report: + functest_utils.push_results_to_db("copper", + "copper-notification", + logger, + start_time, + stop_time, + details['status'], + details) + logger.info("COPPER results pushed to DB") + except: + logger.error("Error pushing results into Database '%s'" + % sys.exc_info()[0]) + + if ret_val != 0: + sys.exit(-1) + + sys.exit(0) + +if __name__ == '__main__': + main()