Merge "fallback to v2 on s build" into main am: 3903154c64

Original change: https://android-review.googlesource.com/c/platform/build/+/3001434

Change-Id: I5655f9e77d27a36f8138447b747775a6a1a462a0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Daniel Zheng
2024-03-22 21:03:59 +00:00
committed by Automerger Merge Worker
2 changed files with 8 additions and 1 deletions

View File

@@ -1313,7 +1313,11 @@ def MergeDynamicPartitionInfoDicts(framework_dict, vendor_dict):
key = "super_%s_partition_list" % partition_group
merged_dict[key] = uniq_concat(
framework_dict.get(key, ""), vendor_dict.get(key, ""))
# in the case that vendor is on s build, but is taking a v3 -> v3 vabc ota, we want to fallback to v2
if "vabc_cow_version" not in vendor_dict or "vabc_cow_version" not in framework_dict:
merged_dict["vabc_cow_version"] = '2'
else:
merged_dict["vabc_cow_version"] = min(vendor_dict["vabc_cow_version"], framework_dict["vabc_cow_version"])
# Various other flags should be copied from the vendor dict, if defined.
for key in ("virtual_ab", "virtual_ab_retrofit", "lpmake",
"super_metadata_device", "super_partition_error_limit",

View File

@@ -1515,6 +1515,7 @@ class CommonUtilsTest(test_utils.ReleaseToolsTestCase):
'super_group_a_group_size': '1000',
'super_group_b_partition_list': 'product',
'super_group_b_group_size': '2000',
'vabc_cow_version': '2',
}
self.assertEqual(merged_dict, expected_merged_dict)
@@ -1525,6 +1526,7 @@ class CommonUtilsTest(test_utils.ReleaseToolsTestCase):
'dynamic_partition_list': 'system',
'super_group_a_partition_list': 'system',
'super_group_a_group_size': '5000',
'vabc_cow_version': '3',
}
vendor_dict = {
'use_dynamic_partitions': 'true',
@@ -1546,6 +1548,7 @@ class CommonUtilsTest(test_utils.ReleaseToolsTestCase):
'super_group_a_group_size': '1000',
'super_group_b_partition_list': 'product',
'super_group_b_group_size': '2000',
'vabc_cow_version': '2',
}
self.assertEqual(merged_dict, expected_merged_dict)