mirror of
https://github.com/espressif/esp-idf
synced 2025-03-10 01:29:21 -04:00
ci: fix get_all_apps for multi targets
This commit is contained in:
parent
142a3c8a7a
commit
6895ff11b6
@ -55,6 +55,8 @@ def get_pytest_cases(
|
|||||||
apps: t.Optional[t.List[App]] = None,
|
apps: t.Optional[t.List[App]] = None,
|
||||||
) -> t.List[PytestCase]:
|
) -> t.List[PytestCase]:
|
||||||
"""
|
"""
|
||||||
|
Return the list of test cases
|
||||||
|
|
||||||
For single-dut test cases, `target` could be
|
For single-dut test cases, `target` could be
|
||||||
- [TARGET], e.g. `esp32`, to get the test cases for the given target
|
- [TARGET], e.g. `esp32`, to get the test cases for the given target
|
||||||
- or `single_all`, to get all single-dut test cases
|
- or `single_all`, to get all single-dut test cases
|
||||||
@ -143,24 +145,27 @@ def get_all_apps(
|
|||||||
:param ignore_app_dependencies_filepatterns: ignore app dependencies filepatterns
|
:param ignore_app_dependencies_filepatterns: ignore app dependencies filepatterns
|
||||||
:return: tuple of test-required apps and non-test-related apps
|
:return: tuple of test-required apps and non-test-related apps
|
||||||
"""
|
"""
|
||||||
all_apps = find_apps(
|
# target could be comma separated list
|
||||||
paths,
|
all_apps: t.List[App] = []
|
||||||
target,
|
for _t in set(target.split(',')):
|
||||||
build_system=IdfCMakeApp,
|
all_apps.extend(find_apps(
|
||||||
recursive=True,
|
paths,
|
||||||
build_dir='build_@t_@w',
|
_t,
|
||||||
config_rules_str=config_rules_str or DEFAULT_CONFIG_RULES_STR,
|
build_system=IdfCMakeApp,
|
||||||
build_log_filename=DEFAULT_BUILD_LOG_FILENAME,
|
recursive=True,
|
||||||
size_json_filename='size.json',
|
build_dir='build_@t_@w',
|
||||||
check_warnings=True,
|
config_rules_str=config_rules_str or DEFAULT_CONFIG_RULES_STR,
|
||||||
manifest_rootpath=IDF_PATH,
|
build_log_filename=DEFAULT_BUILD_LOG_FILENAME,
|
||||||
manifest_files=get_all_manifest_files(),
|
size_json_filename='size.json',
|
||||||
default_build_targets=SUPPORTED_TARGETS + (extra_default_build_targets or []),
|
check_warnings=True,
|
||||||
modified_components=modified_components,
|
manifest_rootpath=IDF_PATH,
|
||||||
modified_files=modified_files,
|
manifest_files=get_all_manifest_files(),
|
||||||
ignore_app_dependencies_filepatterns=ignore_app_dependencies_filepatterns,
|
default_build_targets=SUPPORTED_TARGETS + (extra_default_build_targets or []),
|
||||||
include_skipped_apps=True,
|
modified_components=modified_components,
|
||||||
)
|
modified_files=modified_files,
|
||||||
|
ignore_app_dependencies_filepatterns=ignore_app_dependencies_filepatterns,
|
||||||
|
include_skipped_apps=True,
|
||||||
|
))
|
||||||
|
|
||||||
pytest_cases = get_pytest_cases(
|
pytest_cases = get_pytest_cases(
|
||||||
paths,
|
paths,
|
||||||
|
@ -75,11 +75,22 @@ def test_foo(dut):
|
|||||||
"""
|
"""
|
||||||
)
|
)
|
||||||
|
|
||||||
test_related_apps, non_test_related_apps = get_all_apps([str(work_dirpath)], target='all')
|
test_related_apps, non_test_related_apps = get_all_apps([str(work_dirpath)], target='esp32s2,esp32s3')
|
||||||
|
assert len(test_related_apps) == 2
|
||||||
|
assert len(non_test_related_apps) == 0
|
||||||
|
|
||||||
assert len(test_related_apps) == 3 # 32, s2, s3
|
test_related_apps, non_test_related_apps = get_all_apps([str(work_dirpath)], target='esp32,esp32s3,esp32')
|
||||||
|
assert len(test_related_apps) == 2
|
||||||
|
assert len(non_test_related_apps) == 0
|
||||||
|
|
||||||
|
test_related_apps, non_test_related_apps = get_all_apps([str(work_dirpath)], target='all')
|
||||||
|
assert len(test_related_apps) == 3
|
||||||
assert len(non_test_related_apps) == len(SUPPORTED_TARGETS) - 3
|
assert len(non_test_related_apps) == len(SUPPORTED_TARGETS) - 3
|
||||||
|
|
||||||
|
test_related_apps, non_test_related_apps = get_all_apps([str(work_dirpath)], target='foo,bar')
|
||||||
|
assert len(test_related_apps) == 0
|
||||||
|
assert len(non_test_related_apps) == 0
|
||||||
|
|
||||||
|
|
||||||
def test_get_all_apps_modified_pytest_script(work_dirpath: Path) -> None:
|
def test_get_all_apps_modified_pytest_script(work_dirpath: Path) -> None:
|
||||||
create_project('foo', work_dirpath)
|
create_project('foo', work_dirpath)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user