summaryrefslogtreecommitdiff
path: root/audio/effect/all-versions/default/util/tests/effectutils_tests.cpp
diff options
context:
space:
mode:
authorMikhail Naganov <mnaganov@google.com>2021-03-30 13:44:26 -0700
committerMikhail Naganov <mnaganov@google.com>2021-03-30 15:53:00 -0700
commit8fca30025603e1c918a0ecec31e58f235d4afbfb (patch)
treea53617c54b133647a5a349a0b2310f541cf6f097 /audio/effect/all-versions/default/util/tests/effectutils_tests.cpp
parent6a022ad1c485f283cc2e138a16fcaa53b016e64c (diff)
audio: Fix fixed size char array conversions
For legacy HAL strings that are fixed size arrays the conversion code was using the array size for the HIDL string size. This lead to logging of error messages during reverse conversion. Fixed issue and refactored code to avoid duplication. Bug: 181269159 Test: atest android.hardware.audio.effect@7.0-util_tests also, verify that no error messages from EffectUtil appear during boot and audio playback Change-Id: Iac36ff33e65c502966ac2b7a4870cb5830545b23
Diffstat (limited to 'audio/effect/all-versions/default/util/tests/effectutils_tests.cpp')
-rw-r--r--audio/effect/all-versions/default/util/tests/effectutils_tests.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/audio/effect/all-versions/default/util/tests/effectutils_tests.cpp b/audio/effect/all-versions/default/util/tests/effectutils_tests.cpp
index f3651de236..d021fa0b92 100644
--- a/audio/effect/all-versions/default/util/tests/effectutils_tests.cpp
+++ b/audio/effect/all-versions/default/util/tests/effectutils_tests.cpp
@@ -154,3 +154,20 @@ TEST(EffectUtils, ConvertDescriptor) {
EXPECT_EQ(NO_ERROR, EffectUtils::effectDescriptorFromHal(halDesc, &descBack));
EXPECT_EQ(desc, descBack);
}
+
+TEST(EffectUtils, ConvertNameAndImplementor) {
+ for (size_t i = 0; i < EFFECT_STRING_LEN_MAX; ++i) {
+ effect_descriptor_t halDesc{};
+ for (size_t c = 0; c < i; ++c) { // '<' to accommodate NUL terminator.
+ halDesc.name[c] = halDesc.implementor[c] = 'A' + static_cast<char>(c);
+ }
+ EffectDescriptor desc;
+ EXPECT_EQ(NO_ERROR, EffectUtils::effectDescriptorFromHal(halDesc, &desc));
+ effect_descriptor_t halDescBack;
+ EXPECT_EQ(NO_ERROR, EffectUtils::effectDescriptorToHal(desc, &halDescBack));
+ EXPECT_EQ(i, strlen(halDescBack.name));
+ EXPECT_EQ(i, strlen(halDescBack.implementor));
+ EXPECT_EQ(0, strcmp(halDesc.name, halDescBack.name));
+ EXPECT_EQ(0, strcmp(halDesc.implementor, halDescBack.implementor));
+ }
+}