Loading vibrator/aidl/vts/VtsHalVibratorTargetTest.cpp +135 −123 Original line number Diff line number Diff line Loading @@ -109,6 +109,11 @@ class VibratorAidl : public testing::TestWithParam<std::tuple<int32_t, int32_t>> ASSERT_TRUE(vibrator->getCapabilities(&capabilities).isOk()); } virtual void TearDown() override { // Reset vibrator state between tests. EXPECT_TRUE(vibrator->off().isOk()); } sp<IVibrator> vibrator; int32_t capabilities; }; Loading Loading @@ -429,7 +434,10 @@ TEST_P(VibratorAidl, GetPrimitiveDuration) { } TEST_P(VibratorAidl, ComposeValidPrimitives) { if (capabilities & IVibrator::CAP_COMPOSE_EFFECTS) { if (!(capabilities & IVibrator::CAP_COMPOSE_EFFECTS)) { GTEST_SKIP() << "CAP_COMPOSE_EFFECTS not supported"; } std::vector<CompositePrimitive> supported; int32_t maxDelay, maxSize; Loading @@ -448,21 +456,21 @@ TEST_P(VibratorAidl, ComposeValidPrimitives) { composite.emplace_back(effect); if (composite.size() == maxSize) { EXPECT_EQ(Status::EX_NONE, vibrator->compose(composite, nullptr).exceptionCode()); composite.clear(); vibrator->off(); break; } } if (composite.size() != 0) { EXPECT_EQ(Status::EX_NONE, vibrator->compose(composite, nullptr).exceptionCode()); vibrator->off(); } EXPECT_TRUE(vibrator->off().isOk()); } } TEST_P(VibratorAidl, ComposeUnsupportedPrimitives) { if (capabilities & IVibrator::CAP_COMPOSE_EFFECTS) { if (!(capabilities & IVibrator::CAP_COMPOSE_EFFECTS)) { GTEST_SKIP() << "CAP_COMPOSE_EFFECTS not supported"; } auto unsupported = kInvalidPrimitives; std::vector<CompositePrimitive> supported; Loading @@ -487,13 +495,14 @@ TEST_P(VibratorAidl, ComposeUnsupportedPrimitives) { } Status status = vibrator->compose(composite, nullptr); EXPECT_TRUE(isUnknownOrUnsupported(status)) << status; vibrator->off(); } } } TEST_P(VibratorAidl, ComposeScaleBoundary) { if (capabilities & IVibrator::CAP_COMPOSE_EFFECTS) { if (!(capabilities & IVibrator::CAP_COMPOSE_EFFECTS)) { GTEST_SKIP() << "CAP_COMPOSE_EFFECTS not supported"; } std::vector<CompositeEffect> composite(1); CompositeEffect& effect = composite[0]; Loading @@ -501,25 +510,25 @@ TEST_P(VibratorAidl, ComposeScaleBoundary) { effect.primitive = CompositePrimitive::CLICK; effect.scale = std::nextafter(0.0f, -1.0f); EXPECT_EQ(Status::EX_ILLEGAL_ARGUMENT, vibrator->compose(composite, nullptr).exceptionCode()); EXPECT_EQ(Status::EX_ILLEGAL_ARGUMENT, vibrator->compose(composite, nullptr).exceptionCode()); effect.scale = 0.0f; EXPECT_EQ(Status::EX_NONE, vibrator->compose(composite, nullptr).exceptionCode()); EXPECT_TRUE(vibrator->off().isOk()); effect.scale = 1.0f; EXPECT_EQ(Status::EX_NONE, vibrator->compose(composite, nullptr).exceptionCode()); EXPECT_TRUE(vibrator->off().isOk()); effect.scale = std::nextafter(1.0f, 2.0f); EXPECT_EQ(Status::EX_ILLEGAL_ARGUMENT, vibrator->compose(composite, nullptr).exceptionCode()); vibrator->off(); } EXPECT_EQ(Status::EX_ILLEGAL_ARGUMENT, vibrator->compose(composite, nullptr).exceptionCode()); } TEST_P(VibratorAidl, ComposeDelayBoundary) { if (capabilities & IVibrator::CAP_COMPOSE_EFFECTS) { if (!(capabilities & IVibrator::CAP_COMPOSE_EFFECTS)) { GTEST_SKIP() << "CAP_COMPOSE_EFFECTS not supported"; } int32_t maxDelay; EXPECT_EQ(Status::EX_NONE, vibrator->getCompositionDelayMax(&maxDelay).exceptionCode()); Loading @@ -533,18 +542,19 @@ TEST_P(VibratorAidl, ComposeDelayBoundary) { std::fill(composite.begin(), composite.end(), effect); EXPECT_EQ(Status::EX_NONE, vibrator->compose(composite, nullptr).exceptionCode()); EXPECT_TRUE(vibrator->off().isOk()); effect.delayMs = maxDelay + 1; std::fill(composite.begin(), composite.end(), effect); EXPECT_EQ(Status::EX_ILLEGAL_ARGUMENT, vibrator->compose(composite, nullptr).exceptionCode()); vibrator->off(); } EXPECT_EQ(Status::EX_ILLEGAL_ARGUMENT, vibrator->compose(composite, nullptr).exceptionCode()); } TEST_P(VibratorAidl, ComposeSizeBoundary) { if (capabilities & IVibrator::CAP_COMPOSE_EFFECTS) { if (!(capabilities & IVibrator::CAP_COMPOSE_EFFECTS)) { GTEST_SKIP() << "CAP_COMPOSE_EFFECTS not supported"; } int32_t maxSize; EXPECT_EQ(Status::EX_NONE, vibrator->getCompositionSizeMax(&maxSize).exceptionCode()); Loading @@ -558,16 +568,17 @@ TEST_P(VibratorAidl, ComposeSizeBoundary) { std::fill(composite.begin(), composite.end(), effect); EXPECT_EQ(Status::EX_NONE, vibrator->compose(composite, nullptr).exceptionCode()); EXPECT_TRUE(vibrator->off().isOk()); composite.emplace_back(effect); EXPECT_EQ(Status::EX_ILLEGAL_ARGUMENT, vibrator->compose(composite, nullptr).exceptionCode()); vibrator->off(); } EXPECT_EQ(Status::EX_ILLEGAL_ARGUMENT, vibrator->compose(composite, nullptr).exceptionCode()); } TEST_P(VibratorAidl, ComposeCallback) { if (capabilities & IVibrator::CAP_COMPOSE_EFFECTS) { if (!(capabilities & IVibrator::CAP_COMPOSE_EFFECTS)) { GTEST_SKIP() << "CAP_COMPOSE_EFFECTS not supported"; } std::vector<CompositePrimitive> supported; ASSERT_TRUE(vibrator->getSupportedPrimitives(&supported).isOk()); Loading Loading @@ -611,7 +622,8 @@ TEST_P(VibratorAidl, ComposeCallback) { elapsed = std::chrono::duration_cast<std::chrono::milliseconds>(end - start); EXPECT_GE(elapsed.count(), duration.count()) << toString(primitive); } EXPECT_TRUE(vibrator->off().isOk()); } } Loading Loading
vibrator/aidl/vts/VtsHalVibratorTargetTest.cpp +135 −123 Original line number Diff line number Diff line Loading @@ -109,6 +109,11 @@ class VibratorAidl : public testing::TestWithParam<std::tuple<int32_t, int32_t>> ASSERT_TRUE(vibrator->getCapabilities(&capabilities).isOk()); } virtual void TearDown() override { // Reset vibrator state between tests. EXPECT_TRUE(vibrator->off().isOk()); } sp<IVibrator> vibrator; int32_t capabilities; }; Loading Loading @@ -429,7 +434,10 @@ TEST_P(VibratorAidl, GetPrimitiveDuration) { } TEST_P(VibratorAidl, ComposeValidPrimitives) { if (capabilities & IVibrator::CAP_COMPOSE_EFFECTS) { if (!(capabilities & IVibrator::CAP_COMPOSE_EFFECTS)) { GTEST_SKIP() << "CAP_COMPOSE_EFFECTS not supported"; } std::vector<CompositePrimitive> supported; int32_t maxDelay, maxSize; Loading @@ -448,21 +456,21 @@ TEST_P(VibratorAidl, ComposeValidPrimitives) { composite.emplace_back(effect); if (composite.size() == maxSize) { EXPECT_EQ(Status::EX_NONE, vibrator->compose(composite, nullptr).exceptionCode()); composite.clear(); vibrator->off(); break; } } if (composite.size() != 0) { EXPECT_EQ(Status::EX_NONE, vibrator->compose(composite, nullptr).exceptionCode()); vibrator->off(); } EXPECT_TRUE(vibrator->off().isOk()); } } TEST_P(VibratorAidl, ComposeUnsupportedPrimitives) { if (capabilities & IVibrator::CAP_COMPOSE_EFFECTS) { if (!(capabilities & IVibrator::CAP_COMPOSE_EFFECTS)) { GTEST_SKIP() << "CAP_COMPOSE_EFFECTS not supported"; } auto unsupported = kInvalidPrimitives; std::vector<CompositePrimitive> supported; Loading @@ -487,13 +495,14 @@ TEST_P(VibratorAidl, ComposeUnsupportedPrimitives) { } Status status = vibrator->compose(composite, nullptr); EXPECT_TRUE(isUnknownOrUnsupported(status)) << status; vibrator->off(); } } } TEST_P(VibratorAidl, ComposeScaleBoundary) { if (capabilities & IVibrator::CAP_COMPOSE_EFFECTS) { if (!(capabilities & IVibrator::CAP_COMPOSE_EFFECTS)) { GTEST_SKIP() << "CAP_COMPOSE_EFFECTS not supported"; } std::vector<CompositeEffect> composite(1); CompositeEffect& effect = composite[0]; Loading @@ -501,25 +510,25 @@ TEST_P(VibratorAidl, ComposeScaleBoundary) { effect.primitive = CompositePrimitive::CLICK; effect.scale = std::nextafter(0.0f, -1.0f); EXPECT_EQ(Status::EX_ILLEGAL_ARGUMENT, vibrator->compose(composite, nullptr).exceptionCode()); EXPECT_EQ(Status::EX_ILLEGAL_ARGUMENT, vibrator->compose(composite, nullptr).exceptionCode()); effect.scale = 0.0f; EXPECT_EQ(Status::EX_NONE, vibrator->compose(composite, nullptr).exceptionCode()); EXPECT_TRUE(vibrator->off().isOk()); effect.scale = 1.0f; EXPECT_EQ(Status::EX_NONE, vibrator->compose(composite, nullptr).exceptionCode()); EXPECT_TRUE(vibrator->off().isOk()); effect.scale = std::nextafter(1.0f, 2.0f); EXPECT_EQ(Status::EX_ILLEGAL_ARGUMENT, vibrator->compose(composite, nullptr).exceptionCode()); vibrator->off(); } EXPECT_EQ(Status::EX_ILLEGAL_ARGUMENT, vibrator->compose(composite, nullptr).exceptionCode()); } TEST_P(VibratorAidl, ComposeDelayBoundary) { if (capabilities & IVibrator::CAP_COMPOSE_EFFECTS) { if (!(capabilities & IVibrator::CAP_COMPOSE_EFFECTS)) { GTEST_SKIP() << "CAP_COMPOSE_EFFECTS not supported"; } int32_t maxDelay; EXPECT_EQ(Status::EX_NONE, vibrator->getCompositionDelayMax(&maxDelay).exceptionCode()); Loading @@ -533,18 +542,19 @@ TEST_P(VibratorAidl, ComposeDelayBoundary) { std::fill(composite.begin(), composite.end(), effect); EXPECT_EQ(Status::EX_NONE, vibrator->compose(composite, nullptr).exceptionCode()); EXPECT_TRUE(vibrator->off().isOk()); effect.delayMs = maxDelay + 1; std::fill(composite.begin(), composite.end(), effect); EXPECT_EQ(Status::EX_ILLEGAL_ARGUMENT, vibrator->compose(composite, nullptr).exceptionCode()); vibrator->off(); } EXPECT_EQ(Status::EX_ILLEGAL_ARGUMENT, vibrator->compose(composite, nullptr).exceptionCode()); } TEST_P(VibratorAidl, ComposeSizeBoundary) { if (capabilities & IVibrator::CAP_COMPOSE_EFFECTS) { if (!(capabilities & IVibrator::CAP_COMPOSE_EFFECTS)) { GTEST_SKIP() << "CAP_COMPOSE_EFFECTS not supported"; } int32_t maxSize; EXPECT_EQ(Status::EX_NONE, vibrator->getCompositionSizeMax(&maxSize).exceptionCode()); Loading @@ -558,16 +568,17 @@ TEST_P(VibratorAidl, ComposeSizeBoundary) { std::fill(composite.begin(), composite.end(), effect); EXPECT_EQ(Status::EX_NONE, vibrator->compose(composite, nullptr).exceptionCode()); EXPECT_TRUE(vibrator->off().isOk()); composite.emplace_back(effect); EXPECT_EQ(Status::EX_ILLEGAL_ARGUMENT, vibrator->compose(composite, nullptr).exceptionCode()); vibrator->off(); } EXPECT_EQ(Status::EX_ILLEGAL_ARGUMENT, vibrator->compose(composite, nullptr).exceptionCode()); } TEST_P(VibratorAidl, ComposeCallback) { if (capabilities & IVibrator::CAP_COMPOSE_EFFECTS) { if (!(capabilities & IVibrator::CAP_COMPOSE_EFFECTS)) { GTEST_SKIP() << "CAP_COMPOSE_EFFECTS not supported"; } std::vector<CompositePrimitive> supported; ASSERT_TRUE(vibrator->getSupportedPrimitives(&supported).isOk()); Loading Loading @@ -611,7 +622,8 @@ TEST_P(VibratorAidl, ComposeCallback) { elapsed = std::chrono::duration_cast<std::chrono::milliseconds>(end - start); EXPECT_GE(elapsed.count(), duration.count()) << toString(primitive); } EXPECT_TRUE(vibrator->off().isOk()); } } Loading