Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d5d70ea5 authored by Daniel Norman's avatar Daniel Norman
Browse files

Renames system to framework and other to vendor.

Also fixes small nit from previous change to write_sorted_data().

Bug: 132788610
Test: python -m unittest test_merge_target_files
Test: Creating and booting a merged build.
Change-Id: I3dc43a4fe55b86b436dec08feb5d70096d38de36
parent 1e5fcc0d
Loading
Loading
Loading
Loading
+301 −269

File changed.

Preview size limit exceeded, changes collapsed.

+54 −49
Original line number Diff line number Diff line
@@ -19,9 +19,9 @@ import os.path
import common
import test_utils
from merge_target_files import (read_config_list, validate_config_lists,
                                DEFAULT_SYSTEM_ITEM_LIST,
                                DEFAULT_OTHER_ITEM_LIST,
                                DEFAULT_SYSTEM_MISC_INFO_KEYS, copy_items,
                                DEFAULT_FRAMEWORK_ITEM_LIST,
                                DEFAULT_VENDOR_ITEM_LIST,
                                DEFAULT_FRAMEWORK_MISC_INFO_KEYS, copy_items,
                                merge_dynamic_partition_info_dicts,
                                process_apex_keys_apk_certs_common)

@@ -84,10 +84,10 @@ class MergeTargetFilesTest(test_utils.ReleaseToolsTestCase):
        os.readlink(os.path.join(output_dir, 'a_link.cpp')), 'a.cpp')

  def test_read_config_list(self):
    system_item_list_file = os.path.join(self.testdata_dir,
                                         'merge_config_system_item_list')
    system_item_list = read_config_list(system_item_list_file)
    expected_system_item_list = [
    framework_item_list_file = os.path.join(self.testdata_dir,
                                            'merge_config_framework_item_list')
    framework_item_list = read_config_list(framework_item_list_file)
    expected_framework_item_list = [
        'META/apkcerts.txt',
        'META/filesystem_config.txt',
        'META/root_filesystem_config.txt',
@@ -98,53 +98,58 @@ class MergeTargetFilesTest(test_utils.ReleaseToolsTestCase):
        'ROOT/*',
        'SYSTEM/*',
    ]
    self.assertItemsEqual(system_item_list, expected_system_item_list)
    self.assertItemsEqual(framework_item_list, expected_framework_item_list)

  def test_validate_config_lists_ReturnsFalseIfMissingDefaultItem(self):
    system_item_list = list(DEFAULT_SYSTEM_ITEM_LIST)
    system_item_list.remove('SYSTEM/*')
    framework_item_list = list(DEFAULT_FRAMEWORK_ITEM_LIST)
    framework_item_list.remove('SYSTEM/*')
    self.assertFalse(
        validate_config_lists(system_item_list, DEFAULT_SYSTEM_MISC_INFO_KEYS,
                              DEFAULT_OTHER_ITEM_LIST))
        validate_config_lists(framework_item_list,
                              DEFAULT_FRAMEWORK_MISC_INFO_KEYS,
                              DEFAULT_VENDOR_ITEM_LIST))

  def test_validate_config_lists_ReturnsTrueIfDefaultItemInDifferentList(self):
    system_item_list = list(DEFAULT_SYSTEM_ITEM_LIST)
    system_item_list.remove('ROOT/*')
    other_item_list = list(DEFAULT_OTHER_ITEM_LIST)
    other_item_list.append('ROOT/*')
    framework_item_list = list(DEFAULT_FRAMEWORK_ITEM_LIST)
    framework_item_list.remove('ROOT/*')
    vendor_item_list = list(DEFAULT_VENDOR_ITEM_LIST)
    vendor_item_list.append('ROOT/*')
    self.assertTrue(
        validate_config_lists(system_item_list, DEFAULT_SYSTEM_MISC_INFO_KEYS,
                              other_item_list))
        validate_config_lists(framework_item_list,
                              DEFAULT_FRAMEWORK_MISC_INFO_KEYS,
                              vendor_item_list))

  def test_validate_config_lists_ReturnsTrueIfExtraItem(self):
    system_item_list = list(DEFAULT_SYSTEM_ITEM_LIST)
    system_item_list.append('MY_NEW_PARTITION/*')
    framework_item_list = list(DEFAULT_FRAMEWORK_ITEM_LIST)
    framework_item_list.append('MY_NEW_PARTITION/*')
    self.assertTrue(
        validate_config_lists(system_item_list, DEFAULT_SYSTEM_MISC_INFO_KEYS,
                              DEFAULT_OTHER_ITEM_LIST))
        validate_config_lists(framework_item_list,
                              DEFAULT_FRAMEWORK_MISC_INFO_KEYS,
                              DEFAULT_VENDOR_ITEM_LIST))

  def test_validate_config_lists_ReturnsFalseIfSharedExtractedPartition(self):
    other_item_list = list(DEFAULT_OTHER_ITEM_LIST)
    other_item_list.append('SYSTEM/my_system_file')
    vendor_item_list = list(DEFAULT_VENDOR_ITEM_LIST)
    vendor_item_list.append('SYSTEM/my_system_file')
    self.assertFalse(
        validate_config_lists(DEFAULT_SYSTEM_ITEM_LIST,
                              DEFAULT_SYSTEM_MISC_INFO_KEYS, other_item_list))
        validate_config_lists(DEFAULT_FRAMEWORK_ITEM_LIST,
                              DEFAULT_FRAMEWORK_MISC_INFO_KEYS,
                              vendor_item_list))

  def test_validate_config_lists_ReturnsFalseIfBadSystemMiscInfoKeys(self):
    for bad_key in ['dynamic_partition_list', 'super_partition_groups']:
      system_misc_info_keys = list(DEFAULT_SYSTEM_MISC_INFO_KEYS)
      system_misc_info_keys.append(bad_key)
      framework_misc_info_keys = list(DEFAULT_FRAMEWORK_MISC_INFO_KEYS)
      framework_misc_info_keys.append(bad_key)
      self.assertFalse(
          validate_config_lists(DEFAULT_SYSTEM_ITEM_LIST, system_misc_info_keys,
                                DEFAULT_OTHER_ITEM_LIST))
          validate_config_lists(DEFAULT_FRAMEWORK_ITEM_LIST,
                                framework_misc_info_keys,
                                DEFAULT_VENDOR_ITEM_LIST))

  def test_merge_dynamic_partition_info_dicts_ReturnsMergedDict(self):
    system_dict = {
    framework_dict = {
        'super_partition_groups': 'group_a',
        'dynamic_partition_list': 'system',
        'super_group_a_list': 'system',
    }
    other_dict = {
    vendor_dict = {
        'super_partition_groups': 'group_a group_b',
        'dynamic_partition_list': 'vendor product',
        'super_group_a_list': 'vendor',
@@ -153,8 +158,8 @@ class MergeTargetFilesTest(test_utils.ReleaseToolsTestCase):
        'super_group_b_size': '2000',
    }
    merged_dict = merge_dynamic_partition_info_dicts(
        system_dict=system_dict,
        other_dict=other_dict,
        framework_dict=framework_dict,
        vendor_dict=vendor_dict,
        size_prefix='super_',
        size_suffix='_size',
        list_prefix='super_',
@@ -173,19 +178,19 @@ class MergeTargetFilesTest(test_utils.ReleaseToolsTestCase):
    output_dir = common.MakeTempDir()
    os.makedirs(os.path.join(output_dir, 'META'))

    system_dir = common.MakeTempDir()
    os.makedirs(os.path.join(system_dir, 'META'))
    framework_dir = common.MakeTempDir()
    os.makedirs(os.path.join(framework_dir, 'META'))
    os.symlink(
        os.path.join(self.testdata_dir, 'apexkeys_system.txt'),
        os.path.join(system_dir, 'META', 'apexkeys.txt'))
        os.path.join(self.testdata_dir, 'apexkeys_framework.txt'),
        os.path.join(framework_dir, 'META', 'apexkeys.txt'))

    other_dir = common.MakeTempDir()
    os.makedirs(os.path.join(other_dir, 'META'))
    vendor_dir = common.MakeTempDir()
    os.makedirs(os.path.join(vendor_dir, 'META'))
    os.symlink(
        os.path.join(self.testdata_dir, 'apexkeys_other.txt'),
        os.path.join(other_dir, 'META', 'apexkeys.txt'))
        os.path.join(self.testdata_dir, 'apexkeys_vendor.txt'),
        os.path.join(vendor_dir, 'META', 'apexkeys.txt'))

    process_apex_keys_apk_certs_common(system_dir, other_dir, output_dir,
    process_apex_keys_apk_certs_common(framework_dir, vendor_dir, output_dir,
                                       'apexkeys.txt')

    merged_entries = []
@@ -206,17 +211,17 @@ class MergeTargetFilesTest(test_utils.ReleaseToolsTestCase):
    output_dir = common.MakeTempDir()
    os.makedirs(os.path.join(output_dir, 'META'))

    system_dir = common.MakeTempDir()
    os.makedirs(os.path.join(system_dir, 'META'))
    framework_dir = common.MakeTempDir()
    os.makedirs(os.path.join(framework_dir, 'META'))
    os.symlink(
        os.path.join(self.testdata_dir, 'apexkeys_system.txt'),
        os.path.join(system_dir, 'META', 'apexkeys.txt'))
        os.path.join(self.testdata_dir, 'apexkeys_framework.txt'),
        os.path.join(framework_dir, 'META', 'apexkeys.txt'))

    conflict_dir = common.MakeTempDir()
    os.makedirs(os.path.join(conflict_dir, 'META'))
    os.symlink(
        os.path.join(self.testdata_dir, 'apexkeys_system_conflict.txt'),
        os.path.join(self.testdata_dir, 'apexkeys_framework_conflict.txt'),
        os.path.join(conflict_dir, 'META', 'apexkeys.txt'))

    self.assertRaises(ValueError, process_apex_keys_apk_certs_common,
                      system_dir, conflict_dir, output_dir, 'apexkeys.txt')
                      framework_dir, conflict_dir, output_dir, 'apexkeys.txt')
Loading