diff options
| author | TreeHugger Robot <treehugger-gerrit@google.com> | 2019-07-02 07:41:24 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2019-07-02 07:41:24 +0000 |
| commit | 26f1b51bfbd5e8d2d2e55247a8bae49ccd52872d (patch) | |
| tree | 0d99225e22e2956cf075fcf48527d0e17e872c0f /soundtrigger/2.2/vts/functional/VtsHalSoundtriggerV2_2TargetTest.cpp | |
| parent | 3adfddb29552dbf79387c23e10a9960d1f9c2f79 (diff) | |
| parent | 8b76f6692c718c21272d3585541b72fed7ac93f0 (diff) | |
Merge "DO NOT MERGE - Merge qt-dev-plus-aosp-without-vendor (5699924) into stage-aosp-master" into stage-aosp-master
Diffstat (limited to 'soundtrigger/2.2/vts/functional/VtsHalSoundtriggerV2_2TargetTest.cpp')
| -rw-r--r-- | soundtrigger/2.2/vts/functional/VtsHalSoundtriggerV2_2TargetTest.cpp | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/soundtrigger/2.2/vts/functional/VtsHalSoundtriggerV2_2TargetTest.cpp b/soundtrigger/2.2/vts/functional/VtsHalSoundtriggerV2_2TargetTest.cpp new file mode 100644 index 0000000000..0f37816e47 --- /dev/null +++ b/soundtrigger/2.2/vts/functional/VtsHalSoundtriggerV2_2TargetTest.cpp @@ -0,0 +1,94 @@ +/* + * Copyright (C) 2018 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_TAG "SoundTriggerHidlHalTest" +#include <stdlib.h> +#include <time.h> + +#include <condition_variable> +#include <mutex> + +#include <android/log.h> +#include <cutils/native_handle.h> +#include <log/log.h> + +#include <android/hardware/audio/common/2.0/types.h> +#include <android/hardware/soundtrigger/2.0/ISoundTriggerHw.h> +#include <android/hardware/soundtrigger/2.2/ISoundTriggerHw.h> + +#include <VtsHalHidlTargetTestBase.h> +#include <VtsHalHidlTargetTestEnvBase.h> + +using ::android::sp; +using ::android::hardware::Return; +using ::android::hardware::soundtrigger::V2_0::ISoundTriggerHwCallback; +using ::android::hardware::soundtrigger::V2_0::SoundModelHandle; +using ::android::hardware::soundtrigger::V2_2::ISoundTriggerHw; + +// Test environment for SoundTrigger HIDL HAL. +class SoundTriggerHidlEnvironment : public ::testing::VtsHalHidlTargetTestEnvBase { + public: + // get the test environment singleton + static SoundTriggerHidlEnvironment* Instance() { + static SoundTriggerHidlEnvironment* instance = new SoundTriggerHidlEnvironment; + return instance; + } + + void registerTestServices() override { registerTestService<ISoundTriggerHw>(); } + + private: + SoundTriggerHidlEnvironment() {} +}; + +// The main test class for Sound Trigger HIDL HAL. +class SoundTriggerHidlTest : public ::testing::VtsHalHidlTargetTestBase { + public: + void SetUp() override { + mSoundTriggerHal = ::testing::VtsHalHidlTargetTestBase::getService<ISoundTriggerHw>( + SoundTriggerHidlEnvironment::Instance()->getServiceName<ISoundTriggerHw>()); + ASSERT_NE(nullptr, mSoundTriggerHal.get()); + } + + static void SetUpTestCase() { srand(1234); } + + void TearDown() override {} + + protected: + sp<ISoundTriggerHw> mSoundTriggerHal; +}; + +/** + * Test ISoundTriggerHw::getModelState() method + * + * Verifies that: + * - the implementation returns -ENOSYS with invalid model handle + * + */ +TEST_F(SoundTriggerHidlTest, GetModelStateInvalidModel) { + SoundModelHandle handle = 0; + Return<int32_t> hidlReturn = mSoundTriggerHal->getModelState(handle); + EXPECT_TRUE(hidlReturn.isOk()); + EXPECT_EQ(-ENOSYS, hidlReturn); +} + +int main(int argc, char** argv) { + ::testing::AddGlobalTestEnvironment(SoundTriggerHidlEnvironment::Instance()); + ::testing::InitGoogleTest(&argc, argv); + SoundTriggerHidlEnvironment::Instance()->init(&argc, argv); + int status = RUN_ALL_TESTS(); + ALOGI("Test result = %d", status); + return status; +} |
