diff --git a/cas/1.0/vts/functional/VtsHalCasV1_0TargetTest.cpp b/cas/1.0/vts/functional/VtsHalCasV1_0TargetTest.cpp index d3b0f1da3b..1218307918 100644 --- a/cas/1.0/vts/functional/VtsHalCasV1_0TargetTest.cpp +++ b/cas/1.0/vts/functional/VtsHalCasV1_0TargetTest.cpp @@ -17,6 +17,7 @@ #define LOG_TAG "mediacas_hidl_hal_test" #include +#include #include #include #include @@ -206,10 +207,23 @@ void MediaCasListener::testEventEcho(sp& mediaCas, int32_t& event, int32_t EXPECT_TRUE(mEventData == eventData); } +// Test environment for Cas HIDL HAL. +class CasHidlEnvironment : public ::testing::VtsHalHidlTargetTestEnvBase { + public: + // get the test environment singleton + static CasHidlEnvironment* Instance() { + static CasHidlEnvironment* instance = new CasHidlEnvironment; + return instance; + } + + virtual void registerTestServices() override { registerTestService(); } +}; + class MediaCasHidlTest : public ::testing::VtsHalHidlTargetTestBase { public: virtual void SetUp() override { - mService = ::testing::VtsHalHidlTargetTestBase::getService(); + mService = ::testing::VtsHalHidlTargetTestBase::getService( + CasHidlEnvironment::Instance()->getServiceName()); ASSERT_NE(mService, nullptr); } @@ -616,7 +630,9 @@ TEST_F(MediaCasHidlTest, TestClearKeyErrors) { } // anonymous namespace int main(int argc, char** argv) { + ::testing::AddGlobalTestEnvironment(CasHidlEnvironment::Instance()); ::testing::InitGoogleTest(&argc, argv); + CasHidlEnvironment::Instance()->init(&argc, argv); int status = RUN_ALL_TESTS(); LOG(INFO) << "Test result = " << status; return status;