Loading tools/releasetools/check_partition_sizes.py +14 −0 Original line number Original line Diff line number Diff line Loading @@ -76,11 +76,17 @@ class Expression(object): class DeviceType(object): class DeviceType(object): NONE = 0 NONE = 0 AB = 1 AB = 1 RVAB = 2 # retrofit Virtual-A/B VAB = 3 @staticmethod @staticmethod def Get(info_dict): def Get(info_dict): if info_dict.get("ab_update") != "true": if info_dict.get("ab_update") != "true": return DeviceType.NONE return DeviceType.NONE if info_dict.get("virtual_ab_retrofit") == "true": return DeviceType.RVAB if info_dict.get("virtual_ab") == "true": return DeviceType.VAB return DeviceType.AB return DeviceType.AB Loading Loading @@ -175,6 +181,14 @@ class DynamicPartitionSizeChecker(object): if slot == DeviceType.AB: if slot == DeviceType.AB: return 2 return 2 # DAP + retrofit Virtual A/B: same as A/B if slot == DeviceType.RVAB: return 2 # DAP + Launch Virtual A/B: 1 *real* slot in super (2 virtual slots) if slot == DeviceType.VAB: return 1 # DAP + non-A/B: 1 slot in super # DAP + non-A/B: 1 slot in super assert slot == DeviceType.NONE assert slot == DeviceType.NONE return 1 return 1 Loading tools/releasetools/test_check_partition_sizes.py +34 −0 Original line number Original line Diff line number Diff line Loading @@ -92,3 +92,37 @@ class CheckPartitionSizesTest(test_utils.ReleaseToolsTestCase): """.split("\n"))) """.split("\n"))) with self.assertRaises(RuntimeError): with self.assertRaises(RuntimeError): CheckPartitionSizes(self.info_dict) CheckPartitionSizes(self.info_dict) def test_retrofit_vab(self): self.info_dict.update(common.LoadDictionaryFromLines(""" virtual_ab=true virtual_ab_retrofit=true """.split("\n"))) CheckPartitionSizes(self.info_dict) def test_retrofit_vab_too_big(self): self.info_dict.update(common.LoadDictionaryFromLines(""" virtual_ab=true virtual_ab_retrofit=true system_image_size=100 """.split("\n"))) with self.assertRaises(RuntimeError): CheckPartitionSizes(self.info_dict) def test_vab(self): self.info_dict.update(common.LoadDictionaryFromLines(""" virtual_ab=true super_partition_size=100 super_super_device_size=100 """.split("\n"))) CheckPartitionSizes(self.info_dict) def test_vab_too_big(self): self.info_dict.update(common.LoadDictionaryFromLines(""" virtual_ab=true super_partition_size=100 super_super_device_size=100 system_image_size=100 """.split("\n"))) with self.assertRaises(RuntimeError): CheckPartitionSizes(self.info_dict) Loading
tools/releasetools/check_partition_sizes.py +14 −0 Original line number Original line Diff line number Diff line Loading @@ -76,11 +76,17 @@ class Expression(object): class DeviceType(object): class DeviceType(object): NONE = 0 NONE = 0 AB = 1 AB = 1 RVAB = 2 # retrofit Virtual-A/B VAB = 3 @staticmethod @staticmethod def Get(info_dict): def Get(info_dict): if info_dict.get("ab_update") != "true": if info_dict.get("ab_update") != "true": return DeviceType.NONE return DeviceType.NONE if info_dict.get("virtual_ab_retrofit") == "true": return DeviceType.RVAB if info_dict.get("virtual_ab") == "true": return DeviceType.VAB return DeviceType.AB return DeviceType.AB Loading Loading @@ -175,6 +181,14 @@ class DynamicPartitionSizeChecker(object): if slot == DeviceType.AB: if slot == DeviceType.AB: return 2 return 2 # DAP + retrofit Virtual A/B: same as A/B if slot == DeviceType.RVAB: return 2 # DAP + Launch Virtual A/B: 1 *real* slot in super (2 virtual slots) if slot == DeviceType.VAB: return 1 # DAP + non-A/B: 1 slot in super # DAP + non-A/B: 1 slot in super assert slot == DeviceType.NONE assert slot == DeviceType.NONE return 1 return 1 Loading
tools/releasetools/test_check_partition_sizes.py +34 −0 Original line number Original line Diff line number Diff line Loading @@ -92,3 +92,37 @@ class CheckPartitionSizesTest(test_utils.ReleaseToolsTestCase): """.split("\n"))) """.split("\n"))) with self.assertRaises(RuntimeError): with self.assertRaises(RuntimeError): CheckPartitionSizes(self.info_dict) CheckPartitionSizes(self.info_dict) def test_retrofit_vab(self): self.info_dict.update(common.LoadDictionaryFromLines(""" virtual_ab=true virtual_ab_retrofit=true """.split("\n"))) CheckPartitionSizes(self.info_dict) def test_retrofit_vab_too_big(self): self.info_dict.update(common.LoadDictionaryFromLines(""" virtual_ab=true virtual_ab_retrofit=true system_image_size=100 """.split("\n"))) with self.assertRaises(RuntimeError): CheckPartitionSizes(self.info_dict) def test_vab(self): self.info_dict.update(common.LoadDictionaryFromLines(""" virtual_ab=true super_partition_size=100 super_super_device_size=100 """.split("\n"))) CheckPartitionSizes(self.info_dict) def test_vab_too_big(self): self.info_dict.update(common.LoadDictionaryFromLines(""" virtual_ab=true super_partition_size=100 super_super_device_size=100 system_image_size=100 """.split("\n"))) with self.assertRaises(RuntimeError): CheckPartitionSizes(self.info_dict)