| /* |
| * Copyright 2022 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| //#define LOG_NDEBUG 0 |
| #include <cstdint> |
| #define LOG_TAG "EffectsFactoryHalInterfaceTest" |
| |
| #include <media/audiohal/EffectsFactoryHalInterface.h> |
| |
| #include <gtest/gtest.h> |
| #include <utils/RefBase.h> |
| |
| namespace android { |
| |
| // EffectsFactoryHalInterface |
| TEST(libAudioHalTest, createEffectsFactoryHalInterface) { |
| ASSERT_NE(nullptr, EffectsFactoryHalInterface::create()); |
| } |
| |
| TEST(libAudioHalTest, queryNumberEffects) { |
| auto factory = EffectsFactoryHalInterface::create(); |
| ASSERT_NE(nullptr, factory); |
| |
| uint32_t numEffects = 0; |
| EXPECT_EQ(OK, factory->queryNumberEffects(&numEffects)); |
| EXPECT_NE(0ul, numEffects); |
| } |
| |
| TEST(libAudioHalTest, getDescriptorByNumber) { |
| auto factory = EffectsFactoryHalInterface::create(); |
| ASSERT_NE(nullptr, factory); |
| |
| uint32_t numEffects = 0; |
| EXPECT_EQ(OK, factory->queryNumberEffects(&numEffects)); |
| EXPECT_NE(0ul, numEffects); |
| |
| effect_descriptor_t desc; |
| for (uint32_t i = 0; i < numEffects; i++) { |
| EXPECT_EQ(OK, factory->getDescriptor(i, &desc)); |
| } |
| } |
| |
| TEST(libAudioHalTest, createEffect) { |
| auto factory = EffectsFactoryHalInterface::create(); |
| ASSERT_NE(nullptr, factory); |
| |
| uint32_t numEffects = 0; |
| EXPECT_EQ(OK, factory->queryNumberEffects(&numEffects)); |
| EXPECT_NE(0ul, numEffects); |
| |
| effect_descriptor_t desc; |
| for (uint32_t i = 0; i < numEffects; i++) { |
| sp<EffectHalInterface> interface; |
| EXPECT_EQ(OK, factory->getDescriptor(i, &desc)); |
| EXPECT_EQ(OK, factory->createEffect(&desc.uuid, 1 /* sessionId */, 1 /* ioId */, |
| 1 /* deviceId */, &interface)); |
| } |
| } |
| |
| TEST(libAudioHalTest, getHalVersion) { |
| auto factory = EffectsFactoryHalInterface::create(); |
| ASSERT_NE(nullptr, factory); |
| |
| auto version = factory->getHalVersion(); |
| EXPECT_NE(0, version.getMajorVersion()); |
| } |
| |
| // TODO: b/263986405 Add multi-thread testing |
| |
| } // namespace android |