Infer merge configs if not provided.
Bug: 221858722 Test: Create a merged package using inferred configs. Test: atest --host releasetools_test Change-Id: I93d67ca0f00be3f0e0424ed0a1e44c39ca2f3094
This commit is contained in:
@@ -20,20 +20,12 @@ import common
|
||||
import merge_target_files
|
||||
import merge_utils
|
||||
import test_utils
|
||||
from merge_target_files import (
|
||||
DEFAULT_FRAMEWORK_ITEM_LIST,
|
||||
DEFAULT_VENDOR_ITEM_LIST,
|
||||
DEFAULT_FRAMEWORK_MISC_INFO_KEYS,
|
||||
)
|
||||
|
||||
|
||||
class MergeUtilsTest(test_utils.ReleaseToolsTestCase):
|
||||
|
||||
def setUp(self):
|
||||
self.OPTIONS = merge_target_files.OPTIONS
|
||||
self.OPTIONS.framework_item_list = DEFAULT_FRAMEWORK_ITEM_LIST
|
||||
self.OPTIONS.framework_misc_info_keys = DEFAULT_FRAMEWORK_MISC_INFO_KEYS
|
||||
self.OPTIONS.vendor_item_list = DEFAULT_VENDOR_ITEM_LIST
|
||||
|
||||
def test_CopyItems_CopiesItemsMatchingPatterns(self):
|
||||
|
||||
@@ -88,21 +80,30 @@ class MergeUtilsTest(test_utils.ReleaseToolsTestCase):
|
||||
os.readlink(os.path.join(output_dir, 'a_link.cpp')), 'a.cpp')
|
||||
|
||||
def test_ValidateConfigLists_ReturnsFalseIfSharedExtractedPartition(self):
|
||||
self.OPTIONS.vendor_item_list = list(DEFAULT_VENDOR_ITEM_LIST)
|
||||
self.OPTIONS.system_item_list = [
|
||||
'SYSTEM/*',
|
||||
]
|
||||
self.OPTIONS.vendor_item_list = [
|
||||
'SYSTEM/my_system_file',
|
||||
'VENDOR/*',
|
||||
]
|
||||
self.OPTIONS.vendor_item_list.append('SYSTEM/my_system_file')
|
||||
self.assertFalse(merge_utils.ValidateConfigLists())
|
||||
|
||||
def test_ValidateConfigLists_ReturnsFalseIfSharedExtractedPartitionImage(
|
||||
self):
|
||||
self.OPTIONS.vendor_item_list = list(DEFAULT_VENDOR_ITEM_LIST)
|
||||
self.OPTIONS.vendor_item_list.append('IMAGES/system.img')
|
||||
self.OPTIONS.system_item_list = [
|
||||
'SYSTEM/*',
|
||||
]
|
||||
self.OPTIONS.vendor_item_list = [
|
||||
'IMAGES/system.img',
|
||||
'VENDOR/*',
|
||||
]
|
||||
self.assertFalse(merge_utils.ValidateConfigLists())
|
||||
|
||||
def test_ValidateConfigLists_ReturnsFalseIfBadSystemMiscInfoKeys(self):
|
||||
for bad_key in ['dynamic_partition_list', 'super_partition_groups']:
|
||||
self.OPTIONS.framework_misc_info_keys = list(
|
||||
DEFAULT_FRAMEWORK_MISC_INFO_KEYS)
|
||||
self.OPTIONS.framework_misc_info_keys.append(bad_key)
|
||||
self.OPTIONS.framework_misc_info_keys = [bad_key]
|
||||
self.assertFalse(merge_utils.ValidateConfigLists())
|
||||
|
||||
def test_ItemListToPartitionSet(self):
|
||||
@@ -116,3 +117,81 @@ class MergeUtilsTest(test_utils.ReleaseToolsTestCase):
|
||||
]
|
||||
partition_set = merge_utils.ItemListToPartitionSet(item_list)
|
||||
self.assertEqual(set(['product', 'system', 'system_ext']), partition_set)
|
||||
|
||||
def test_InferItemList_Framework(self):
|
||||
zip_namelist = [
|
||||
'SYSTEM/my_system_file',
|
||||
'PRODUCT/my_product_file',
|
||||
]
|
||||
|
||||
item_list = merge_utils.InferItemList(zip_namelist, framework=True)
|
||||
|
||||
expected_framework_item_list = [
|
||||
'IMAGES/product.img',
|
||||
'IMAGES/product.map',
|
||||
'IMAGES/system.img',
|
||||
'IMAGES/system.map',
|
||||
'META/filesystem_config.txt',
|
||||
'META/liblz4.so',
|
||||
'META/postinstall_config.txt',
|
||||
'META/product_filesystem_config.txt',
|
||||
'META/update_engine_config.txt',
|
||||
'META/zucchini_config.txt',
|
||||
'PRODUCT/*',
|
||||
'SYSTEM/*',
|
||||
]
|
||||
|
||||
self.assertEqual(item_list, expected_framework_item_list)
|
||||
|
||||
def test_InferItemList_Vendor(self):
|
||||
zip_namelist = [
|
||||
'VENDOR/my_vendor_file',
|
||||
'ODM/my_odm_file',
|
||||
]
|
||||
|
||||
item_list = merge_utils.InferItemList(zip_namelist, framework=False)
|
||||
|
||||
expected_vendor_item_list = [
|
||||
'IMAGES/odm.img',
|
||||
'IMAGES/odm.map',
|
||||
'IMAGES/vendor.img',
|
||||
'IMAGES/vendor.map',
|
||||
'META/kernel_configs.txt',
|
||||
'META/kernel_version.txt',
|
||||
'META/odm_filesystem_config.txt',
|
||||
'META/otakeys.txt',
|
||||
'META/releasetools.py',
|
||||
'META/vendor_filesystem_config.txt',
|
||||
'ODM/*',
|
||||
'OTA/android-info.txt',
|
||||
'VENDOR/*',
|
||||
]
|
||||
self.assertEqual(item_list, expected_vendor_item_list)
|
||||
|
||||
def test_InferFrameworkMiscInfoKeys(self):
|
||||
zip_namelist = [
|
||||
'SYSTEM/my_system_file',
|
||||
'SYSTEM_EXT/my_system_ext_file',
|
||||
]
|
||||
|
||||
keys = merge_utils.InferFrameworkMiscInfoKeys(zip_namelist)
|
||||
|
||||
expected_keys = [
|
||||
'ab_update',
|
||||
'avb_system_add_hashtree_footer_args',
|
||||
'avb_system_ext_add_hashtree_footer_args',
|
||||
'avb_system_ext_hashtree_enable',
|
||||
'avb_system_hashtree_enable',
|
||||
'avb_vbmeta_system',
|
||||
'avb_vbmeta_system_algorithm',
|
||||
'avb_vbmeta_system_key_path',
|
||||
'avb_vbmeta_system_rollback_index_location',
|
||||
'building_system_ext_image',
|
||||
'building_system_image',
|
||||
'default_system_dev_certificate',
|
||||
'fs_type',
|
||||
'system_disable_sparse',
|
||||
'system_ext_disable_sparse',
|
||||
'system_ext_fs_type',
|
||||
]
|
||||
self.assertEqual(keys, expected_keys)
|
||||
|
Reference in New Issue
Block a user