diff --git a/dumpstate/1.0/vts/functional/Android.bp b/dumpstate/1.0/vts/functional/Android.bp index fc64d056b0..3bac281598 100644 --- a/dumpstate/1.0/vts/functional/Android.bp +++ b/dumpstate/1.0/vts/functional/Android.bp @@ -18,5 +18,5 @@ cc_test { defaults: ["VtsHalTargetTestDefaults"], srcs: ["VtsHalDumpstateV1_0TargetTest.cpp"], static_libs: ["android.hardware.dumpstate@1.0"], - test_suites: ["general-tests"], + test_suites: ["general-tests", "vts-core"], } diff --git a/dumpstate/1.0/vts/functional/VtsHalDumpstateV1_0TargetTest.cpp b/dumpstate/1.0/vts/functional/VtsHalDumpstateV1_0TargetTest.cpp index 57ebf2a888..96b13c5c38 100644 --- a/dumpstate/1.0/vts/functional/VtsHalDumpstateV1_0TargetTest.cpp +++ b/dumpstate/1.0/vts/functional/VtsHalDumpstateV1_0TargetTest.cpp @@ -21,32 +21,19 @@ #include #include +#include +#include +#include #include -#include -#include - using ::android::hardware::dumpstate::V1_0::IDumpstateDevice; using ::android::hardware::Return; using ::android::sp; -// Test environment for Dumpstate HIDL HAL. -class DumpstateHidlEnvironment : public ::testing::VtsHalHidlTargetTestEnvBase { - public: - // get the test environment singleton - static DumpstateHidlEnvironment* Instance() { - static DumpstateHidlEnvironment* instance = new DumpstateHidlEnvironment; - return instance; - } - - virtual void registerTestServices() override { registerTestService(); } -}; - -class DumpstateHidlTest : public ::testing::VtsHalHidlTargetTestBase { - public: +class DumpstateHidlTest : public ::testing::TestWithParam { + public: virtual void SetUp() override { - dumpstate = ::testing::VtsHalHidlTargetTestBase::getService( - DumpstateHidlEnvironment::Instance()->getServiceName()); + dumpstate = IDumpstateDevice::getService(GetParam()); ASSERT_NE(dumpstate, nullptr) << "Could not get HIDL instance"; } @@ -54,14 +41,14 @@ class DumpstateHidlTest : public ::testing::VtsHalHidlTargetTestBase { }; // Negative test: make sure dumpstateBoard() doesn't crash when passed a null pointer. -TEST_F(DumpstateHidlTest, TestNullHandle) { +TEST_P(DumpstateHidlTest, TestNullHandle) { Return status = dumpstate->dumpstateBoard(nullptr); ASSERT_TRUE(status.isOk()) << "Status should be ok: " << status.description(); } // Negative test: make sure dumpstateBoard() ignores a handle with no FD. -TEST_F(DumpstateHidlTest, TestHandleWithNoFd) { +TEST_P(DumpstateHidlTest, TestHandleWithNoFd) { native_handle_t* handle = native_handle_create(0, 0); ASSERT_NE(handle, nullptr) << "Could not create native_handle"; @@ -74,7 +61,7 @@ TEST_F(DumpstateHidlTest, TestHandleWithNoFd) { } // Positive test: make sure dumpstateBoard() writes something to the FD. -TEST_F(DumpstateHidlTest, TestOk) { +TEST_P(DumpstateHidlTest, TestOk) { // Index 0 corresponds to the read end of the pipe; 1 to the write end. int fds[2]; ASSERT_EQ(0, pipe2(fds, O_NONBLOCK)) << errno; @@ -94,7 +81,7 @@ TEST_F(DumpstateHidlTest, TestOk) { } // Positive test: make sure dumpstateBoard() doesn't crash with two FDs. -TEST_F(DumpstateHidlTest, TestHandleWithTwoFds) { +TEST_P(DumpstateHidlTest, TestHandleWithTwoFds) { int fds1[2]; int fds2[2]; ASSERT_EQ(0, pipe2(fds1, O_NONBLOCK)) << errno; @@ -111,11 +98,7 @@ TEST_F(DumpstateHidlTest, TestHandleWithTwoFds) { native_handle_close(handle); } -int main(int argc, char** argv) { - ::testing::AddGlobalTestEnvironment(DumpstateHidlEnvironment::Instance()); - ::testing::InitGoogleTest(&argc, argv); - DumpstateHidlEnvironment::Instance()->init(&argc, argv); - int status = RUN_ALL_TESTS(); - ALOGI("Test result = %d", status); - return status; -} +INSTANTIATE_TEST_SUITE_P( + PerInstance, DumpstateHidlTest, + testing::ValuesIn(android::hardware::getAllHalInstanceNames(IDumpstateDevice::descriptor)), + android::hardware::PrintInstanceNameToString);