Loading fs_mgr/libsnapshot/snapshot_test.cpp +42 −15 Original line number Diff line number Diff line Loading @@ -2247,9 +2247,27 @@ class SnapshotTestEnvironment : public ::testing::Environment { void TearDown() override; private: bool CreateFakeSuper(); std::unique_ptr<IImageManager> super_images_; }; bool SnapshotTestEnvironment::CreateFakeSuper() { // Create and map the fake super partition. static constexpr int kImageFlags = IImageManager::CREATE_IMAGE_DEFAULT | IImageManager::CREATE_IMAGE_ZERO_FILL; if (!super_images_->CreateBackingImage("fake-super", kSuperSize, kImageFlags)) { LOG(ERROR) << "Could not create fake super partition"; return false; } if (!super_images_->MapImageDevice("fake-super", 10s, &fake_super)) { LOG(ERROR) << "Could not map fake super partition"; return false; } test_device->set_fake_super(fake_super); return true; } void SnapshotTestEnvironment::SetUp() { // b/163082876: GTEST_SKIP in Environment will make atest report incorrect results. Until // that is fixed, don't call GTEST_SKIP here, but instead call GTEST_SKIP in individual test Loading @@ -2275,27 +2293,36 @@ void SnapshotTestEnvironment::SetUp() { sm = SnapshotManager::New(test_device); ASSERT_NE(nullptr, sm) << "Could not create snapshot manager"; // Use a separate image manager for our fake super partition. super_images_ = IImageManager::Open("ota/test/super", 10s); ASSERT_NE(nullptr, super_images_) << "Could not create image manager"; // Map the old image if one exists so we can safely unmap everything that // depends on it. bool recreate_fake_super; if (super_images_->BackingImageExists("fake-super")) { if (super_images_->IsImageMapped("fake-super")) { ASSERT_TRUE(super_images_->GetMappedImageDevice("fake-super", &fake_super)); } else { ASSERT_TRUE(super_images_->MapImageDevice("fake-super", 10s, &fake_super)); } test_device->set_fake_super(fake_super); recreate_fake_super = true; } else { ASSERT_TRUE(CreateFakeSuper()); recreate_fake_super = false; } // Clean up previous run. MetadataMountedTest().TearDown(); SnapshotUpdateTest().Cleanup(); SnapshotTest().Cleanup(); // Use a separate image manager for our fake super partition. super_images_ = IImageManager::Open("ota/test/super", 10s); ASSERT_NE(nullptr, super_images_) << "Could not create image manager"; if (recreate_fake_super) { // Clean up any old copy. DeleteBackingImage(super_images_.get(), "fake-super"); // Create and map the fake super partition. static constexpr int kImageFlags = IImageManager::CREATE_IMAGE_DEFAULT | IImageManager::CREATE_IMAGE_ZERO_FILL; ASSERT_TRUE(super_images_->CreateBackingImage("fake-super", kSuperSize, kImageFlags)) << "Could not create fake super partition"; ASSERT_TRUE(super_images_->MapImageDevice("fake-super", 10s, &fake_super)) << "Could not map fake super partition"; test_device->set_fake_super(fake_super); ASSERT_TRUE(CreateFakeSuper()); } } void SnapshotTestEnvironment::TearDown() { Loading Loading
fs_mgr/libsnapshot/snapshot_test.cpp +42 −15 Original line number Diff line number Diff line Loading @@ -2247,9 +2247,27 @@ class SnapshotTestEnvironment : public ::testing::Environment { void TearDown() override; private: bool CreateFakeSuper(); std::unique_ptr<IImageManager> super_images_; }; bool SnapshotTestEnvironment::CreateFakeSuper() { // Create and map the fake super partition. static constexpr int kImageFlags = IImageManager::CREATE_IMAGE_DEFAULT | IImageManager::CREATE_IMAGE_ZERO_FILL; if (!super_images_->CreateBackingImage("fake-super", kSuperSize, kImageFlags)) { LOG(ERROR) << "Could not create fake super partition"; return false; } if (!super_images_->MapImageDevice("fake-super", 10s, &fake_super)) { LOG(ERROR) << "Could not map fake super partition"; return false; } test_device->set_fake_super(fake_super); return true; } void SnapshotTestEnvironment::SetUp() { // b/163082876: GTEST_SKIP in Environment will make atest report incorrect results. Until // that is fixed, don't call GTEST_SKIP here, but instead call GTEST_SKIP in individual test Loading @@ -2275,27 +2293,36 @@ void SnapshotTestEnvironment::SetUp() { sm = SnapshotManager::New(test_device); ASSERT_NE(nullptr, sm) << "Could not create snapshot manager"; // Use a separate image manager for our fake super partition. super_images_ = IImageManager::Open("ota/test/super", 10s); ASSERT_NE(nullptr, super_images_) << "Could not create image manager"; // Map the old image if one exists so we can safely unmap everything that // depends on it. bool recreate_fake_super; if (super_images_->BackingImageExists("fake-super")) { if (super_images_->IsImageMapped("fake-super")) { ASSERT_TRUE(super_images_->GetMappedImageDevice("fake-super", &fake_super)); } else { ASSERT_TRUE(super_images_->MapImageDevice("fake-super", 10s, &fake_super)); } test_device->set_fake_super(fake_super); recreate_fake_super = true; } else { ASSERT_TRUE(CreateFakeSuper()); recreate_fake_super = false; } // Clean up previous run. MetadataMountedTest().TearDown(); SnapshotUpdateTest().Cleanup(); SnapshotTest().Cleanup(); // Use a separate image manager for our fake super partition. super_images_ = IImageManager::Open("ota/test/super", 10s); ASSERT_NE(nullptr, super_images_) << "Could not create image manager"; if (recreate_fake_super) { // Clean up any old copy. DeleteBackingImage(super_images_.get(), "fake-super"); // Create and map the fake super partition. static constexpr int kImageFlags = IImageManager::CREATE_IMAGE_DEFAULT | IImageManager::CREATE_IMAGE_ZERO_FILL; ASSERT_TRUE(super_images_->CreateBackingImage("fake-super", kSuperSize, kImageFlags)) << "Could not create fake super partition"; ASSERT_TRUE(super_images_->MapImageDevice("fake-super", 10s, &fake_super)) << "Could not map fake super partition"; test_device->set_fake_super(fake_super); ASSERT_TRUE(CreateFakeSuper()); } } void SnapshotTestEnvironment::TearDown() { Loading