libsnapshot: Fix test MergeInRecovery
After MergeInRecovery, metadata is left unmounted.
Mount it before doing any tests, and calling CancelUpdate
in SnapshotUpdateTest::Cleanup().
Test: libsnapshot_test
Change-Id: I194d15cfb6b8f529dfd5490ff3bb650b403b244f
diff --git a/fs_mgr/libsnapshot/snapshot_test.cpp b/fs_mgr/libsnapshot/snapshot_test.cpp
index 8783526..d7c69a6 100644
--- a/fs_mgr/libsnapshot/snapshot_test.cpp
+++ b/fs_mgr/libsnapshot/snapshot_test.cpp
@@ -71,6 +71,8 @@
TestDeviceInfo* test_device = nullptr;
std::string fake_super;
+void MountMetadata();
+
class SnapshotTest : public ::testing::Test {
public:
SnapshotTest() : dm_(DeviceMapper::Instance()) {}
@@ -87,7 +89,7 @@
InitializeState();
CleanupTestArtifacts();
FormatFakeSuper();
-
+ MountMetadata();
ASSERT_TRUE(sm->BeginUpdate());
}
@@ -662,6 +664,7 @@
if (!image_manager_) {
InitializeState();
}
+ MountMetadata();
for (const auto& suffix : {"_a", "_b"}) {
test_device->set_slot_suffix(suffix);
EXPECT_TRUE(sm->CancelUpdate()) << suffix;
@@ -1206,6 +1209,10 @@
Fstab fstab_;
};
+void MountMetadata() {
+ MetadataMountedTest().TearDown();
+}
+
TEST_F(MetadataMountedTest, Android) {
auto device = sm->EnsureMetadataMounted();
EXPECT_NE(nullptr, device);