[REFACTOR] Move and refactor tests.
Some tests from boot_control_android_unittest only
test logic of UpdatePartitionMetadata. Move them to
dynamic_partition_control_android_unittest.
After moving the test, boot_control_android_unittest
can depend on the MockDynamicPartitionControl (which
is a mocked DynamicPartitionControlInterface) directly
again. It no longer depends on internal implementation
of DynamicPartitionControlAndroid.
Test: unittest
Fixes: 138333673
Change-Id: Idc5f11be98754b8f6d38fcb8604af497e5d86376
diff --git a/mock_dynamic_partition_control.h b/mock_dynamic_partition_control.h
index a0701e7..72eb030 100644
--- a/mock_dynamic_partition_control.h
+++ b/mock_dynamic_partition_control.h
@@ -27,6 +27,30 @@
namespace chromeos_update_engine {
+class MockDynamicPartitionControl : public DynamicPartitionControlInterface {
+ public:
+ MOCK_METHOD5(MapPartitionOnDeviceMapper,
+ bool(const std::string&,
+ const std::string&,
+ uint32_t,
+ bool,
+ std::string*));
+ 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_METHOD2(LoadMetadataBuilder,
+ std::unique_ptr<::android::fs_mgr::MetadataBuilder>(
+ const std::string&, uint32_t));
+ MOCK_METHOD1(GetDeviceDir, bool(std::string*));
+ MOCK_METHOD0(GetDynamicPartitionsFeatureFlag, FeatureFlag());
+ MOCK_METHOD3(PreparePartitionsForUpdate,
+ bool(uint32_t,
+ uint32_t,
+ const BootControlInterface::PartitionMetadata&));
+ MOCK_METHOD1(GetSuperPartitionName, std::string(uint32_t));
+};
+
class MockDynamicPartitionControlAndroid
: public DynamicPartitionControlAndroid {
public: