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

Commit 8e27676c authored by Zhuoyao Zhang's avatar Zhuoyao Zhang
Browse files

Convert vibrator hal test to use VtsHalHidlTargetTestEnvBase

Bug: 64203181
Test: make vts
      vts-tradefed run vts -m VtsHalVibratorV1_0Target
      vts-tradefed run vts -m VtsHalVibratorV1_1Target

Change-Id: Iff6015b15c0cca93213e5afe976bd98b6cb3a13b
Merged-In: Iff6015b15c0cca93213e5afe976bd98b6cb3a13b
(cherry picked from commit 7e1c2896)
parent 03086cfe
Loading
Loading
Loading
Loading
+22 −12
Original line number Diff line number Diff line
@@ -19,9 +19,11 @@
#include <android-base/logging.h>
#include <android/hardware/vibrator/1.0/IVibrator.h>
#include <android/hardware/vibrator/1.0/types.h>
#include <VtsHalHidlTargetTestBase.h>
#include <unistd.h>

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

using ::android::hardware::vibrator::V1_0::Effect;
using ::android::hardware::vibrator::V1_0::EffectStrength;
using ::android::hardware::vibrator::V1_0::IVibrator;
@@ -30,11 +32,27 @@ using ::android::hardware::Return;
using ::android::hardware::Void;
using ::android::sp;

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

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

 private:
  VibratorHidlEnvironment() {}
};

// The main test class for VIBRATOR HIDL HAL.
class VibratorHidlTest : public ::testing::VtsHalHidlTargetTestBase {
 public:
  virtual void SetUp() override {
    vibrator = ::testing::VtsHalHidlTargetTestBase::getService<IVibrator>();
    vibrator = ::testing::VtsHalHidlTargetTestBase::getService<IVibrator>(
        VibratorHidlEnvironment::Instance()->getServiceName<IVibrator>());
    ASSERT_NE(vibrator, nullptr);
  }

@@ -43,15 +61,6 @@ class VibratorHidlTest : public ::testing::VtsHalHidlTargetTestBase {
  sp<IVibrator> vibrator;
};

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

 private:
};

static void validatePerformEffect(Status status, uint32_t lengthMs) {
  ASSERT_TRUE(status == Status::OK || status == Status::UNSUPPORTED_OPERATION);
  if (status == Status::OK) {
@@ -96,8 +105,9 @@ TEST_F(VibratorHidlTest, SetAmplitudeReturnUnsupportedOperationIfNotSupported) {
}

int main(int argc, char **argv) {
  ::testing::AddGlobalTestEnvironment(new VibratorHidlEnvironment);
  ::testing::AddGlobalTestEnvironment(VibratorHidlEnvironment::Instance());
  ::testing::InitGoogleTest(&argc, argv);
  VibratorHidlEnvironment::Instance()->init(&argc, argv);
  int status = RUN_ALL_TESTS();
  LOG(INFO) << "Test result = " << status;
  return status;
+20 −1
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
#define LOG_TAG "vibrator_hidl_hal_test"

#include <VtsHalHidlTargetTestBase.h>
#include <VtsHalHidlTargetTestEnvBase.h>
#include <android-base/logging.h>
#include <android/hardware/vibrator/1.1/IVibrator.h>
#include <android/hardware/vibrator/1.1/types.h>
@@ -31,11 +32,27 @@ using ::android::hardware::Return;
using ::android::hardware::Void;
using ::android::sp;

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

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

   private:
    VibratorHidlEnvironment() {}
};

// The main test class for VIBRATOR HIDL HAL 1.1.
class VibratorHidlTest_1_1 : public ::testing::VtsHalHidlTargetTestBase {
   public:
    virtual void SetUp() override {
        vibrator = ::testing::VtsHalHidlTargetTestBase::getService<IVibrator>();
        vibrator = ::testing::VtsHalHidlTargetTestBase::getService<IVibrator>(
            VibratorHidlEnvironment::Instance()->getServiceName<IVibrator>());
        ASSERT_NE(vibrator, nullptr);
    }

@@ -61,7 +78,9 @@ TEST_F(VibratorHidlTest_1_1, PerformEffect_1_1) {
}

int main(int argc, char** argv) {
    ::testing::AddGlobalTestEnvironment(VibratorHidlEnvironment::Instance());
    ::testing::InitGoogleTest(&argc, argv);
    VibratorHidlEnvironment::Instance()->init(&argc, argv);
    int status = RUN_ALL_TESTS();
    LOG(INFO) << "Test result = " << status;
    return status;