Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 81cae353 authored by Zhuoyao Zhang's avatar Zhuoyao Zhang
Browse files

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 989afbaf)
parent 03086cfe
Loading
Loading
Loading
Loading
+24 −5
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@
#include <log/log.h>

#include <VtsHalHidlTargetTestBase.h>
#include <VtsHalHidlTargetTestEnvBase.h>

#include <chrono>
#include <condition_variable>
@@ -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<IGnss>(); }

 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<IGnss>();
    gnss_hal_ = ::testing::VtsHalHidlTargetTestBase::getService<IGnss>(
        GnssHidlEnvironment::Instance()->getServiceName<IGnss>());
    ASSERT_NE(gnss_hal_, nullptr);

    gnss_cb_ = new GnssCallback(*this);
@@ -449,7 +466,9 @@ 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