diff options
author | Raphael Herouart <rherouart@google.com> | 2024-01-04 10:16:23 +0000 |
---|---|---|
committer | Raphael Herouart <rherouart@google.com> | 2024-01-04 12:21:13 +0000 |
commit | 9f9e33d4af39f67df452b12f167831863b52d9b2 (patch) | |
tree | 31d6bdc65b57977ecf1043ac765a4adfa1e499d8 | |
parent | b35ae514b07110601a2207d494cae59da37788de (diff) | |
download | aosp-9f9e33d4af39f67df452b12f167831863b52d9b2.tar.gz |
scripts: [Bench] compile time config composite tests
Account for composite tests sequence in compile time config
Bug: 314128085
Change-Id: I91f667843452bc0597a672a9634360a6e7e748c0
-rwxr-xr-x | scripts/build.py | 35 |
1 files changed, 24 insertions, 11 deletions
diff --git a/scripts/build.py b/scripts/build.py index 7489239..bf7a6c4 100755 --- a/scripts/build.py +++ b/scripts/build.py @@ -475,21 +475,34 @@ def get_build_deps(project_name, project, project_names, already_built): project_names.append(project_name) def create_test_map(args, build_config, projects): + project_type_prefix = re.compile("([^:]+:)+") for project_name in projects: test_map = {} test_map["ports"] = [] project = build_config.get_project(project_name) - if project and project.tests: - tests = filter(lambda t: (t.name.startswith("android-port-test:")), project.tests) - for test in tests: - test_obj = { "port_name": test.name.replace("android-port-test:android-test:",""), - "needs": []} - if hasattr(test, 'need') and hasattr(test.need, 'flags'): - test_obj["needs"] = list(test.need.flags) - if hasattr(test, 'port_type'): - test_obj["type"] = str(test.port_type) - - test_map["ports"].append(test_obj) + + if not project or not project.tests: + return + + for test in project.tests: + test_obj = { "port_name": re.sub(project_type_prefix, "", test.name), + "needs": []} + if hasattr(test, 'need') and hasattr(test.need, 'flags'): + test_obj["needs"] = list(test.need.flags) + if hasattr(test, 'port_type'): + test_obj["type"] = str(test.port_type) + + if isinstance(test, trusty_build_config.TrustyCompositeTest): + test_obj["sequence"] = [] + + for subtest in test.sequence: + test_obj["sequence"].append(re.sub(project_type_prefix, "", subtest.name)) + if hasattr(subtest, 'need') and hasattr(subtest.need, 'flags'): + test_obj["needs"] += list(subtest.need.flags) + + test_obj["needs"] = list(set(test_obj["needs"])) + + test_map["ports"].append(test_obj) project_buildroot = os.path.join(args.build_root, "build-" + project_name) zip_path = os.path.join(project_buildroot, "trusty_test_package.zip") |