From 7e1c2896adbb64aa4e975b15beb7796b7f3cb9bb Mon Sep 17 00:00:00 2001 From: Zhuoyao Zhang Date: Thu, 8 Feb 2018 21:13:22 -0800 Subject: [PATCH] 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 --- .../VtsHalVibratorV1_0TargetTest.cpp | 34 ++++++++++++------- .../VtsHalVibratorV1_1TargetTest.cpp | 21 +++++++++++- .../VtsHalVibratorV1_2TargetTest.cpp | 21 +++++++++++- 3 files changed, 62 insertions(+), 14 deletions(-) diff --git a/vibrator/1.0/vts/functional/VtsHalVibratorV1_0TargetTest.cpp b/vibrator/1.0/vts/functional/VtsHalVibratorV1_0TargetTest.cpp index f415ad5191..a0e927b1a0 100644 --- a/vibrator/1.0/vts/functional/VtsHalVibratorV1_0TargetTest.cpp +++ b/vibrator/1.0/vts/functional/VtsHalVibratorV1_0TargetTest.cpp @@ -19,9 +19,11 @@ #include #include #include -#include #include +#include +#include + 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(); } + + private: + VibratorHidlEnvironment() {} +}; + // The main test class for VIBRATOR HIDL HAL. class VibratorHidlTest : public ::testing::VtsHalHidlTargetTestBase { public: virtual void SetUp() override { - vibrator = ::testing::VtsHalHidlTargetTestBase::getService(); + vibrator = ::testing::VtsHalHidlTargetTestBase::getService( + VibratorHidlEnvironment::Instance()->getServiceName()); ASSERT_NE(vibrator, nullptr); } @@ -43,15 +61,6 @@ class VibratorHidlTest : public ::testing::VtsHalHidlTargetTestBase { sp 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; diff --git a/vibrator/1.1/vts/functional/VtsHalVibratorV1_1TargetTest.cpp b/vibrator/1.1/vts/functional/VtsHalVibratorV1_1TargetTest.cpp index 35000f8fbb..1a47fe9fcb 100644 --- a/vibrator/1.1/vts/functional/VtsHalVibratorV1_1TargetTest.cpp +++ b/vibrator/1.1/vts/functional/VtsHalVibratorV1_1TargetTest.cpp @@ -17,6 +17,7 @@ #define LOG_TAG "vibrator_hidl_hal_test" #include +#include #include #include #include @@ -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(); } + + 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(); + vibrator = ::testing::VtsHalHidlTargetTestBase::getService( + VibratorHidlEnvironment::Instance()->getServiceName()); 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; diff --git a/vibrator/1.2/vts/functional/VtsHalVibratorV1_2TargetTest.cpp b/vibrator/1.2/vts/functional/VtsHalVibratorV1_2TargetTest.cpp index d07d1b78e2..d8df18bbf1 100644 --- a/vibrator/1.2/vts/functional/VtsHalVibratorV1_2TargetTest.cpp +++ b/vibrator/1.2/vts/functional/VtsHalVibratorV1_2TargetTest.cpp @@ -17,6 +17,7 @@ #define LOG_TAG "vibrator_hidl_hal_test" #include +#include #include #include #include @@ -32,11 +33,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(); } + + private: + VibratorHidlEnvironment() {} +}; + // The main test class for VIBRATOR HIDL HAL 1.2. class VibratorHidlTest_1_2 : public ::testing::VtsHalHidlTargetTestBase { public: virtual void SetUp() override { - vibrator = ::testing::VtsHalHidlTargetTestBase::getService(); + vibrator = ::testing::VtsHalHidlTargetTestBase::getService( + VibratorHidlEnvironment::Instance()->getServiceName()); ASSERT_NE(vibrator, nullptr); } @@ -65,7 +82,9 @@ TEST_F(VibratorHidlTest_1_2, PerformEffect_1_2) { } 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;