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

Commit e21490f7 authored by Steven Moreland's avatar Steven Moreland Committed by android-build-merger
Browse files

Merge "vibrator: fix VTS for effects" am: d13b7577 am: 6dd798db

am: 649f8e15

Change-Id: I250d06b98e4b8069d7ba24de3849823b8aa209dc
parents 7f27c067 649f8e15
Loading
Loading
Loading
Loading
+19 −7
Original line number Diff line number Diff line
@@ -46,13 +46,13 @@ const std::vector<EffectStrength> kEffectStrengths = {EffectStrength::LIGHT, Eff
                                                      EffectStrength::STRONG};

const std::vector<Effect> kInvalidEffects = {
        static_cast<Effect>(static_cast<int32_t>(*kEffects.begin()) - 1),
        static_cast<Effect>(static_cast<int32_t>(*kEffects.end()) + 1),
        static_cast<Effect>(static_cast<int32_t>(kEffects.front()) - 1),
        static_cast<Effect>(static_cast<int32_t>(kEffects.back()) + 1),
};

const std::vector<EffectStrength> kInvalidEffectStrengths = {
        static_cast<EffectStrength>(static_cast<int8_t>(*kEffectStrengths.begin()) - 1),
        static_cast<EffectStrength>(static_cast<int8_t>(*kEffectStrengths.end()) + 1),
        static_cast<EffectStrength>(static_cast<int8_t>(kEffectStrengths.front()) - 1),
        static_cast<EffectStrength>(static_cast<int8_t>(kEffectStrengths.back()) + 1),
};

class CompletionCallback : public BnVibratorCallback {
@@ -119,10 +119,13 @@ TEST_P(VibratorAidl, ValidateEffect) {
            Status status = vibrator->perform(effect, strength, nullptr /*callback*/, &lengthMs);

            if (isEffectSupported) {
                EXPECT_TRUE(status.isOk());
                EXPECT_TRUE(status.isOk())
                        << static_cast<int>(effect) << " " << static_cast<int>(strength);
                EXPECT_GT(lengthMs, 0);
                usleep(lengthMs * 1000);
            } else {
                EXPECT_EQ(status.exceptionCode(), Status::EX_UNSUPPORTED_OPERATION);
                EXPECT_EQ(status.exceptionCode(), Status::EX_UNSUPPORTED_OPERATION)
                        << static_cast<int>(effect) << " " << static_cast<int>(strength);
                EXPECT_EQ(lengthMs, 0);
            }
        }
@@ -179,10 +182,19 @@ TEST_P(VibratorAidl, ValidateEffectWithCallbackNotSupported) {

TEST_P(VibratorAidl, InvalidEffectsUnsupported) {
    for (Effect effect : kInvalidEffects) {
        for (EffectStrength strength : kEffectStrengths) {
            int32_t lengthMs;
            Status status = vibrator->perform(effect, strength, nullptr /*callback*/, &lengthMs);
            EXPECT_EQ(status.exceptionCode(), Status::EX_UNSUPPORTED_OPERATION)
                    << static_cast<int>(effect) << " " << static_cast<int>(strength);
        }
    }
    for (Effect effect : kEffects) {
        for (EffectStrength strength : kInvalidEffectStrengths) {
            int32_t lengthMs;
            Status status = vibrator->perform(effect, strength, nullptr /*callback*/, &lengthMs);
            EXPECT_EQ(status.exceptionCode(), Status::EX_UNSUPPORTED_OPERATION);
            EXPECT_EQ(status.exceptionCode(), Status::EX_UNSUPPORTED_OPERATION)
                    << static_cast<int>(effect) << " " << static_cast<int>(strength);
        }
    }
}