snapuserd: Use GTEST_SKIP in snapuserd_test.
The test harness treats an early exit as a failure, so use GTEST_SKIP()
instead.
Bug: 379242140
Test: vts_snapuserd_test
Change-Id: I25351bb7ebf65e6c56865662d297feb4a1f635b3
(cherry picked from commit 668ffc395d0c83c9e9cdcca972e35e936a5f85f0)
diff --git a/fs_mgr/libsnapshot/snapuserd/user-space-merge/snapuserd_test.cpp b/fs_mgr/libsnapshot/snapuserd/user-space-merge/snapuserd_test.cpp
index 271090f..bd835e2 100644
--- a/fs_mgr/libsnapshot/snapuserd/user-space-merge/snapuserd_test.cpp
+++ b/fs_mgr/libsnapshot/snapuserd/user-space-merge/snapuserd_test.cpp
@@ -81,6 +81,8 @@
unique_fd GetCowFd() { return unique_fd{dup(cow_system_->fd)}; }
+ bool ShouldSkipSetUp();
+
std::unique_ptr<ITestHarness> harness_;
size_t size_ = 10_MiB;
int total_base_size_ = 0;
@@ -96,6 +98,10 @@
};
void SnapuserdTestBase::SetUp() {
+ if (ShouldSkipSetUp()) {
+ GTEST_SKIP() << "snapuserd not supported on this device";
+ }
+
#if __ANDROID__
harness_ = std::make_unique<DmUserTestHarness>();
#else
@@ -103,6 +109,16 @@
#endif
}
+bool SnapuserdTestBase::ShouldSkipSetUp() {
+#ifdef __ANDROID__
+ if (!android::snapshot::CanUseUserspaceSnapshots() ||
+ android::snapshot::IsVendorFromAndroid12()) {
+ return true;
+ }
+#endif
+ return false;
+}
+
void SnapuserdTestBase::TearDown() {
cow_system_ = nullptr;
}
@@ -301,6 +317,9 @@
};
void SnapuserdTest::SetUp() {
+ if (ShouldSkipSetUp()) {
+ GTEST_SKIP() << "snapuserd not supported on this device";
+ }
ASSERT_NO_FATAL_FAILURE(SnapuserdTestBase::SetUp());
handlers_ = std::make_unique<SnapshotHandlerManager>();
}
@@ -311,6 +330,9 @@
}
void SnapuserdTest::Shutdown() {
+ if (!handlers_) {
+ return;
+ }
if (dmuser_dev_) {
ASSERT_TRUE(dmuser_dev_->Destroy());
}
@@ -1180,6 +1202,9 @@
}
void SnapuserdVariableBlockSizeTest::SetUp() {
+ if (ShouldSkipSetUp()) {
+ GTEST_SKIP() << "snapuserd not supported on this device";
+ }
ASSERT_NO_FATAL_FAILURE(SnapuserdTest::SetUp());
}
@@ -1243,6 +1268,9 @@
}
void HandlerTest::SetUp() {
+ if (ShouldSkipSetUp()) {
+ GTEST_SKIP() << "snapuserd not supported on this device";
+ }
ASSERT_NO_FATAL_FAILURE(SnapuserdTestBase::SetUp());
ASSERT_NO_FATAL_FAILURE(CreateBaseDevice());
ASSERT_NO_FATAL_FAILURE(SetUpV2Cow());
@@ -1250,6 +1278,9 @@
}
void HandlerTest::TearDown() {
+ if (ShouldSkipSetUp()) {
+ return;
+ }
ASSERT_TRUE(factory_.DeleteQueue(system_device_ctrl_name_));
ASSERT_TRUE(handler_thread_.get());
SnapuserdTestBase::TearDown();
@@ -1325,6 +1356,9 @@
};
void HandlerTestV3::SetUp() {
+ if (ShouldSkipSetUp()) {
+ GTEST_SKIP() << "snapuserd not supported on this device";
+ }
ASSERT_NO_FATAL_FAILURE(SnapuserdTestBase::SetUp());
ASSERT_NO_FATAL_FAILURE(CreateBaseDevice());
ASSERT_NO_FATAL_FAILURE(SetUpV3Cow());
@@ -1528,14 +1562,6 @@
int main(int argc, char** argv) {
::testing::InitGoogleTest(&argc, argv);
-#ifdef __ANDROID__
- if (!android::snapshot::CanUseUserspaceSnapshots() ||
- android::snapshot::IsVendorFromAndroid12()) {
- std::cerr << "snapuserd_test not supported on this device\n";
- return 0;
- }
-#endif
-
gflags::ParseCommandLineFlags(&argc, &argv, false);
return RUN_ALL_TESTS();