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

Commit 32cbe3ed authored by Zhuoyao Zhang's avatar Zhuoyao Zhang
Browse files

Convert soundtrigger hal test to use VtsHalHidlTargetTestEnvBase

Bug: 64203181
Test: make vts
      vts-tradefed run vts -m VtsHalSoundtriggerV2_0Target
      vts-tradefed run vts -m VtsHalSoundtriggerV2_1Target

Change-Id: I747d674e4c0016cd8a1c373c8d7f744a022a98d8
parent 9cdd6f95
Loading
Loading
Loading
Loading
+24 −17
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@
#include <android/hardware/soundtrigger/2.0/types.h>

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

#define SHORT_TIMEOUT_PERIOD (1)

@@ -85,12 +86,27 @@ class Monitor {
  int mCount;
};

// Test environment for SoundTrigger HIDL HAL.
class SoundTriggerHidlEnvironment : public ::testing::VtsHalHidlTargetTestEnvBase {
   public:
    // get the test environment singleton
    static SoundTriggerHidlEnvironment* Instance() {
        static SoundTriggerHidlEnvironment* instance = new SoundTriggerHidlEnvironment;
        return instance;
    }

    virtual void registerTestServices() override { registerTestService<ISoundTriggerHw>(); }

   private:
    SoundTriggerHidlEnvironment() {}
};

// The main test class for Sound Trigger HIDL HAL.
class SoundTriggerHidlTest : public ::testing::VtsHalHidlTargetTestBase {
 public:
  virtual void SetUp() override {
      mSoundTriggerHal =
          ::testing::VtsHalHidlTargetTestBase::getService<ISoundTriggerHw>();
      mSoundTriggerHal = ::testing::VtsHalHidlTargetTestBase::getService<ISoundTriggerHw>(
          SoundTriggerHidlEnvironment::Instance()->getServiceName<ISoundTriggerHw>());
      ASSERT_NE(nullptr, mSoundTriggerHal.get());
      mCallback = new SoundTriggerHwCallback(*this);
      ASSERT_NE(nullptr, mCallback.get());
@@ -142,15 +158,6 @@ class SoundTriggerHidlTest : public ::testing::VtsHalHidlTargetTestBase {
  sp<SoundTriggerHwCallback> mCallback;
};

// A class for test environment setup (kept since this file is a template).
class SoundTriggerHidlEnvironment : public ::testing::Environment {
 public:
  virtual void SetUp() {}
  virtual void TearDown() {}

 private:
};

/**
 * Test ISoundTriggerHw::getProperties() method
 *
@@ -318,10 +325,10 @@ TEST_F(SoundTriggerHidlTest, stopAllRecognitions) {
    EXPECT_TRUE(hidlReturn == 0 || hidlReturn == -ENOSYS);
}


int main(int argc, char** argv) {
  ::testing::AddGlobalTestEnvironment(new SoundTriggerHidlEnvironment);
    ::testing::AddGlobalTestEnvironment(SoundTriggerHidlEnvironment::Instance());
    ::testing::InitGoogleTest(&argc, argv);
    SoundTriggerHidlEnvironment::Instance()->init(&argc, argv);
    int status = RUN_ALL_TESTS();
    ALOGI("Test result = %d", status);
    return status;
+27 −1
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@
#include <hidlmemory/mapping.h>

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

#define SHORT_TIMEOUT_PERIOD (1)

@@ -93,11 +94,27 @@ class Monitor {
    int mCount;
};

// Test environment for SoundTrigger HIDL HAL.
class SoundTriggerHidlEnvironment : public ::testing::VtsHalHidlTargetTestEnvBase {
   public:
    // get the test environment singleton
    static SoundTriggerHidlEnvironment* Instance() {
        static SoundTriggerHidlEnvironment* instance = new SoundTriggerHidlEnvironment;
        return instance;
    }

    virtual void registerTestServices() override { registerTestService<ISoundTriggerHw>(); }

   private:
    SoundTriggerHidlEnvironment() {}
};

// The main test class for Sound Trigger HIDL HAL.
class SoundTriggerHidlTest : public ::testing::VtsHalHidlTargetTestBase {
   public:
    virtual void SetUp() override {
        mSoundTriggerHal = ::testing::VtsHalHidlTargetTestBase::getService<ISoundTriggerHw>();
        mSoundTriggerHal = ::testing::VtsHalHidlTargetTestBase::getService<ISoundTriggerHw>(
            SoundTriggerHidlEnvironment::Instance()->getServiceName<ISoundTriggerHw>());
        ASSERT_NE(nullptr, mSoundTriggerHal.get());
        mCallback = new SoundTriggerHwCallback(*this);
        ASSERT_NE(nullptr, mCallback.get());
@@ -480,3 +497,12 @@ TEST_F(SoundTriggerHidlTest, stopAllRecognitions) {
    EXPECT_TRUE(hidlReturn.isOk());
    EXPECT_TRUE(hidlReturn == 0 || hidlReturn == -ENOSYS);
}

int main(int argc, char** argv) {
    ::testing::AddGlobalTestEnvironment(SoundTriggerHidlEnvironment::Instance());
    ::testing::InitGoogleTest(&argc, argv);
    SoundTriggerHidlEnvironment::Instance()->init(&argc, argv);
    int status = RUN_ALL_TESTS();
    ALOGI("Test result = %d", status);
    return status;
}