ci: fix get_all_apps for multi targets

This commit is contained in:
Fu Hanxi
2024-01-26 14:09:33 +01:00
parent 142a3c8a7a
commit 6895ff11b6
2 changed files with 36 additions and 20 deletions

View File

@@ -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,9 +145,12 @@ 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
all_apps: t.List[App] = []
for _t in set(target.split(',')):
all_apps.extend(find_apps(
paths, paths,
target, _t,
build_system=IdfCMakeApp, build_system=IdfCMakeApp,
recursive=True, recursive=True,
build_dir='build_@t_@w', build_dir='build_@t_@w',
@@ -160,7 +165,7 @@ def get_all_apps(
modified_files=modified_files, modified_files=modified_files,
ignore_app_dependencies_filepatterns=ignore_app_dependencies_filepatterns, ignore_app_dependencies_filepatterns=ignore_app_dependencies_filepatterns,
include_skipped_apps=True, include_skipped_apps=True,
) ))
pytest_cases = get_pytest_cases( pytest_cases = get_pytest_cases(
paths, paths,

View File

@@ -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)