From b459e387541c22d5f1484b2682743f8a57911a82 Mon Sep 17 00:00:00 2001 From: wangzixuan123 Date: Fri, 10 Nov 2023 03:41:56 +0000 Subject: [PATCH] add GetAvailableDevices Fuzz Signed-off-by: wangzixuan123 --- .../audiomanager_fuzzer/audio_manager_fuzzer.cpp | 11 +++++++++++ .../audiomanager_fuzzer/audio_manager_fuzzer.h | 7 +++++++ 2 files changed, 18 insertions(+) diff --git a/test/fuzztest/audiomanager_fuzzer/audio_manager_fuzzer.cpp b/test/fuzztest/audiomanager_fuzzer/audio_manager_fuzzer.cpp index a5eb774fcf..801e8eb5d5 100644 --- a/test/fuzztest/audiomanager_fuzzer/audio_manager_fuzzer.cpp +++ b/test/fuzztest/audiomanager_fuzzer/audio_manager_fuzzer.cpp @@ -34,6 +34,10 @@ void AudioRendererStateCallbackFuzz::OnRendererStateChange( void AudioCapturerStateCallbackFuzz::OnCapturerStateChange( const std::vector> &audioCapturerChangeInfos) {} + +void AudioManagerAvailableDeviceChangeCallbackFUZZ::OnAvailableDeviceChange( + const AudioDeviceUsage usage, const DeviceChangeAction &deviceChangeAction) {} + const int32_t LIMITSIZE = 4; void AudioManagerFuzzTest(const uint8_t* data, size_t size) { @@ -75,6 +79,11 @@ void AudioManagerFuzzTest(const uint8_t* data, size_t size) std::make_shared(); AudioSystemManager::GetInstance()->RegisterFocusInfoChangeCallback(focusInfoChangeCallbackFuzz); AudioSystemManager::GetInstance()->UnregisterFocusInfoChangeCallback(); + AudioDeviceUsage usage = *reinterpret_cast(data); + shared_ptr availableDeviceChangeCallbackFUZZ = + std::make_shared(); + AudioSystemManager::GetInstance()->SetAvailableDeviceChangeCallback(usage, availableDeviceChangeCallbackFUZZ); + AudioSystemManager::GetInstance()->UnsetAvailableDeviceChangeCallback(usage); } void AudioRoutingManagerFuzzTest(const uint8_t* data, size_t size) @@ -105,6 +114,8 @@ void AudioRoutingManagerFuzzTest(const uint8_t* data, size_t size) AudioRoutingManager::GetInstance()->SetPreferredInputDeviceChangeCallback(capturerInfo, preferredInputCallbackFuzz); AudioRoutingManager::GetInstance()->UnsetPreferredInputDeviceChangeCallback(); AudioRoutingManager::GetInstance()->GetAvailableMicrophones(); + AudioDeviceUsage usage = *reinterpret_cast(data); + AudioRoutingManager::GetInstance()->GetAvailableDevices(usage); } void AudioStreamManagerFuzzTest(const uint8_t* data, size_t size) diff --git a/test/fuzztest/audiomanager_fuzzer/audio_manager_fuzzer.h b/test/fuzztest/audiomanager_fuzzer/audio_manager_fuzzer.h index 89f3b55700..c43f234492 100644 --- a/test/fuzztest/audiomanager_fuzzer/audio_manager_fuzzer.h +++ b/test/fuzztest/audiomanager_fuzzer/audio_manager_fuzzer.h @@ -56,6 +56,13 @@ public: virtual ~AudioFocusInfoChangeCallbackFuzz() = default; virtual void OnAudioFocusInfoChange(const std::list> &focusInfoList) {}; }; + +class AudioManagerAvailableDeviceChangeCallbackFUZZ : public AudioManagerAvailableDeviceChangeCallback { +public: + explicit AudioManagerAvailableDeviceChangeCallbackFUZZ() = default; + virtual ~AudioManagerAvailableDeviceChangeCallbackFUZZ() = default; + void OnAvailableDeviceChange(const AudioDeviceUsage usage, const DeviceChangeAction &deviceChangeAction) override; +}; } // namespace AudioStandard } // namesapce OHOS -- Gitee