diff options
Diffstat (limited to 'testcases')
-rw-r--r-- | testcases/Controllers/ONOS/Sfc/Sfc.py | 5 | ||||
-rwxr-xr-x | testcases/Controllers/ONOS/Teston/onosfunctest.py | 24 | ||||
-rwxr-xr-x | testcases/OpenStack/rally/run_rally-cert.py | 23 | ||||
-rw-r--r-- | testcases/OpenStack/tempest/custom_tests/blacklist.txt | 17 | ||||
-rwxr-xr-x | testcases/OpenStack/tempest/run_tempest.py | 26 | ||||
-rwxr-xr-x | testcases/features/doctor.py | 4 | ||||
-rwxr-xr-x | testcases/features/promise.py | 4 | ||||
-rw-r--r-- | testcases/vnf/RNC/parser.py | 27 |
8 files changed, 89 insertions, 41 deletions
diff --git a/testcases/Controllers/ONOS/Sfc/Sfc.py b/testcases/Controllers/ONOS/Sfc/Sfc.py index 6b1973ef0..a52019875 100644 --- a/testcases/Controllers/ONOS/Sfc/Sfc.py +++ b/testcases/Controllers/ONOS/Sfc/Sfc.py @@ -226,4 +226,9 @@ class Sfc: 'status': status}) except: logger.error("Error pushing results into Database") + + if status == "FAIL": + EXIT_CODE = -1 + exit(EXIT_CODE) + print("############################END OF SCRIPT ######################") diff --git a/testcases/Controllers/ONOS/Teston/onosfunctest.py b/testcases/Controllers/ONOS/Teston/onosfunctest.py index 35ced61c5..2790e6941 100755 --- a/testcases/Controllers/ONOS/Teston/onosfunctest.py +++ b/testcases/Controllers/ONOS/Teston/onosfunctest.py @@ -18,6 +18,7 @@ import datetime import os import re import time +import argparse from neutronclient.v2_0 import client as neutronclient @@ -25,6 +26,11 @@ import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as functest_utils import functest.utils.openstack_utils as openstack_utils +parser = argparse.ArgumentParser() +parser.add_argument("-t", "--testcase", help="Testcase name") +args = parser.parse_args() + + """ logging configuration """ logger = ft_logger.Logger("onos").getLogger() @@ -215,11 +221,9 @@ def SetSfcConf(): logger.info("Modify configuration for SFC") -def main(): +def OnosTest(): start_time = time.time() stop_time = start_time - # DownloadCodes() - # if args.installer == "joid": if INSTALLER_TYPE == "joid": logger.debug("Installer is Joid") SetOnosIpForJoid() @@ -254,13 +258,19 @@ def main(): except: logger.error("Error pushing results into Database") - if DEPLOY_SCENARIO == "os-onos-sfc-ha": + if status == "FAIL": + EXIT_CODE = -1 + exit(EXIT_CODE) + + +def main(): + + if args.testcase == "sfc": CreateImage() SetSfcConf() SfcTest() - - # CleanOnosTest() - + else: + OnosTest() if __name__ == '__main__': main() diff --git a/testcases/OpenStack/rally/run_rally-cert.py b/testcases/OpenStack/rally/run_rally-cert.py index 2f696ec30..1f1214e03 100755 --- a/testcases/OpenStack/rally/run_rally-cert.py +++ b/testcases/OpenStack/rally/run_rally-cert.py @@ -504,23 +504,18 @@ def main(): 'nb tests': total_nb_tests, 'nb success': success_rate}}) - # Generate json results for DB - # json_results = {"timestart": time_start, "duration": total_duration, - # "tests": int(total_nb_tests), - # "success": int(total_success)} - # logger.info("Results: "+str(json_results)) - - # Evaluation of the success criteria - status = "FAIL" - # for Rally we decided that the overall success rate must be above 90% - if float(success_rate) >= 90: - status = "PASS" - if args.sanity: case_name = "rally_sanity" else: case_name = "rally_full" + # Evaluation of the success criteria + status = functest_utils.check_success_rate(case_name, success_rate) + + exit_code = -1 + if status == "PASS": + exit_code = 0 + if args.report: logger.debug("Pushing Rally summary into DB...") functest_utils.push_results_to_db("functest", @@ -531,7 +526,7 @@ def main(): status, payload) if args.noclean: - exit(0) + exit(exit_code) if not image_exists: logger.debug("Deleting image '%s' with ID '%s'..." @@ -545,6 +540,8 @@ def main(): if not os_utils.delete_volume_type(cinder_client, volume_type): logger.error("Error in deleting volume type...") + exit(exit_code) + if __name__ == '__main__': main() diff --git a/testcases/OpenStack/tempest/custom_tests/blacklist.txt b/testcases/OpenStack/tempest/custom_tests/blacklist.txt new file mode 100644 index 000000000..49605ca7b --- /dev/null +++ b/testcases/OpenStack/tempest/custom_tests/blacklist.txt @@ -0,0 +1,17 @@ +- + scenarios: + - os-odl_l2-bgpvpn-ha + - os-odl_l2-bgpvpn-noha + installers: + - fuel + - apex + tests: + - tempest.api.compute.servers.test_create_server.ServersTestJSON.test_list_servers[id-9a438d88-10c6-4bcd-8b5b-5b6e25e1346f,smoke] + - tempest.api.compute.servers.test_create_server.ServersTestJSON.test_verify_server_details[id-5de47127-9977-400a-936f-abcfbec1218f,smoke] + - tempest.api.compute.servers.test_create_server.ServersTestManualDisk.test_list_servers[id-9a438d88-10c6-4bcd-8b5b-5b6e25e1346f,smoke] + - tempest.api.compute.servers.test_create_server.ServersTestManualDisk.test_verify_server_details[id-5de47127-9977-400a-936f-abcfbec1218f,smoke] + - tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_reboot_server_hard[id-2cb1baf6-ac8d-4429-bf0d-ba8a0ba53e32,smoke] + - tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_network_basic_ops[compute,id-f323b3ba-82f8-4db7-8ea6-6a895869ec49,network,smoke] + - tempest.scenario.test_server_basic_ops.TestServerBasicOps.test_server_basic_ops[compute,id-7fff3fb3-91d8-4fd0-bd7d-0204f1f180ba,network,smoke] + - tempest.scenario.test_volume_boot_pattern.TestVolumeBootPattern.test_volume_boot_pattern[compute,id-557cd2c2-4eb8-4dce-98be-f86765ff311b,image,smoke,volume] + - tempest.scenario.test_volume_boot_pattern.TestVolumeBootPatternV2.test_volume_boot_pattern[compute,id-557cd2c2-4eb8-4dce-98be-f86765ff311b,image,smoke,volume] diff --git a/testcases/OpenStack/tempest/run_tempest.py b/testcases/OpenStack/tempest/run_tempest.py index f99678df4..8d23b7415 100755 --- a/testcases/OpenStack/tempest/run_tempest.py +++ b/testcases/OpenStack/tempest/run_tempest.py @@ -21,11 +21,12 @@ import shutil import subprocess import sys import time +import yaml import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as ft_utils import functest.utils.openstack_utils as os_utils -import yaml + modes = ['full', 'smoke', 'baremetal', 'compute', 'data_processing', 'identity', 'image', 'network', 'object_storage', 'orchestration', @@ -330,13 +331,30 @@ def apply_tempest_blacklist(): logger.debug("Applying tempest blacklist...") cases_file = read_file(TEMPEST_RAW_LIST) result_file = open(TEMPEST_LIST, 'w') + black_tests = [] try: - black_file = read_file(TEMPEST_BLACKLIST) + installer_type = os.getenv('INSTALLER_TYPE') + deploy_scenario = os.getenv('DEPLOY_SCENARIO') + if (bool(installer_type) * bool(deploy_scenario)): + # if INSTALLER_TYPE and DEPLOY_SCENARIO are set we read the file + black_list_file = open(TEMPEST_BLACKLIST) + black_list_yaml = yaml.safe_load(black_list_file) + black_list_file.close() + for item in black_list_yaml: + scenarios = item['sceanrios'] + installers = item['installers'] + if (deploy_scenario in scenarios and + installer_type in installers): + tests = item['tests'] + for test in tests: + black_tests.append(test) + break except: - black_file = '' + black_tests = [] logger.debug("Tempest blacklist file does not exist.") + for line in cases_file: - if line not in black_file: + if line not in black_tests: result_file.write(str(line) + '\n') result_file.close() diff --git a/testcases/features/doctor.py b/testcases/features/doctor.py index ef55506af..bdf3ddc35 100755 --- a/testcases/features/doctor.py +++ b/testcases/features/doctor.py @@ -33,6 +33,7 @@ logger = ft_logger.Logger("doctor").getLogger() def main(): + exit_code = -1 cmd = 'cd %s/tests && ./run.sh' % DOCTOR_REPO start_time = time.time() @@ -43,6 +44,7 @@ def main(): if ret == 0: logger.info("doctor OK") test_status = 'OK' + exit_code = 0 else: logger.info("doctor FAILED") test_status = 'NOK' @@ -79,5 +81,7 @@ def main(): status, details) + exit(exit_code) + if __name__ == '__main__': main() diff --git a/testcases/features/promise.py b/testcases/features/promise.py index 74c1ad782..170f75494 100755 --- a/testcases/features/promise.py +++ b/testcases/features/promise.py @@ -70,6 +70,7 @@ logger = ft_logger.Logger("promise").getLogger() def main(): + exit_code = -1 start_time = time.time() ks_creds = openstack_utils.get_credentials("keystone") nv_creds = openstack_utils.get_credentials("nova") @@ -241,6 +242,7 @@ def main(): status = "FAIL" if int(tests) > 32 and int(failures) < 1: status = "PASS" + exit_code = 0 functest_utils.push_results_to_db("promise", "promise", @@ -250,6 +252,8 @@ def main(): status, json_results) + exit(exit_code) + if __name__ == '__main__': main() diff --git a/testcases/vnf/RNC/parser.py b/testcases/vnf/RNC/parser.py index 7def5bf82..485af0e14 100644 --- a/testcases/vnf/RNC/parser.py +++ b/testcases/vnf/RNC/parser.py @@ -27,13 +27,14 @@ with open(os.environ["CONFIG_FUNCTEST_YAML"]) as f: dirs = functest_yaml.get('general').get('directories') FUNCTEST_REPO = dirs.get('dir_repo_functest') PARSER_REPO = dirs.get('dir_repo_parser') -TEST_DB_URL = functest_yaml.get('results').get('test_db_url') logger = ft_logger.Logger("parser").getLogger() def main(): EXIT_CODE = -1 + project = 'parser' + case_name = 'parser-basics' cmd = 'cd %s/tests && ./functest_run.sh' % PARSER_REPO start_time = time.time() @@ -54,27 +55,19 @@ def main(): '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) status = "FAIL" if details['status'] == "OK": status = "PASS" - logger.info("Pushing Parser 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': status, - 'b': build_tag, - 'd': details, - }) - functest_utils.push_results_to_db("parser", - "parser-basics", + functest_utils.logger_test_results(logger, + project, + case_name, + status, + details) + + functest_utils.push_results_to_db(project, + case_name, logger, start_time, stop_time, |