コード例 #1
0
ファイル: dts.py プロジェクト: Monika8241/DPDK-DTS-1
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
コード例 #2
0
ファイル: test_suite.py プロジェクト: wuwenzhx/tests
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()
コード例 #3
0
ファイル: test_suite.py プロジェクト: wuwenzhx/tests
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)
コード例 #4
0
ファイル: dts.py プロジェクト: BAOLONGtrann/dts
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()
コード例 #5
0
ファイル: test_suite.py プロジェクト: wuwenzhx/tests
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
コード例 #6
0
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"])