diff options
author | Mikhail Naganov <mnaganov@google.com> | 2021-01-08 17:48:22 -0800 |
---|---|---|
committer | Mikhail Naganov <mnaganov@google.com> | 2021-01-08 17:51:24 -0800 |
commit | 0dbf3982af2b3bcedfe0ccc6e19f63bb30d12ccc (patch) | |
tree | 27eb312b15f50fbd990c41edb576fce1e1c9496f /audio/effect/all-versions/vts/functional/VtsHalAudioEffectTargetTest.cpp | |
parent | e21ce63ba696ca484e36f89da2483ffc9f0b9b9d (diff) |
Audio: Add VTS tests for invalid enum-strings, Part 2
Add checks for rejection of invalid device addresses
and base configs.
Bug: 142480271
Test: atest VtsHalAudioV6_0TargetTest
Test: atest VtsHalAudioV7_0TargetTest
with side-loaded V7 default wrapper
Change-Id: I39690f2a171c1be6246ab155dec8e2b1a405a2a8
Diffstat (limited to 'audio/effect/all-versions/vts/functional/VtsHalAudioEffectTargetTest.cpp')
-rw-r--r-- | audio/effect/all-versions/vts/functional/VtsHalAudioEffectTargetTest.cpp | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/audio/effect/all-versions/vts/functional/VtsHalAudioEffectTargetTest.cpp b/audio/effect/all-versions/vts/functional/VtsHalAudioEffectTargetTest.cpp index d39fbcd5c3..35ff8693a4 100644 --- a/audio/effect/all-versions/vts/functional/VtsHalAudioEffectTargetTest.cpp +++ b/audio/effect/all-versions/vts/functional/VtsHalAudioEffectTargetTest.cpp @@ -14,6 +14,8 @@ * limitations under the License. */ +#include <vector> + #define LOG_TAG "AudioEffectHidlHalTest" #include <android-base/logging.h> #if MAJOR_VERSION <= 6 @@ -309,6 +311,47 @@ TEST_P(AudioEffectHidlTest, GetSetConfig) { EXPECT_EQ(Result::OK, ret2); } +#if MAJOR_VERSION >= 7 +std::vector<EffectBufferConfig> generateInvalidConfigs(const EffectBufferConfig& src) { + std::vector<EffectBufferConfig> result; + EffectBufferConfig invalidFormat = src; + invalidFormat.base.format = "random_string"; + result.push_back(std::move(invalidFormat)); + EffectBufferConfig invalidChannelMask = src; + invalidChannelMask.base.channelMask = "random_string"; + result.push_back(std::move(invalidChannelMask)); + return result; +} + +TEST_P(AudioEffectHidlTest, SetConfigInvalidArguments) { + description("Verify that invalid arguments are rejected by SetConfig"); + Result retval = Result::NOT_INITIALIZED; + EffectConfig currentConfig; + Return<void> ret = effect->getConfig([&](Result r, const EffectConfig& conf) { + retval = r; + if (r == Result::OK) { + currentConfig = conf; + } + }); + EXPECT_TRUE(ret.isOk()); + EXPECT_EQ(Result::OK, retval); + for (const auto& invalidInputCfg : generateInvalidConfigs(currentConfig.inputCfg)) { + EffectConfig invalidConfig = currentConfig; + invalidConfig.inputCfg = invalidInputCfg; + Return<Result> ret = effect->setConfig(invalidConfig, nullptr, nullptr); + EXPECT_TRUE(ret.isOk()); + EXPECT_EQ(Result::INVALID_ARGUMENTS, ret); + } + for (const auto& invalidOutputCfg : generateInvalidConfigs(currentConfig.outputCfg)) { + EffectConfig invalidConfig = currentConfig; + invalidConfig.outputCfg = invalidOutputCfg; + Return<Result> ret = effect->setConfig(invalidConfig, nullptr, nullptr); + EXPECT_TRUE(ret.isOk()); + EXPECT_EQ(Result::INVALID_ARGUMENTS, ret); + } +} +#endif + TEST_P(AudioEffectHidlTest, GetConfigReverse) { description("Verify that GetConfigReverse does not crash"); Return<void> ret = effect->getConfigReverse([&](Result, const EffectConfig&) {}); @@ -413,6 +456,16 @@ TEST_P(AudioEffectHidlTest, DisableEnableDisable) { EXPECT_EQ(Result::OK, ret); } +#if MAJOR_VERSION >= 7 +TEST_P(AudioEffectHidlTest, SetDeviceInvalidDeviceAddress) { + description("Verify that invalid device address is rejected by SetDevice"); + DeviceAddress device{.deviceType = "random_string"}; + Return<Result> ret = effect->setDevice(device); + EXPECT_TRUE(ret.isOk()); + EXPECT_EQ(Result::INVALID_ARGUMENTS, ret); +} +#endif + TEST_P(AudioEffectHidlTest, SetDevice) { description("Verify that SetDevice works for an output chain effect"); #if MAJOR_VERSION <= 6 @@ -468,6 +521,17 @@ TEST_P(AudioEffectHidlTest, SetConfigReverse) { EXPECT_TRUE(ret.isOk()); } +#if MAJOR_VERSION >= 7 +TEST_P(AudioEffectHidlTest, SetInputDeviceInvalidDeviceAddress) { + description("Verify that invalid device address is rejected by SetInputDevice"); + DeviceAddress device{.deviceType = "random_string"}; + Return<Result> ret = effect->setInputDevice(device); + EXPECT_TRUE(ret.isOk()); + EXPECT_TRUE(ret == Result::INVALID_ARGUMENTS || ret == Result::NOT_SUPPORTED) + << ::testing::PrintToString(ret); +} +#endif + TEST_P(AudioEffectHidlTest, SetInputDevice) { description("Verify that SetInputDevice does not crash"); #if MAJOR_VERSION <= 6 @@ -479,6 +543,16 @@ TEST_P(AudioEffectHidlTest, SetInputDevice) { EXPECT_TRUE(ret.isOk()); } +#if MAJOR_VERSION >= 7 +TEST_P(AudioEffectHidlTest, SetInvalidAudioSource) { + description("Verify that an invalid audio source is rejected by SetAudioSource"); + Return<Result> ret = effect->setAudioSource("random_string"); + ASSERT_TRUE(ret.isOk()); + EXPECT_TRUE(ret == Result::INVALID_ARGUMENTS || ret == Result::NOT_SUPPORTED) + << ::testing::PrintToString(ret); +} +#endif + TEST_P(AudioEffectHidlTest, SetAudioSource) { description("Verify that SetAudioSource does not crash"); #if MAJOR_VERSION <= 6 |