summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaphael Herouart <rherouart@google.com>2024-02-16 04:56:25 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2024-02-16 04:56:25 +0000
commit017cbd1203ad9cfbdae6e2837e1205d124e063d7 (patch)
tree22fddc87d8d3a3331cc3a8e5aa32ea24d84cc524
parentb4c757ffeecc0538708e193c9835a31c16266bac (diff)
parent29b685fb37ffa9c97a8277214096fb564ef85ff2 (diff)
downloadaosp-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-xscripts/build.py22
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)