Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d120eba1 authored by Yifan Hong's avatar Yifan Hong
Browse files

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
parent 23a1dd63
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -71,6 +71,8 @@ std::unique_ptr<SnapshotManager> sm;
TestDeviceInfo* test_device = nullptr;
std::string fake_super;

void MountMetadata();

class SnapshotTest : public ::testing::Test {
  public:
    SnapshotTest() : dm_(DeviceMapper::Instance()) {}
@@ -87,7 +89,7 @@ class SnapshotTest : public ::testing::Test {
        InitializeState();
        CleanupTestArtifacts();
        FormatFakeSuper();

        MountMetadata();
        ASSERT_TRUE(sm->BeginUpdate());
    }

@@ -662,6 +664,7 @@ class SnapshotUpdateTest : public SnapshotTest {
        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 @@ class MetadataMountedTest : public SnapshotUpdateTest {
    Fstab fstab_;
};

void MountMetadata() {
    MetadataMountedTest().TearDown();
}

TEST_F(MetadataMountedTest, Android) {
    auto device = sm->EnsureMetadataMounted();
    EXPECT_NE(nullptr, device);