From 24f960986b1337f14eb8e86382cb62aed5d1153c Mon Sep 17 00:00:00 2001 From: Tianjie Date: Tue, 30 Jun 2020 12:26:25 -0700 Subject: Verify the extents for untouched dynamic partitions during partial update For partial updates, the metadata for untouched dynamic partitions are just copied over to the target slot. So, verifying the extents of these partitions in the target metadata should be sufficient for correctness. This saves the work to read & hash the bytes on these partitions for each resumed update. Bug: 151088567 Test: unit tests pass, apply a partial update Change-Id: I9d40ed2643e145a1546ea17b146fcdcfb91f213f --- dynamic_partition_control_android_unittest.cc | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'dynamic_partition_control_android_unittest.cc') diff --git a/dynamic_partition_control_android_unittest.cc b/dynamic_partition_control_android_unittest.cc index 37381708..4154b36c 100644 --- a/dynamic_partition_control_android_unittest.cc +++ b/dynamic_partition_control_android_unittest.cc @@ -114,6 +114,14 @@ class DynamicPartitionControlAndroidTest : public ::testing::Test { void SetMetadata(uint32_t slot, const PartitionSuffixSizes& sizes, uint32_t partition_attr = 0) { + EXPECT_CALL(dynamicControl(), + LoadMetadataBuilder(GetSuperDevice(slot), slot)) + .Times(AnyNumber()) + .WillRepeatedly(Invoke([sizes, partition_attr](auto, auto) { + return NewFakeMetadata(PartitionSuffixSizesToManifest(sizes), + partition_attr); + })); + EXPECT_CALL(dynamicControl(), LoadMetadataBuilder(GetSuperDevice(slot), slot, _)) .Times(AnyNumber()) -- cgit v1.2.3