forked from openkylin/platform_build
Merge "Fix Virtual A/B size checks"
This commit is contained in:
commit
654fdb5edd
|
@ -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
|
||||||
|
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
|
|
@ -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…
Reference in New Issue