Merge "releasetools: Fix an issue in common.GetAvbPartitionArg."
am: 323a460d5b
Change-Id: I2cd550847a7aceeae04e83600fe0e79cd82e6a14
This commit is contained in:
commit
e54c3c3781
2 changed files with 34 additions and 1 deletions
|
@ -882,7 +882,7 @@ def GetAvbPartitionArg(partition, image, info_dict=None):
|
||||||
# boot chain, to be verified with AVB_SLOT_VERIFY_FLAGS_NO_VBMETA_PARTITION.
|
# boot chain, to be verified with AVB_SLOT_VERIFY_FLAGS_NO_VBMETA_PARTITION.
|
||||||
# See details at
|
# See details at
|
||||||
# https://android.googlesource.com/platform/external/avb/+/master/README.md#booting-into-recovery.
|
# https://android.googlesource.com/platform/external/avb/+/master/README.md#booting-into-recovery.
|
||||||
if OPTIONS.info_dict.get("ab_update") != "true" and partition == "recovery":
|
if info_dict.get("ab_update") != "true" and partition == "recovery":
|
||||||
return []
|
return []
|
||||||
|
|
||||||
# Otherwise chain the partition into vbmeta.
|
# Otherwise chain the partition into vbmeta.
|
||||||
|
|
|
@ -1373,6 +1373,39 @@ class CommonUtilsTest(test_utils.ReleaseToolsTestCase):
|
||||||
self.assertEqual('5', chained_partition_args[1])
|
self.assertEqual('5', chained_partition_args[1])
|
||||||
self.assertTrue(os.path.exists(chained_partition_args[2]))
|
self.assertTrue(os.path.exists(chained_partition_args[2]))
|
||||||
|
|
||||||
|
@test_utils.SkipIfExternalToolsUnavailable()
|
||||||
|
def test_AppendVBMetaArgsForPartition_recoveryAsChainedPartition_nonAb(self):
|
||||||
|
testdata_dir = test_utils.get_testdata_dir()
|
||||||
|
pubkey = os.path.join(testdata_dir, 'testkey.pubkey.pem')
|
||||||
|
info_dict = {
|
||||||
|
'avb_avbtool': 'avbtool',
|
||||||
|
'avb_recovery_key_path': pubkey,
|
||||||
|
'avb_recovery_rollback_index_location': 3,
|
||||||
|
}
|
||||||
|
cmd = common.GetAvbPartitionArg(
|
||||||
|
'recovery', '/path/to/recovery.img', info_dict)
|
||||||
|
self.assertFalse(cmd)
|
||||||
|
|
||||||
|
@test_utils.SkipIfExternalToolsUnavailable()
|
||||||
|
def test_AppendVBMetaArgsForPartition_recoveryAsChainedPartition_ab(self):
|
||||||
|
testdata_dir = test_utils.get_testdata_dir()
|
||||||
|
pubkey = os.path.join(testdata_dir, 'testkey.pubkey.pem')
|
||||||
|
info_dict = {
|
||||||
|
'ab_update': 'true',
|
||||||
|
'avb_avbtool': 'avbtool',
|
||||||
|
'avb_recovery_key_path': pubkey,
|
||||||
|
'avb_recovery_rollback_index_location': 3,
|
||||||
|
}
|
||||||
|
cmd = common.GetAvbPartitionArg(
|
||||||
|
'recovery', '/path/to/recovery.img', info_dict)
|
||||||
|
self.assertEqual(2, len(cmd))
|
||||||
|
self.assertEqual('--chain_partition', cmd[0])
|
||||||
|
chained_partition_args = cmd[1].split(':')
|
||||||
|
self.assertEqual(3, len(chained_partition_args))
|
||||||
|
self.assertEqual('recovery', chained_partition_args[0])
|
||||||
|
self.assertEqual('3', chained_partition_args[1])
|
||||||
|
self.assertTrue(os.path.exists(chained_partition_args[2]))
|
||||||
|
|
||||||
|
|
||||||
class InstallRecoveryScriptFormatTest(test_utils.ReleaseToolsTestCase):
|
class InstallRecoveryScriptFormatTest(test_utils.ReleaseToolsTestCase):
|
||||||
"""Checks the format of install-recovery.sh.
|
"""Checks the format of install-recovery.sh.
|
||||||
|
|
Loading…
Reference in a new issue