コード例 #1
0
def idf_custom_test(app=TestApp, dut=IDFDUT, chip="ESP32", module="misc", execution_time=1,
                    level="integration", erase_nvs=True, config_name=None, group="test-apps", **kwargs):

    """
    decorator for idf custom tests (with default values for some keyword args).

    :param app: test application class
    :param dut: dut class
    :param chip: chip supported, string or tuple
    :param module: module, string
    :param execution_time: execution time in minutes, int
    :param level: test level, could be used to filter test cases, string
    :param erase_nvs: if need to erase_nvs in DUT.start_app()
    :param config_name: if specified, name of the app configuration
    :param group: identifier to group custom tests (unused for now, defaults to "test-apps")
    :param kwargs: other keyword args
    :return: test method
    """
    try:
        # try to config the default behavior of erase nvs
        dut.ERASE_NVS = erase_nvs
    except AttributeError:
        pass

    original_method = TinyFW.test_method(app=app, dut=dut, chip=chip, module=module,
                                         execution_time=execution_time, level=level, **kwargs)

    def test(func):
        test_func = original_method(func)
        test_func.case_info["ID"] = format_case_id(chip, test_func.case_info["name"])
        return test_func

    return test
コード例 #2
0
def idf_unit_test(app=UT, dut=IDFDUT, chip="ESP32", module="unit-test", execution_time=1,
                  level="unit", erase_nvs=True, **kwargs):
    """
    decorator for testing idf unit tests (with default values for some keyword args).

    :param app: test application class
    :param dut: dut class
    :param chip: chip supported, string or tuple
    :param module: module, string
    :param execution_time: execution time in minutes, int
    :param level: test level, could be used to filter test cases, string
    :param erase_nvs: if need to erase_nvs in DUT.start_app()
    :param kwargs: other keyword args
    :return: test method
    """
    try:
        # try to config the default behavior of erase nvs
        dut.ERASE_NVS = erase_nvs
    except AttributeError:
        pass

    original_method = TinyFW.test_method(app=app, dut=dut, chip=chip, module=module,
                                         execution_time=execution_time, level=level, **kwargs)

    def test(func):
        test_func = original_method(func)
        test_func.case_info["ID"] = format_case_id(chip, test_func.case_info["name"])
        return test_func

    return test
コード例 #3
0
ファイル: __init__.py プロジェクト: zzzmj123/esp-idf
def test_func_generator(func,
                        app,
                        target,
                        ci_target,
                        module,
                        execution_time,
                        level,
                        erase_nvs,
                        drop_kwargs_dut=False,
                        **kwargs):
    test_target = local_test_check(target)
    dut = get_dut_class(test_target, erase_nvs)
    if drop_kwargs_dut and 'dut' in kwargs:  # panic_test() will inject dut, resolve conflicts here
        dut = kwargs['dut']
        del kwargs['dut']
    original_method = TinyFW.test_method(
        app=app,
        dut=dut,
        target=upper_list_or_str(target),
        ci_target=upper_list_or_str(ci_target),
        module=module,
        execution_time=execution_time,
        level=level,
        erase_nvs=erase_nvs,
        dut_dict=TARGET_DUT_CLS_DICT,
        **kwargs)
    test_func = original_method(func)
    test_func.case_info["ID"] = format_case_id(target,
                                               test_func.case_info["name"])
    return test_func
コード例 #4
0
ファイル: __init__.py プロジェクト: lowtolerance/esp-idf
def test_func_generator(func, app, target, ci_target, module, execution_time,
                        level, erase_nvs, **kwargs):
    target = upper_list_or_str(target)
    test_target = local_test_check(target)
    if 'additional_duts' in kwargs:
        dut_classes = deepcopy(TARGET_DUT_CLS_DICT)
        dut_classes.update(kwargs['additional_duts'])
    else:
        dut_classes = TARGET_DUT_CLS_DICT
    dut = get_dut_class(test_target, dut_classes, erase_nvs)
    original_method = TinyFW.test_method(
        app=app,
        dut=dut,
        target=target,
        ci_target=upper_list_or_str(ci_target),
        module=module,
        execution_time=execution_time,
        level=level,
        erase_nvs=erase_nvs,
        dut_dict=dut_classes,
        **kwargs)
    test_func = original_method(func)
    test_func.case_info["ID"] = format_case_id(target,
                                               test_func.case_info["name"])
    return test_func
コード例 #5
0
 def test(func):
     test_target = local_test_check(target)
     dut = get_dut_class(test_target, erase_nvs)
     original_method = TinyFW.test_method(
         app=app, dut=dut, target=upper_list_or_str(target), ci_target=upper_list_or_str(ci_target),
         module=module, execution_time=execution_time, level=level, erase_nvs=erase_nvs,
         dut_dict=TARGET_DUT_CLS_DICT, **kwargs
     )
     test_func = original_method(func)
     test_func.case_info["ID"] = format_case_id(target, test_func.case_info["name"])
     return test_func
コード例 #6
0
def idf_example_test(app=Example,
                     dut=IDFDUT,
                     chip="ESP32",
                     module="examples",
                     execution_time=1,
                     level="example",
                     erase_nvs=True,
                     config_name=None,
                     **kwargs):
    """
    decorator for testing idf examples (with default values for some keyword args).

    :param app: test application class
    :param dut: dut class
    :param chip: chip supported, string or tuple
    :param module: module, string
    :param execution_time: execution time in minutes, int
    :param level: test level, could be used to filter test cases, string
    :param erase_nvs: if need to erase_nvs in DUT.start_app()
    :param config_name: if specified, name of the app configuration
    :param kwargs: other keyword args
    :return: test method
    """
    try:
        # try to config the default behavior of erase nvs
        dut.ERASE_NVS = erase_nvs
    except AttributeError:
        pass

    original_method = TinyFW.test_method(app=app,
                                         dut=dut,
                                         chip=chip,
                                         module=module,
                                         execution_time=execution_time,
                                         level=level,
                                         **kwargs)

    def test(func):
        test_func = original_method(func)
        return test_func

    return test