diff options
Diffstat (limited to 'mock_dynamic_partition_control.h')
-rw-r--r-- | mock_dynamic_partition_control.h | 111 |
1 files changed, 88 insertions, 23 deletions
diff --git a/mock_dynamic_partition_control.h b/mock_dynamic_partition_control.h index 24aca06d..e85df327 100644 --- a/mock_dynamic_partition_control.h +++ b/mock_dynamic_partition_control.h @@ -17,37 +17,102 @@ #include <stdint.h> #include <memory> +#include <set> #include <string> #include <gmock/gmock.h> -#include "update_engine/dynamic_partition_control_interface.h" +#include "update_engine/common/boot_control_interface.h" +#include "update_engine/common/dynamic_partition_control_interface.h" +#include "update_engine/dynamic_partition_control_android.h" namespace chromeos_update_engine { -class MockDynamicPartitionControl : public DynamicPartitionControlInterface { +class MockDynamicPartitionControlAndroid + : public DynamicPartitionControlAndroid { public: - MOCK_METHOD5(MapPartitionOnDeviceMapper, - bool(const std::string&, - const std::string&, - uint32_t, - bool, - std::string*)); - MOCK_METHOD2(UnmapPartitionOnDeviceMapper, bool(const std::string&, bool)); - MOCK_METHOD0(Cleanup, void()); - MOCK_METHOD1(DeviceExists, bool(const std::string&)); - MOCK_METHOD1(GetState, ::android::dm::DmDeviceState(const std::string&)); - MOCK_METHOD2(GetDmDevicePathByName, bool(const std::string&, std::string*)); - MOCK_METHOD3(LoadMetadataBuilder, - std::unique_ptr<::android::fs_mgr::MetadataBuilder>( - const std::string&, uint32_t, uint32_t)); - MOCK_METHOD3(StoreMetadata, - bool(const std::string&, - android::fs_mgr::MetadataBuilder*, - uint32_t)); - MOCK_METHOD1(GetDeviceDir, bool(std::string*)); - MOCK_METHOD0(IsDynamicPartitionsEnabled, bool()); - MOCK_METHOD0(IsDynamicPartitionsRetrofit, bool()); + MOCK_METHOD( + bool, + MapPartitionOnDeviceMapper, + (const std::string&, const std::string&, uint32_t, bool, std::string*), + (override)); + MOCK_METHOD(bool, + UnmapPartitionOnDeviceMapper, + (const std::string&), + (override)); + MOCK_METHOD(void, Cleanup, (), (override)); + MOCK_METHOD(bool, DeviceExists, (const std::string&), (override)); + MOCK_METHOD(::android::dm::DmDeviceState, + GetState, + (const std::string&), + (override)); + MOCK_METHOD(bool, + GetDmDevicePathByName, + (const std::string&, std::string*), + (override)); + MOCK_METHOD(std::unique_ptr<::android::fs_mgr::MetadataBuilder>, + LoadMetadataBuilder, + (const std::string&, uint32_t), + (override)); + MOCK_METHOD(std::unique_ptr<::android::fs_mgr::MetadataBuilder>, + LoadMetadataBuilder, + (const std::string&, uint32_t, uint32_t), + (override)); + MOCK_METHOD(bool, + StoreMetadata, + (const std::string&, android::fs_mgr::MetadataBuilder*, uint32_t), + (override)); + MOCK_METHOD(bool, GetDeviceDir, (std::string*), (override)); + MOCK_METHOD(FeatureFlag, GetDynamicPartitionsFeatureFlag, (), (override)); + MOCK_METHOD(std::string, GetSuperPartitionName, (uint32_t), (override)); + MOCK_METHOD(FeatureFlag, GetVirtualAbFeatureFlag, (), (override)); + MOCK_METHOD(bool, FinishUpdate, (bool), (override)); + MOCK_METHOD(bool, + GetSystemOtherPath, + (uint32_t, uint32_t, const std::string&, std::string*, bool*), + (override)); + MOCK_METHOD(bool, + EraseSystemOtherAvbFooter, + (uint32_t, uint32_t), + (override)); + MOCK_METHOD(std::optional<bool>, IsAvbEnabledOnSystemOther, (), (override)); + MOCK_METHOD(bool, IsRecovery, (), (override)); + MOCK_METHOD(bool, + PrepareDynamicPartitionsForUpdate, + (uint32_t, uint32_t, const DeltaArchiveManifest&, bool), + (override)); + + void set_fake_mapped_devices(const std::set<std::string>& fake) override { + DynamicPartitionControlAndroid::set_fake_mapped_devices(fake); + } + + bool RealGetSystemOtherPath(uint32_t source_slot, + uint32_t target_slot, + const std::string& partition_name_suffix, + std::string* path, + bool* should_unmap) { + return DynamicPartitionControlAndroid::GetSystemOtherPath( + source_slot, target_slot, partition_name_suffix, path, should_unmap); + } + + bool RealEraseSystemOtherAvbFooter(uint32_t source_slot, + uint32_t target_slot) { + return DynamicPartitionControlAndroid::EraseSystemOtherAvbFooter( + source_slot, target_slot); + } + + std::optional<bool> RealIsAvbEnabledInFstab(const std::string& path) { + return DynamicPartitionControlAndroid::IsAvbEnabledInFstab(path); + } + + bool RealPrepareDynamicPartitionsForUpdate( + uint32_t source_slot, + uint32_t target_slot, + const DeltaArchiveManifest& manifest, + bool delete_source) { + return DynamicPartitionControlAndroid::PrepareDynamicPartitionsForUpdate( + source_slot, target_slot, manifest, delete_source); + } }; } // namespace chromeos_update_engine |