From 81cae353a78d5b2804069f8c2d7e1f006def088f Mon Sep 17 00:00:00 2001 From: Zhuoyao Zhang Date: Thu, 8 Feb 2018 20:53:56 -0800 Subject: [PATCH] Convert gnss hal test to use VtsHalHidlTargetTestEnvBase Bug: 64203181 Test: make vts vts-tradefed run vts -m VtsHalGnssV1_0Target Change-Id: I2d5fa6ef8f37c80c13ab33418821755f1dd2b748 Merged-In: I2d5fa6ef8f37c80c13ab33418821755f1dd2b748 (cherry picked from commit 989afbaff5d9f69dced8947ec0b16543cb74ddb6) --- .../functional/VtsHalGnssV1_0TargetTest.cpp | 29 +++++++++++++++---- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/gnss/1.0/vts/functional/VtsHalGnssV1_0TargetTest.cpp b/gnss/1.0/vts/functional/VtsHalGnssV1_0TargetTest.cpp index 91e75fe1d7..8b3185dd0d 100644 --- a/gnss/1.0/vts/functional/VtsHalGnssV1_0TargetTest.cpp +++ b/gnss/1.0/vts/functional/VtsHalGnssV1_0TargetTest.cpp @@ -19,6 +19,7 @@ #include #include +#include #include #include @@ -41,6 +42,21 @@ using android::sp; bool sAgpsIsPresent = false; // if SUPL or XTRA assistance available bool sSignalIsWeak = false; // if GNSS signals are weak (e.g. light indoor) +// Test environment for GNSS HIDL HAL. +class GnssHidlEnvironment : public ::testing::VtsHalHidlTargetTestEnvBase { + public: + // get the test environment singleton + static GnssHidlEnvironment* Instance() { + static GnssHidlEnvironment* instance = new GnssHidlEnvironment; + return instance; + } + + virtual void registerTestServices() override { registerTestService(); } + + private: + GnssHidlEnvironment() {} +}; + // The main test class for GNSS HAL. class GnssHalTest : public ::testing::VtsHalHidlTargetTestBase { public: @@ -51,7 +67,8 @@ class GnssHalTest : public ::testing::VtsHalHidlTargetTestBase { info_called_count_ = 0; notify_count_ = 0; - gnss_hal_ = ::testing::VtsHalHidlTargetTestBase::getService(); + gnss_hal_ = ::testing::VtsHalHidlTargetTestBase::getService( + GnssHidlEnvironment::Instance()->getServiceName()); ASSERT_NE(gnss_hal_, nullptr); gnss_cb_ = new GnssCallback(*this); @@ -449,17 +466,19 @@ TEST_F(GnssHalTest, MeasurementCapabilites) { } int main(int argc, char** argv) { + ::testing::AddGlobalTestEnvironment(GnssHidlEnvironment::Instance()); ::testing::InitGoogleTest(&argc, argv); + GnssHidlEnvironment::Instance()->init(&argc, argv); /* * These arguments not used by automated VTS testing. * Only for use in manual testing, when wanting to run * stronger tests that require the presence of GPS signal. */ for (int i = 1; i < argc; i++) { - if (strcmp(argv[i], "-agps") == 0) { - sAgpsIsPresent = true; - } else if (strcmp(argv[i], "-weak") == 0) { - sSignalIsWeak = true; + if (strcmp(argv[i], "-agps") == 0) { + sAgpsIsPresent = true; + } else if (strcmp(argv[i], "-weak") == 0) { + sSignalIsWeak = true; } } int status = RUN_ALL_TESTS();