diff --git a/light/2.0/vts/functional/VtsHalLightV2_0TargetTest.cpp b/light/2.0/vts/functional/VtsHalLightV2_0TargetTest.cpp index 71a8b4e5f2..7abb6e71f3 100644 --- a/light/2.0/vts/functional/VtsHalLightV2_0TargetTest.cpp +++ b/light/2.0/vts/functional/VtsHalLightV2_0TargetTest.cpp @@ -37,31 +37,6 @@ using ::android::sp; #define ASSERT_OK(ret) ASSERT_TRUE(ret.isOk()) #define EXPECT_OK(ret) EXPECT_TRUE(ret.isOk()) -class LightHidlTest : public ::testing::Test { -public: - virtual void SetUp() override { - light = ILight::getService(); - - ASSERT_NE(light, nullptr); - LOG(INFO) << "Test is remote " << light->isRemote(); - - ASSERT_OK(light->getSupportedTypes([this](const hidl_vec &types) { - supportedTypes = types; - })); - } - - virtual void TearDown() override {} - - sp light; - std::vector supportedTypes; -}; - -class LightHidlEnvironment : public ::testing::Environment { -public: - virtual void SetUp() {} - virtual void TearDown() {} -}; - const static LightState kWhite = { .color = 0xFFFFFFFF, .flashMode = Flash::TIMED, @@ -97,6 +72,41 @@ const static std::set kAllTypes = { Type::WIFI }; +class LightHidlTest : public ::testing::Test { +public: + virtual void SetUp() override { + light = ILight::getService(); + + ASSERT_NE(light, nullptr); + LOG(INFO) << "Test is remote " << light->isRemote(); + + ASSERT_OK(light->getSupportedTypes([this](const hidl_vec &types) { + supportedTypes = types; + })); + } + + sp light; + std::vector supportedTypes; + + virtual void TearDown() override { + for (const Type& type: supportedTypes) { + Return ret = light->setLight(type, kOff); + EXPECT_OK(ret); + EXPECT_EQ(Status::SUCCESS, static_cast(ret)); + } + + // must leave the device in a useable condition + if (std::find(supportedTypes.begin(), + supportedTypes.end(), + Type::BACKLIGHT) != supportedTypes.end()) { + Return ret = light->setLight(Type::BACKLIGHT, kWhite); + EXPECT_OK(ret); + EXPECT_EQ(Status::SUCCESS, static_cast(ret)); + } + } + +}; + /** * Ensure all lights which are reported as supported work. */ @@ -106,12 +116,6 @@ TEST_F(LightHidlTest, TestSupported) { EXPECT_OK(ret); EXPECT_EQ(Status::SUCCESS, static_cast(ret)); } - - for (const Type& type: supportedTypes) { - Return ret = light->setLight(type, kOff); - EXPECT_OK(ret); - EXPECT_EQ(Status::SUCCESS, static_cast(ret)); - } } /** @@ -126,12 +130,6 @@ TEST_F(LightHidlTest, TestLowPersistance) { EXPECT_TRUE(Status::SUCCESS == status || Status::BRIGHTNESS_NOT_SUPPORTED == status); } - - for (const Type& type: supportedTypes) { - Return ret = light->setLight(type, kOff); - EXPECT_OK(ret); - EXPECT_EQ(Status::SUCCESS, static_cast(ret)); - } } /** @@ -151,7 +149,6 @@ TEST_F(LightHidlTest, TestUnsupported) { } int main(int argc, char **argv) { - ::testing::AddGlobalTestEnvironment(new LightHidlEnvironment); ::testing::InitGoogleTest(&argc, argv); int status = RUN_ALL_TESTS(); LOG(INFO) << "Test result = " << status;