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

Commit f7b69650 authored by Dan Shi's avatar Dan Shi Committed by android-build-merger
Browse files

Merge "Convert VtsHalPowerV1_*TargetTest to be parameterized test" am: 6ba951f6 am: 64e82b00

am: 753fab31

Change-Id: Icd6a69df49e474e302eb4cba1582d0bf76c57567
parents a048e349 753fab31
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -19,5 +19,5 @@ cc_test {
    defaults: ["VtsHalTargetTestDefaults"],
    srcs: ["VtsHalPowerV1_0TargetTest.cpp"],
    static_libs: ["android.hardware.power@1.0"],
    test_suites: ["general-tests"],
    test_suites: ["general-tests", "vts-core"],
}
+14 −31
Original line number Diff line number Diff line
@@ -21,9 +21,9 @@

#include <android-base/unique_fd.h>
#include <android/hardware/power/1.0/IPower.h>

#include <VtsHalHidlTargetTestBase.h>
#include <VtsHalHidlTargetTestEnvBase.h>
#include <gtest/gtest.h>
#include <hidl/GtestPrinter.h>
#include <hidl/ServiceManagement.h>

#include <fcntl.h>
#include <algorithm>
@@ -45,23 +45,10 @@ using std::vector;
#define AVAILABLE_GOVERNORS_PATH \
  "/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors"

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

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

class PowerHidlTest : public ::testing::VtsHalHidlTargetTestBase {
class PowerHidlTest : public testing::TestWithParam<std::string> {
 public:
  virtual void SetUp() override {
      power = ::testing::VtsHalHidlTargetTestBase::getService<IPower>(
          PowerHidlEnvironment::Instance()->getServiceName<IPower>());
      power = IPower::getService(GetParam());
      ASSERT_NE(power, nullptr);
  }

@@ -71,7 +58,7 @@ class PowerHidlTest : public ::testing::VtsHalHidlTargetTestBase {
};

// Sanity check Power::setInteractive.
TEST_F(PowerHidlTest, SetInteractive) {
TEST_P(PowerHidlTest, SetInteractive) {
  Return<void> ret;

  ret = power->setInteractive(true);
@@ -83,7 +70,7 @@ TEST_F(PowerHidlTest, SetInteractive) {

// Test Power::setInteractive and Power::powerHint(Launch)
// with each available CPU governor, if available
TEST_F(PowerHidlTest, TryDifferentGovernors) {
TEST_P(PowerHidlTest, TryDifferentGovernors) {
  Return<void> ret;

  unique_fd fd1(open(CPU_GOVERNOR_PATH, O_RDWR));
@@ -125,7 +112,7 @@ TEST_F(PowerHidlTest, TryDifferentGovernors) {
}

// Sanity check Power::powerHint on good and bad inputs.
TEST_F(PowerHidlTest, PowerHint) {
TEST_P(PowerHidlTest, PowerHint) {
  PowerHint badHint = static_cast<PowerHint>(0xA);
  auto hints = {PowerHint::VSYNC,         PowerHint::INTERACTION,
                PowerHint::VIDEO_ENCODE,  PowerHint::VIDEO_DECODE,
@@ -163,7 +150,7 @@ TEST_F(PowerHidlTest, PowerHint) {
}

// Sanity check Power::setFeature() on good and bad inputs.
TEST_F(PowerHidlTest, SetFeature) {
TEST_P(PowerHidlTest, SetFeature) {
  Return<void> ret;
  ret = power->setFeature(Feature::POWER_FEATURE_DOUBLE_TAP_TO_WAKE, true);
  ASSERT_TRUE(ret.isOk());
@@ -178,7 +165,7 @@ TEST_F(PowerHidlTest, SetFeature) {
}

// Sanity check Power::getPlatformLowPowerStats().
TEST_F(PowerHidlTest, GetPlatformLowPowerStats) {
TEST_P(PowerHidlTest, GetPlatformLowPowerStats) {
  hidl_vec<PowerStatePlatformSleepState> vec;
  Status s;
  auto cb = [&vec, &s](hidl_vec<PowerStatePlatformSleepState> states,
@@ -191,11 +178,7 @@ TEST_F(PowerHidlTest, GetPlatformLowPowerStats) {
  ASSERT_TRUE(s == Status::SUCCESS || s == Status::FILESYSTEM_ERROR);
}

int main(int argc, char **argv) {
    ::testing::AddGlobalTestEnvironment(PowerHidlEnvironment::Instance());
    ::testing::InitGoogleTest(&argc, argv);
    PowerHidlEnvironment::Instance()->init(&argc, argv);
    int status = RUN_ALL_TESTS();
    LOG(INFO) << "Test result = " << status;
    return status;
}
INSTANTIATE_TEST_SUITE_P(
        PerInstance, PowerHidlTest,
        testing::ValuesIn(android::hardware::getAllHalInstanceNames(IPower::descriptor)),
        android::hardware::PrintInstanceNameToString);
+1 −1
Original line number Diff line number Diff line
@@ -22,5 +22,5 @@ cc_test {
        "android.hardware.power@1.0",
        "android.hardware.power@1.1",
    ],
    test_suites: ["general-tests"],
    test_suites: ["general-tests", "vts-core"],
}
+11 −28
Original line number Diff line number Diff line
@@ -17,9 +17,9 @@
#define LOG_TAG "power_hidl_hal_test"
#include <android-base/logging.h>
#include <android/hardware/power/1.1/IPower.h>

#include <VtsHalHidlTargetTestBase.h>
#include <VtsHalHidlTargetTestEnvBase.h>
#include <gtest/gtest.h>
#include <hidl/GtestPrinter.h>
#include <hidl/ServiceManagement.h>

using ::android::hardware::power::V1_1::IPower;
using ::android::hardware::power::V1_1::PowerStateSubsystem;
@@ -29,23 +29,10 @@ using ::android::hardware::hidl_vec;
using ::android::hardware::Return;
using ::android::sp;

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

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

class PowerHidlTest : public ::testing::VtsHalHidlTargetTestBase {
class PowerHidlTest : public testing::TestWithParam<std::string> {
 public:
  virtual void SetUp() override {
      power = ::testing::VtsHalHidlTargetTestBase::getService<IPower>(
          PowerHidlEnvironment::Instance()->getServiceName<IPower>());
      power = IPower::getService(GetParam());
      ASSERT_NE(power, nullptr);
  }

@@ -55,7 +42,7 @@ class PowerHidlTest : public ::testing::VtsHalHidlTargetTestBase {
};

// Sanity check Power::getSubsystemLowPowerStats().
TEST_F(PowerHidlTest, GetSubsystemLowPowerStats) {
TEST_P(PowerHidlTest, GetSubsystemLowPowerStats) {
  hidl_vec<PowerStateSubsystem> vec;
  Status s;
  auto cb = [&vec, &s](hidl_vec<PowerStateSubsystem> subsystems,
@@ -70,7 +57,7 @@ TEST_F(PowerHidlTest, GetSubsystemLowPowerStats) {
}

// Sanity check Power::powerHintAsync on good and bad inputs.
TEST_F(PowerHidlTest, PowerHintAsync) {
TEST_P(PowerHidlTest, PowerHintAsync) {
    PowerHint badHint = static_cast<PowerHint>(0xA);
    auto hints = {PowerHint::VSYNC,        PowerHint::INTERACTION, PowerHint::VIDEO_ENCODE,
                  PowerHint::VIDEO_DECODE, PowerHint::LOW_POWER,   PowerHint::SUSTAINED_PERFORMANCE,
@@ -104,11 +91,7 @@ TEST_F(PowerHidlTest, PowerHintAsync) {
    } while (std::next_permutation(hints2.begin(), hints2.end(), compareHints));
}

int main(int argc, char **argv) {
    ::testing::AddGlobalTestEnvironment(PowerHidlEnvironment::Instance());
    ::testing::InitGoogleTest(&argc, argv);
    PowerHidlEnvironment::Instance()->init(&argc, argv);
    int status = RUN_ALL_TESTS();
    LOG(INFO) << "Test result = " << status;
    return status;
}
INSTANTIATE_TEST_SUITE_P(
        PerInstance, PowerHidlTest,
        testing::ValuesIn(android::hardware::getAllHalInstanceNames(IPower::descriptor)),
        android::hardware::PrintInstanceNameToString);
+1 −1
Original line number Diff line number Diff line
@@ -23,5 +23,5 @@ cc_test {
        "android.hardware.power@1.1",
        "android.hardware.power@1.2",
    ],
    test_suites: ["general-tests"],
    test_suites: ["general-tests", "vts-core"],
}
Loading