def dts_run_prerequisties(duts, tester, pkgName, patch, dts_commands, serializer): """ Run dts prerequisties function. """ try: dts_run_commands(tester, dts_commands) tester.prerequisites() dts_run_commands(tester, dts_commands) except Exception as ex: log_handler.error(" PREREQ EXCEPTION " + traceback.format_exc()) log_handler.info('CACHE: Discarding cache.') serializer.discard_cache() settings.report_error("TESTER_SETUP_ERR") return False try: for dutobj in duts: dts_run_commands(dutobj, dts_commands) dutobj.set_package(pkgName, patch) dutobj.prerequisites() dts_run_commands(dutobj, dts_commands) serializer.save_to_file() except Exception as ex: log_handler.error(" PREREQ EXCEPTION " + traceback.format_exc()) result.add_failed_dut(duts[0], str(ex)) log_handler.info('CACHE: Discarding cache.') serializer.discard_cache() settings.report_error("DUT_SETUP_ERR") return False
def spdk_run_suite(duts, tester, test_suites, target): """ Run each suite in test suite list. """ for suite_name in test_suites: try: result.test_suite = suite_name suite_module = __import__('TestSuite_' + suite_name) for test_classname, test_class in get_subclasses( suite_module, TestCase): suite_obj = test_class(duts, tester, target, suite_name) result.nic = suite_obj.nic spdk_log_testsuite(duts, tester, suite_obj, log_handler, test_classname) log_handler.info("\nTEST SUITE : " + test_classname) log_handler.info("NIC : " + result.nic) if suite_obj.execute_setup_all(): suite_obj.execute_test_cases() suite_obj.execute_tear_downall() log_handler.info("\nTEST SUITE ENDED: " + test_classname) spdk_log_execution(duts, tester, log_handler) except VerifyFailure: settings.report_error("SUITE_EXECUTE_ERR") log_handler.error(" !!! DEBUG IT: " + traceback.format_exc()) except KeyboardInterrupt: log_handler.error(" !!! STOPPING SPDK tests") suite_obj.execute_tear_downall() break except Exception as e: settings.report_error("GENERIC_ERR") log_handler.error(str(e)) finally: suite_obj.execute_tear_downall()
def spdk_run_target(duts, tester, targets, test_suites): """ Run each target in execution targets. """ for target in targets: log_handler.info("\nTARGET " + target) result.target = target try: drivername = settings.load_global_setting( settings.HOST_DRIVER_SETTING) if drivername == "": for dutobj in duts: dutobj.set_target(target, bind_dev=False) else: for dutobj in duts: dutobj.set_target(target) except AssertionError as ex: log_handler.error(" TARGET ERROR: " + str(ex)) settings.report_error("SPDK_BUILD_ERR") result.add_failed_target(result.dut, target, str(ex)) continue except Exception as ex: settings.report_error("GENERIC_ERR") log_handler.error(" !!! DEBUG IT: " + traceback.format_exc()) result.add_failed_target(result.dut, target, str(ex)) continue spdk_run_suite(duts, tester, test_suites, target)
def dts_run_suite(duts, tester, test_suites, target): """ Run each suite in test suite list. """ for suite_name in test_suites: try: result.test_suite = suite_name suite_module = __import__('TestSuite_' + suite_name) for test_classname, test_class in get_subclasses( suite_module, TestCase): suite_obj = test_class(duts, tester, target, suite_name) suite_obj.init_log() suite_obj.set_requested_cases(requested_tests) suite_obj.set_check_inst(check=check_case_inst, support=support_case_inst) result.nic = suite_obj.nic dts_log_testsuite(duts, tester, suite_obj, log_handler, test_classname) log_handler.info("\nTEST SUITE : " + test_classname) log_handler.info("NIC : " + result.nic) if suite_obj.execute_setup_all(): suite_obj.execute_test_cases() suite_obj.execute_tear_downall() # save suite cases result result.copy_suite(suite_obj.get_result()) save_all_results() log_handler.info("\nTEST SUITE ENDED: " + test_classname) dts_log_execution(duts, tester, log_handler) except VerifyFailure: settings.report_error("SUITE_EXECUTE_ERR") log_handler.error(" !!! DEBUG IT: " + traceback.format_exc()) except KeyboardInterrupt: # stop/save result/skip execution log_handler.error(" !!! STOPPING DTS") suite_obj.execute_tear_downall() save_all_results() break except Exception as e: settings.report_error("GENERIC_ERR") log_handler.error(str(e)) finally: suite_obj.execute_tear_downall() save_all_results()
def spdk_run_prerequisties(duts, tester, serializer): """ Run spdk prerequisties function. """ try: tester.prerequisites() except Exception as ex: log_handler.error(" PREREQ EXCEPTION " + traceback.format_exc()) log_handler.info('CACHE: Discarding cache.') settings.report_error("TESTER_SETUP_ERR") return False try: for dutobj in duts: dutobj.prerequisites() serializer.save_to_file() except Exception as ex: log_handler.error(" PREREQ EXCEPTION " + traceback.format_exc()) result.add_failed_dut(duts[0], str(ex)) log_handler.info('CACHE: Discarding cache.') settings.report_error("DUT_SETUP_ERR") return False
def dts_run_target(duts, testers, targets, test_suites, test_configs): """ Run each target in execution targets. """ for target in targets: log_handler.info("TARGET " + target) result.target = target try: drivername = settings.load_global_setting( settings.HOST_DRIVER_SETTING) if drivername == "": for dutobj in duts: dutobj.set_target(target, bind_dev=False) else: for dutobj in duts: dutobj.set_target(target, test_configs) for tester in testers: tester.set_target(target, test_configs) except AssertionError as ex: log_handler.error(" TARGET ERROR: " + str(ex)) settings.report_error("DPDK_BUILD_ERR") result.add_failed_target(result.dut, target, str(ex)) continue except Exception as ex: settings.report_error("GENERIC_ERR") log_handler.error(" !!! DEBUG IT: " + traceback.format_exc()) result.add_failed_target(result.dut, target, str(ex)) continue dts_run_suite(duts, testers, test_suites, target, test_configs) for tester in testers: tester.restore_interfaces(test_configs["skip_target_env_setup"]) tester.restore_modules(test_configs["skip_target_env_setup"]) for dutobj in duts: dutobj.stop_ports() dutobj.restore_interfaces(test_configs["skip_target_env_setup"]) dutobj.restore_modules(test_configs["skip_target_env_setup"])