diff options
author | Raphael Herouart <rherouart@google.com> | 2024-02-16 04:56:25 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2024-02-16 04:56:25 +0000 |
commit | 017cbd1203ad9cfbdae6e2837e1205d124e063d7 (patch) | |
tree | 22fddc87d8d3a3331cc3a8e5aa32ea24d84cc524 | |
parent | b4c757ffeecc0538708e193c9835a31c16266bac (diff) | |
parent | 29b685fb37ffa9c97a8277214096fb564ef85ff2 (diff) | |
download | aosp-017cbd1203ad9cfbdae6e2837e1205d124e063d7.tar.gz |
scripts: Prevent port duplication am: 29b685fb37
Original change: https://android-review.googlesource.com/c/trusty/vendor/google/aosp/+/2927811
Change-Id: I1bb362eb6c3a9821d21a9cc703a186615da9c7a8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rwxr-xr-x | scripts/build.py | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/scripts/build.py b/scripts/build.py index bb2b63f..15a3bf6 100755 --- a/scripts/build.py +++ b/scripts/build.py @@ -475,18 +475,27 @@ 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"] = [] + port_names = set() + duplicates = set() project = build_config.get_project(project_name) if not project or not project.tests: return - for test in project.tests: - test_obj = { "port_name": re.sub(project_type_prefix, "", test.name), + tests_list = filter(lambda t: t.name.startswith("android-port-test:android-test:"),project.tests) + for test in tests_list: + port_name = re.sub("android-port-test:android-test:", "", test.name) + if port_name in port_names: + duplicates.add(port_name) + continue + port_names.add(port_name) + + test_obj = { "port_name": port_name, "needs": []} + if hasattr(test, 'need') and hasattr(test.need, 'flags'): test_obj["needs"] = list(test.need.flags) if hasattr(test, 'port_type'): @@ -504,11 +513,18 @@ def create_test_map(args, build_config, projects): test_map["ports"].append(test_obj) + if len(duplicates) > 0: + print("ERROR: The following ports have been included multipe times") + for port in duplicates: + print(port) + sys.exit(-1) + project_buildroot = os.path.join(args.build_root, "build-" + project_name) zip_path = os.path.join(project_buildroot, "trusty_test_package.zip") with ZipFile(zip_path, 'a', compression=ZIP_DEFLATED) as zipf: zipf.writestr(project_name + "-test-map.json", json.dumps(test_map, indent=4)) + def main(default_config=None, emulator=True): top = os.path.abspath(os.path.join(script_dir, "../../../../..")) os.chdir(top) |