diff options
-rw-r--r-- | vibrator/aidl/vts/VtsHalVibratorManagerTargetTest.cpp | 25 | ||||
-rw-r--r-- | vibrator/aidl/vts/VtsHalVibratorTargetTest.cpp | 55 |
2 files changed, 46 insertions, 34 deletions
diff --git a/vibrator/aidl/vts/VtsHalVibratorManagerTargetTest.cpp b/vibrator/aidl/vts/VtsHalVibratorManagerTargetTest.cpp index 9789188858..44fa3be7ab 100644 --- a/vibrator/aidl/vts/VtsHalVibratorManagerTargetTest.cpp +++ b/vibrator/aidl/vts/VtsHalVibratorManagerTargetTest.cpp @@ -71,6 +71,11 @@ class VibratorAidl : public testing::TestWithParam<std::string> { std::vector<int32_t> vibratorIds; }; +inline bool isUnknownOrUnsupported(Status status) { + return status.exceptionCode() == Status::EX_UNSUPPORTED_OPERATION || + status.transactionError() == android::UNKNOWN_TRANSACTION; +} + TEST_P(VibratorAidl, ValidateExistingVibrators) { sp<IVibrator> vibrator; for (auto& id : vibratorIds) { @@ -101,8 +106,8 @@ TEST_P(VibratorAidl, PrepareSyncedEmptySetIsInvalid) { TEST_P(VibratorAidl, PrepareSyncedNotSupported) { if (!(capabilities & IVibratorManager::CAP_SYNC)) { - EXPECT_EQ(Status::EX_UNSUPPORTED_OPERATION, - manager->prepareSynced(vibratorIds).exceptionCode()); + Status status = manager->prepareSynced(vibratorIds); + EXPECT_TRUE(isUnknownOrUnsupported(status)) << status; } } @@ -116,8 +121,8 @@ TEST_P(VibratorAidl, PrepareOnNotSupported) { for (auto& id : vibratorIds) { EXPECT_TRUE(manager->getVibrator(id, &vibrator).isOk()); ASSERT_NE(vibrator, nullptr); - EXPECT_EQ(Status::EX_UNSUPPORTED_OPERATION, - vibrator->on(durationMs, nullptr).exceptionCode()); + Status status = vibrator->on(durationMs, nullptr); + EXPECT_TRUE(isUnknownOrUnsupported(status)) << status; } EXPECT_TRUE(manager->cancelSynced().isOk()); } @@ -134,7 +139,7 @@ TEST_P(VibratorAidl, PreparePerformNotSupported) { ASSERT_NE(vibrator, nullptr); int32_t lengthMs = 0; Status status = vibrator->perform(kEffects[0], kEffectStrengths[0], nullptr, &lengthMs); - EXPECT_EQ(Status::EX_UNSUPPORTED_OPERATION, status.exceptionCode()); + EXPECT_TRUE(isUnknownOrUnsupported(status)) << status; } EXPECT_TRUE(manager->cancelSynced().isOk()); } @@ -157,7 +162,7 @@ TEST_P(VibratorAidl, PrepareComposeNotSupported) { EXPECT_TRUE(manager->getVibrator(id, &vibrator).isOk()); ASSERT_NE(vibrator, nullptr); Status status = vibrator->compose(composite, nullptr); - EXPECT_EQ(Status::EX_UNSUPPORTED_OPERATION, status.exceptionCode()); + EXPECT_TRUE(isUnknownOrUnsupported(status)) << status; } EXPECT_TRUE(manager->cancelSynced().isOk()); } @@ -191,8 +196,8 @@ TEST_P(VibratorAidl, TriggerWithCallback) { TEST_P(VibratorAidl, TriggerSyncNotSupported) { if (!(capabilities & IVibratorManager::CAP_SYNC)) { - EXPECT_EQ(Status::EX_UNSUPPORTED_OPERATION, - manager->triggerSynced(nullptr).exceptionCode()); + Status status = manager->triggerSynced(nullptr); + EXPECT_TRUE(isUnknownOrUnsupported(status)) << status; } } @@ -201,8 +206,8 @@ TEST_P(VibratorAidl, TriggerCallbackNotSupported) { if (!(capabilities & IVibratorManager::CAP_TRIGGER_CALLBACK)) { sp<CompletionCallback> callback = new CompletionCallback([] {}); EXPECT_TRUE(manager->prepareSynced(vibratorIds).isOk()); - EXPECT_EQ(Status::EX_UNSUPPORTED_OPERATION, - manager->triggerSynced(callback).exceptionCode()); + Status status = manager->triggerSynced(callback); + EXPECT_TRUE(isUnknownOrUnsupported(status)) << status; } } diff --git a/vibrator/aidl/vts/VtsHalVibratorTargetTest.cpp b/vibrator/aidl/vts/VtsHalVibratorTargetTest.cpp index 713ec75a20..4d49a12661 100644 --- a/vibrator/aidl/vts/VtsHalVibratorTargetTest.cpp +++ b/vibrator/aidl/vts/VtsHalVibratorTargetTest.cpp @@ -112,6 +112,11 @@ class VibratorAidl : public testing::TestWithParam<std::tuple<int32_t, int32_t>> int32_t capabilities; }; +inline bool isUnknownOrUnsupported(Status status) { + return status.exceptionCode() == Status::EX_UNSUPPORTED_OPERATION || + status.transactionError() == android::UNKNOWN_TRANSACTION; +} + static float getResonantFrequencyHz(sp<IVibrator> vibrator, int32_t capabilities) { float resonantFrequencyHz; Status status = vibrator->getResonantFrequency(&resonantFrequencyHz); @@ -119,7 +124,7 @@ static float getResonantFrequencyHz(sp<IVibrator> vibrator, int32_t capabilities EXPECT_GT(resonantFrequencyHz, 0); EXPECT_EQ(status.exceptionCode(), Status::EX_NONE); } else { - EXPECT_EQ(status.exceptionCode(), Status::EX_UNSUPPORTED_OPERATION); + EXPECT_TRUE(isUnknownOrUnsupported(status)) << status; } return resonantFrequencyHz; } @@ -131,7 +136,7 @@ static float getFrequencyResolutionHz(sp<IVibrator> vibrator, int32_t capabiliti EXPECT_GT(freqResolutionHz, 0); EXPECT_EQ(status.exceptionCode(), Status::EX_NONE); } else { - EXPECT_EQ(status.exceptionCode(), Status::EX_UNSUPPORTED_OPERATION); + EXPECT_TRUE(isUnknownOrUnsupported(status)) << status; } return freqResolutionHz; } @@ -147,7 +152,7 @@ static float getFrequencyMinimumHz(sp<IVibrator> vibrator, int32_t capabilities) EXPECT_GT(freqMinimumHz, 0); EXPECT_LE(freqMinimumHz, resonantFrequencyHz); } else { - EXPECT_EQ(status.exceptionCode(), Status::EX_UNSUPPORTED_OPERATION); + EXPECT_TRUE(isUnknownOrUnsupported(status)) << status; } return freqMinimumHz; } @@ -158,7 +163,7 @@ static float getFrequencyMaximumHz(sp<IVibrator> vibrator, int32_t capabilities) if (capabilities & IVibrator::CAP_FREQUENCY_CONTROL) { EXPECT_EQ(status.exceptionCode(), Status::EX_NONE); } else { - EXPECT_EQ(status.exceptionCode(), Status::EX_UNSUPPORTED_OPERATION); + EXPECT_TRUE(isUnknownOrUnsupported(status)) << status; } float freqMaximumHz = @@ -219,7 +224,8 @@ TEST_P(VibratorAidl, OnWithCallback) { TEST_P(VibratorAidl, OnCallbackNotSupported) { if (!(capabilities & IVibrator::CAP_ON_CALLBACK)) { sp<CompletionCallback> callback = new CompletionCallback([] {}); - EXPECT_EQ(Status::EX_UNSUPPORTED_OPERATION, vibrator->on(250, callback).exceptionCode()); + Status status = vibrator->on(250, callback); + EXPECT_TRUE(isUnknownOrUnsupported(status)) << status; } } @@ -240,8 +246,8 @@ TEST_P(VibratorAidl, ValidateEffect) { EXPECT_GT(lengthMs, 0); usleep(lengthMs * 1000); } else { - EXPECT_EQ(status.exceptionCode(), Status::EX_UNSUPPORTED_OPERATION) - << toString(effect) << " " << toString(strength); + EXPECT_TRUE(isUnknownOrUnsupported(status)) + << status << " " << toString(effect) << " " << toString(strength); } } } @@ -270,7 +276,7 @@ TEST_P(VibratorAidl, ValidateEffectWithCallback) { EXPECT_TRUE(status.isOk()); EXPECT_GT(lengthMs, 0); } else { - EXPECT_EQ(status.exceptionCode(), Status::EX_UNSUPPORTED_OPERATION); + EXPECT_TRUE(isUnknownOrUnsupported(status)) << status; } if (!status.isOk()) @@ -293,7 +299,7 @@ TEST_P(VibratorAidl, ValidateEffectWithCallbackNotSupported) { sp<CompletionCallback> callback = new CompletionCallback([] {}); int lengthMs; Status status = vibrator->perform(effect, strength, callback, &lengthMs); - EXPECT_EQ(Status::EX_UNSUPPORTED_OPERATION, status.exceptionCode()); + EXPECT_TRUE(isUnknownOrUnsupported(status)) << status; } } } @@ -311,8 +317,8 @@ TEST_P(VibratorAidl, InvalidEffectsUnsupported) { for (EffectStrength strength : kInvalidEffectStrengths) { int32_t lengthMs; Status status = vibrator->perform(effect, strength, nullptr /*callback*/, &lengthMs); - EXPECT_EQ(status.exceptionCode(), Status::EX_UNSUPPORTED_OPERATION) - << toString(effect) << " " << toString(strength); + EXPECT_TRUE(isUnknownOrUnsupported(status)) + << status << " " << toString(effect) << " " << toString(strength); } } } @@ -338,7 +344,8 @@ TEST_P(VibratorAidl, AmplitudeOutsideRangeFails) { TEST_P(VibratorAidl, AmplitudeReturnsUnsupportedMatchingCapabilities) { if ((capabilities & IVibrator::CAP_AMPLITUDE_CONTROL) == 0) { - EXPECT_EQ(Status::EX_UNSUPPORTED_OPERATION, vibrator->setAmplitude(1).exceptionCode()); + Status status = vibrator->setAmplitude(1); + EXPECT_TRUE(isUnknownOrUnsupported(status)) << status; } } @@ -362,7 +369,7 @@ TEST_P(VibratorAidl, ExternalAmplitudeControl) { if (supportsExternalAmplitudeControl) { EXPECT_TRUE(amplitudeStatus.isOk()); } else { - EXPECT_EQ(amplitudeStatus.exceptionCode(), Status::EX_UNSUPPORTED_OPERATION); + EXPECT_TRUE(isUnknownOrUnsupported(amplitudeStatus)) << amplitudeStatus; } EXPECT_TRUE(vibrator->setExternalControl(false).isOk()); } else { @@ -372,8 +379,8 @@ TEST_P(VibratorAidl, ExternalAmplitudeControl) { TEST_P(VibratorAidl, ExternalControlUnsupportedMatchingCapabilities) { if ((capabilities & IVibrator::CAP_EXTERNAL_CONTROL) == 0) { - EXPECT_EQ(Status::EX_UNSUPPORTED_OPERATION, - vibrator->setExternalControl(true).exceptionCode()); + Status status = vibrator->setExternalControl(true); + EXPECT_TRUE(isUnknownOrUnsupported(status)) << status; } } @@ -410,7 +417,7 @@ TEST_P(VibratorAidl, GetPrimitiveDuration) { if (isPrimitiveSupported) { EXPECT_EQ(Status::EX_NONE, status.exceptionCode()); } else { - EXPECT_EQ(Status::EX_UNSUPPORTED_OPERATION, status.exceptionCode()); + EXPECT_TRUE(isUnknownOrUnsupported(status)) << status; } } } @@ -473,8 +480,8 @@ TEST_P(VibratorAidl, ComposeUnsupportedPrimitives) { effect.primitive = primitive; effect.scale = 1.0f; } - EXPECT_EQ(Status::EX_UNSUPPORTED_OPERATION, - vibrator->compose(composite, nullptr).exceptionCode()); + Status status = vibrator->compose(composite, nullptr); + EXPECT_TRUE(isUnknownOrUnsupported(status)) << status; vibrator->off(); } } @@ -618,8 +625,8 @@ TEST_P(VibratorAidl, AlwaysOn) { EXPECT_EQ(Status::EX_NONE, status.exceptionCode()) << toString(effect) << " " << toString(strength); } else { - EXPECT_EQ(Status::EX_UNSUPPORTED_OPERATION, status.exceptionCode()) - << toString(effect) << " " << toString(strength); + EXPECT_TRUE(isUnknownOrUnsupported(status)) + << status << " " << toString(effect) << " " << toString(strength); } } } @@ -639,7 +646,7 @@ TEST_P(VibratorAidl, GetQFactor) { ASSERT_GT(qFactor, 0); EXPECT_EQ(status.exceptionCode(), Status::EX_NONE); } else { - EXPECT_EQ(status.exceptionCode(), Status::EX_UNSUPPORTED_OPERATION); + EXPECT_TRUE(isUnknownOrUnsupported(status)) << status; } } @@ -668,7 +675,7 @@ TEST_P(VibratorAidl, GetBandwidthAmplitudeMap) { ASSERT_LE(e, 1.0); } } else { - EXPECT_EQ(status.exceptionCode(), Status::EX_UNSUPPORTED_OPERATION); + EXPECT_TRUE(isUnknownOrUnsupported(status)) << status; } } @@ -690,7 +697,7 @@ TEST_P(VibratorAidl, GetPwleCompositionSizeMax) { ASSERT_NE(maxSize, 0); EXPECT_EQ(status.exceptionCode(), Status::EX_NONE); } else { - EXPECT_EQ(status.exceptionCode(), Status::EX_UNSUPPORTED_OPERATION); + EXPECT_TRUE(isUnknownOrUnsupported(status)) << status; } } @@ -703,7 +710,7 @@ TEST_P(VibratorAidl, GetSupportedBraking) { ASSERT_TRUE(isDefaultNoneSupported); EXPECT_EQ(status.exceptionCode(), Status::EX_NONE); } else { - EXPECT_EQ(status.exceptionCode(), Status::EX_UNSUPPORTED_OPERATION); + EXPECT_TRUE(isUnknownOrUnsupported(status)) << status; } } |