diff --git a/test/BUILD.gn b/test/BUILD.gn index d5ea1150c854c8dd03dfa19af97531be92f6c1b7..2d39c154e01329407f157b3d2981f1be4f1c1952 100644 --- a/test/BUILD.gn +++ b/test/BUILD.gn @@ -199,7 +199,7 @@ group("audio_fuzz_test") { deps = [ "fuzztest/audiopolicy_fuzzer/audioa2dpdevice_fuzzer:fuzztest", "fuzztest/audioa2dpoffloadmanager_fuzzer:fuzztest", - "fuzztest/audioactivedevice_fuzzer:fuzztest", + "fuzztest/audiopolicy_fuzzer/audioactivedevice_fuzzer:fuzztest", "fuzztest/audioadaptermanager_fuzzer:fuzztest", "fuzztest/audioadaptorbluetooth_fuzzer:fuzztest", "fuzztest/audioaffinitymanager_fuzzer:fuzztest", @@ -208,13 +208,13 @@ group("audio_fuzz_test") { "fuzztest/audiocapturersession_fuzzer:fuzztest", "fuzztest/audioclienttrackercallbacklistener_fuzzer:fuzztest", "fuzztest/audiocollaborativeservice_fuzzer:fuzztest", - "fuzztest/audioconnecteddevice_fuzzer:fuzztest", + "fuzztest/audiopolicy_fuzzer/audioconnecteddevice_fuzzer:fuzztest", "fuzztest/audiocoreservice_fuzzer:fuzztest", "fuzztest/audiocoreserviceentry_fuzzer:fuzztest", "fuzztest/audiocoreserviceprivate_fuzzer:fuzztest", - "fuzztest/audiodevicecommon_fuzzer:fuzztest", - "fuzztest/audiodevicelock_fuzzer:fuzztest", - "fuzztest/audiodevicestatus_fuzzer:fuzztest", + "fuzztest/audiopolicy_fuzzer/audiodevicecommon_fuzzer:fuzztest", + "fuzztest/audiopolicy_fuzzer/audiodevicelock_fuzzer:fuzztest", + "fuzztest/audiopolicy_fuzzer/audiodevicestatus_fuzzer:fuzztest", "fuzztest/audiodumppcm_fuzzer:fuzztest", "fuzztest/audioecmanager_fuzzer:fuzztest", "fuzztest/audioeffect_fuzzer:fuzztest", @@ -223,11 +223,11 @@ group("audio_fuzz_test") { "fuzztest/audioeffectservice_fuzzer:fuzztest", "fuzztest/audioeffectvolume_fuzzer:fuzztest", "fuzztest/audiofilter_fuzzer:fuzztest", - "fuzztest/audiointerruptdfxcollector_fuzzer:fuzztest", - "fuzztest/audiointerruptgroupinfo_fuzzer:fuzztest", - "fuzztest/audiointerruptservice_fuzzer:fuzztest", - "fuzztest/audiointerruptservicemore_fuzzer:fuzztest", - "fuzztest/audiointerruptzone_fuzzer:fuzztest", + "fuzztest/audiopolicy_fuzzer/audiointerruptdfxcollector_fuzzer:fuzztest", + "fuzztest/audiopolicy_fuzzer/audiointerruptgroupinfo_fuzzer:fuzztest", + "fuzztest/audiopolicy_fuzzer/audiointerruptservice_fuzzer:fuzztest", + "fuzztest/audiopolicy_fuzzer/audiointerruptservicemore_fuzzer:fuzztest", + "fuzztest/audiopolicy_fuzzer/audiointerruptzone_fuzzer:fuzztest", "fuzztest/audiolimitermanager_fuzzer:fuzztest", "fuzztest/audiomanager_fuzzer:fuzztest", "fuzztest/audiomanagerlistenerstubimpl_fuzzer:fuzztest", diff --git a/test/fuzztest/audioactivedevice_fuzzer/BUILD.gn b/test/fuzztest/audiopolicy_fuzzer/audioactivedevice_fuzzer/BUILD.gn similarity index 74% rename from test/fuzztest/audioactivedevice_fuzzer/BUILD.gn rename to test/fuzztest/audiopolicy_fuzzer/audioactivedevice_fuzzer/BUILD.gn index 24236a47766fa64474f104f2a594171e84a9a164..cf7d0cca3b75245db1a6ddeabb6ccbcd4841e9fa 100644 --- a/test/fuzztest/audioactivedevice_fuzzer/BUILD.gn +++ b/test/fuzztest/audiopolicy_fuzzer/audioactivedevice_fuzzer/BUILD.gn @@ -13,20 +13,20 @@ import("//build/config/features.gni") import("//build/test.gni") -import("../../../accessibility.gni") -import("../../../config.gni") +import("../../../../accessibility.gni") +import("../../../../config.gni") ohos_fuzztest("AudioActiveDeviceFuzzTest") { module_out_path = "audio_framework/audio_framework_route" fuzz_config_file = "../audioactivedevice_fuzzer" include_dirs = [ - "../../../services/audio_policy/server/include/service", - "../../../services/audio_policy/server/include", - "../../../frameworks/native/audioutils/include", - "../../../services/audio_service/common/include/limiter/", - "../../../services/audio_engine/manager/include", - "../../../services/audio_service/server/include", + "../../../../services/audio_policy/server/include/service", + "../../../../services/audio_policy/server/include", + "../../../../frameworks/native/audioutils/include", + "../../../../services/audio_service/common/include/limiter/", + "../../../../services/audio_engine/manager/include", + "../../../../services/audio_service/server/include", ] cflags = [ @@ -38,20 +38,20 @@ ohos_fuzztest("AudioActiveDeviceFuzzTest") { ] configs = [ - "../../../services/audio_policy:audio_policy_public_config", - "../../../services/audio_engine:audio_engine_node_config", + "../../../../services/audio_policy:audio_policy_public_config", + "../../../../services/audio_engine:audio_engine_node_config", ] sources = [ "audio_active_device_fuzzer.cpp" ] deps = [ - "../../../frameworks/native/audioutils:audio_utils", - "../../../frameworks/native/bluetoothclient:audio_bluetooth_client", - "../../../services/audio_policy:audio_policy_service_static", - "../../../services/audio_service:audio_common", - "../../../frameworks/native/audioclock:audio_clock", - "../../../services/audio_engine:audio_engine_manager", - "../../../services/audio_engine:audio_engine_utils", + "../../../../frameworks/native/audioutils:audio_utils", + "../../../../frameworks/native/bluetoothclient:audio_bluetooth_client", + "../../../../services/audio_policy:audio_policy_service_static", + "../../../../services/audio_service:audio_common", + "../../../../frameworks/native/audioclock:audio_clock", + "../../../../services/audio_engine:audio_engine_manager", + "../../../../services/audio_engine:audio_engine_utils", ] external_deps = [ diff --git a/test/fuzztest/audioactivedevice_fuzzer/audio_active_device_fuzzer.cpp b/test/fuzztest/audiopolicy_fuzzer/audioactivedevice_fuzzer/audio_active_device_fuzzer.cpp similarity index 100% rename from test/fuzztest/audioactivedevice_fuzzer/audio_active_device_fuzzer.cpp rename to test/fuzztest/audiopolicy_fuzzer/audioactivedevice_fuzzer/audio_active_device_fuzzer.cpp index 09f74ca80bac592cf8df84a7201c032d0090ec70..7f49113a5e8e025d4b8de6739fd9648d8108d1b3 100644 --- a/test/fuzztest/audioactivedevice_fuzzer/audio_active_device_fuzzer.cpp +++ b/test/fuzztest/audiopolicy_fuzzer/audioactivedevice_fuzzer/audio_active_device_fuzzer.cpp @@ -75,6 +75,23 @@ uint32_t GetArrLength(T& arr) return sizeof(arr) / sizeof(arr[0]); } +vector DeviceRoleVec = { + DEVICE_ROLE_NONE, + INPUT_DEVICE, + OUTPUT_DEVICE, + DEVICE_ROLE_MAX, +}; + +vector AudioDeviceUsageVec = { + MEDIA_OUTPUT_DEVICES, + MEDIA_INPUT_DEVICES, + ALL_MEDIA_DEVICES, + CALL_OUTPUT_DEVICES, + CALL_INPUT_DEVICES, + ALL_CALL_DEVICES, + D_ALL_DEVICES, +}; + vector DeviceTypeVec = { DEVICE_TYPE_NONE, DEVICE_TYPE_INVALID, @@ -105,23 +122,6 @@ vector DeviceTypeVec = { DEVICE_TYPE_MAX, }; -vector DeviceRoleVec = { - DEVICE_ROLE_NONE, - INPUT_DEVICE, - OUTPUT_DEVICE, - DEVICE_ROLE_MAX, -}; - -vector AudioDeviceUsageVec = { - MEDIA_OUTPUT_DEVICES, - MEDIA_INPUT_DEVICES, - ALL_MEDIA_DEVICES, - CALL_OUTPUT_DEVICES, - CALL_INPUT_DEVICES, - ALL_CALL_DEVICES, - D_ALL_DEVICES, -}; - const vector g_testSourceTypes = { SOURCE_TYPE_INVALID, SOURCE_TYPE_MIC, @@ -143,6 +143,14 @@ const vector g_testSourceTypes = { SOURCE_TYPE_MAX, }; +void GetMaxAmplitudeFuzzTest() +{ + auto audioActiveDevice = std::make_shared(); + int32_t deviceId = AudioActiveDevice::GetInstance().GetCurrentInputDevice().deviceId_; + AudioInterrupt audioInterrupt; + audioActiveDevice->GetMaxAmplitude(deviceId, audioInterrupt); +} + void GetActiveA2dpDeviceStreamInfoFuzzTest() { AudioStreamInfo streamInfo; @@ -152,12 +160,17 @@ void GetActiveA2dpDeviceStreamInfoFuzzTest() audioActiveDevice->GetActiveA2dpDeviceStreamInfo(deviceType, streamInfo); } -void GetMaxAmplitudeFuzzTest() +void HandleActiveBtFuzzTest() { + std::string macAddress = "test"; auto audioActiveDevice = std::make_shared(); - int32_t deviceId = AudioActiveDevice::GetInstance().GetCurrentInputDevice().deviceId_; - AudioInterrupt audioInterrupt; - audioActiveDevice->GetMaxAmplitude(deviceId, audioInterrupt); + uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); + AudioDeviceDescriptor deviceDescriptor; + deviceDescriptor.deviceType_ = DeviceTypeVec[deviceTypeCount]; + audioActiveDevice->SetCurrentOutputDevice(deviceDescriptor); + deviceTypeCount = GetData() % DeviceTypeVec.size(); + DeviceType deviceType = DeviceTypeVec[deviceTypeCount]; + audioActiveDevice->HandleActiveBt(deviceType, macAddress); } void UpdateDeviceFuzzTest() @@ -176,19 +189,6 @@ void UpdateDeviceFuzzTest() audioActiveDevice->UpdateDevice(desc, reason, rendererChangeInfo); } -void HandleActiveBtFuzzTest() -{ - std::string macAddress = "test"; - auto audioActiveDevice = std::make_shared(); - uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); - AudioDeviceDescriptor deviceDescriptor; - deviceDescriptor.deviceType_ = DeviceTypeVec[deviceTypeCount]; - audioActiveDevice->SetCurrentOutputDevice(deviceDescriptor); - deviceTypeCount = GetData() % DeviceTypeVec.size(); - DeviceType deviceType = DeviceTypeVec[deviceTypeCount]; - audioActiveDevice->HandleActiveBt(deviceType, macAddress); -} - void HandleNegtiveBtFuzzTest() { auto audioActiveDevice = std::make_shared(); @@ -201,7 +201,7 @@ void HandleNegtiveBtFuzzTest() audioActiveDevice->HandleNegtiveBt(deviceType); } -void SetDeviceActiveFuzzTest() +void SetCallDeviceActiveFuzzTest() { auto audioActiveDevice = std::make_shared(); uint32_t usageCount = GetData() % AudioDeviceUsageVec.size(); @@ -209,15 +209,12 @@ void SetDeviceActiveFuzzTest() std::vector> callDevices = AudioPolicyUtils::GetInstance().GetAvailableDevicesInner(usage); for (const auto &desc : callDevices) { - uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); - DeviceType deviceType = DeviceTypeVec[deviceTypeCount]; bool active = GetData() % NUM_2; - int32_t uid = GetData(); - audioActiveDevice->SetDeviceActive(deviceType, active, uid); + audioActiveDevice->SetCallDeviceActive(desc->deviceType_, active, desc->macAddress_); } } -void SetCallDeviceActiveFuzzTest() +void SetDeviceActiveFuzzTest() { auto audioActiveDevice = std::make_shared(); uint32_t usageCount = GetData() % AudioDeviceUsageVec.size(); @@ -225,12 +222,15 @@ void SetCallDeviceActiveFuzzTest() std::vector> callDevices = AudioPolicyUtils::GetInstance().GetAvailableDevicesInner(usage); for (const auto &desc : callDevices) { + uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); + DeviceType deviceType = DeviceTypeVec[deviceTypeCount]; bool active = GetData() % NUM_2; - audioActiveDevice->SetCallDeviceActive(desc->deviceType_, active, desc->macAddress_); + int32_t uid = GetData(); + audioActiveDevice->SetDeviceActive(deviceType, active, uid); } } -void IsDirectSupportedDeviceFuzzTest() +void IsDeviceActiveFuzzTest() { auto audioActiveDevice = std::make_shared(); uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); @@ -239,10 +239,12 @@ void IsDirectSupportedDeviceFuzzTest() DeviceRole role = DeviceRoleVec[roleCount]; AudioDeviceDescriptor audioDeviceDescriptor(deviceType, role); audioActiveDevice->SetCurrentOutputDevice(audioDeviceDescriptor); - audioActiveDevice->IsDirectSupportedDevice(); + deviceTypeCount = GetData() % DeviceTypeVec.size(); + deviceType = DeviceTypeVec[deviceTypeCount]; + audioActiveDevice->IsDeviceActive(deviceType); } -void IsDeviceActiveFuzzTest() +void IsDirectSupportedDeviceFuzzTest() { auto audioActiveDevice = std::make_shared(); uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); @@ -251,19 +253,7 @@ void IsDeviceActiveFuzzTest() DeviceRole role = DeviceRoleVec[roleCount]; AudioDeviceDescriptor audioDeviceDescriptor(deviceType, role); audioActiveDevice->SetCurrentOutputDevice(audioDeviceDescriptor); - deviceTypeCount = GetData() % DeviceTypeVec.size(); - deviceType = DeviceTypeVec[deviceTypeCount]; - audioActiveDevice->IsDeviceActive(deviceType); -} - -void AudioActiveDeviceGetCurrentOutputDeviceCategoryFuzzTest() -{ - auto audioActiveDevice = std::make_shared(); - if (audioActiveDevice == nullptr) { - return; - } - audioActiveDevice->GetCurrentInputDeviceMacAddr(); - audioActiveDevice->GetCurrentOutputDeviceCategory(); + audioActiveDevice->IsDirectSupportedDevice(); } void AudioActiveDeviceNotifyUserSelectionEventToBtFuzzTest() @@ -280,17 +270,14 @@ void AudioActiveDeviceNotifyUserSelectionEventToBtFuzzTest() audioActiveDevice->NotifyUserSelectionEventToBt(audioDeviceDescriptor, streamUsage); } -void AudioActiveDeviceNotifyUserDisSelectionEventToBtFuzzTest() +void AudioActiveDeviceGetCurrentOutputDeviceCategoryFuzzTest() { auto audioActiveDevice = std::make_shared(); - std::shared_ptr audioDeviceDescriptor = std::make_shared(); - if (audioActiveDevice == nullptr || audioDeviceDescriptor == nullptr || DeviceTypeVec.size() == 0) { + if (audioActiveDevice == nullptr) { return; } - audioDeviceDescriptor->deviceType_ = DeviceTypeVec[GetData() % DeviceTypeVec.size()]; - audioActiveDevice->currentActiveInputDevice_.deviceType_ = - DeviceTypeVec[GetData() % DeviceTypeVec.size()]; - audioActiveDevice->NotifyUserDisSelectionEventToBt(audioDeviceDescriptor); + audioActiveDevice->GetCurrentInputDeviceMacAddr(); + audioActiveDevice->GetCurrentOutputDeviceCategory(); } void AudioActiveDeviceNotifyUserSelectionEventForInputFuzzTest() @@ -308,16 +295,17 @@ void AudioActiveDeviceNotifyUserSelectionEventForInputFuzzTest() audioActiveDevice->NotifyUserSelectionEventForInput(audioDeviceDescriptor, sourceType); } -void AudioActiveDeviceSetDeviceActiveFuzzTest() +void AudioActiveDeviceNotifyUserDisSelectionEventToBtFuzzTest() { auto audioActiveDevice = std::make_shared(); - if (audioActiveDevice == nullptr || DeviceTypeVec.size() == 0) { + std::shared_ptr audioDeviceDescriptor = std::make_shared(); + if (audioActiveDevice == nullptr || audioDeviceDescriptor == nullptr || DeviceTypeVec.size() == 0) { return; } - DeviceType deviceType = DeviceTypeVec[GetData() % DeviceTypeVec.size()]; - bool active = GetData() % NUM_2; - int32_t uid = GetData(); - audioActiveDevice->SetDeviceActive(deviceType, active, uid); + audioDeviceDescriptor->deviceType_ = DeviceTypeVec[GetData() % DeviceTypeVec.size()]; + audioActiveDevice->currentActiveInputDevice_.deviceType_ = + DeviceTypeVec[GetData() % DeviceTypeVec.size()]; + audioActiveDevice->NotifyUserDisSelectionEventToBt(audioDeviceDescriptor); } void AudioActiveDeviceSetCallDeviceActiveFuzzTest() @@ -366,6 +354,18 @@ void AudioDeviceDescriptorFixApiCompatibilityFuzzTest() deviceDescriptor.FixApiCompatibility(apiVersion, deviceRole, deviceType, deviceId, streamInfos); } +void AudioActiveDeviceSetDeviceActiveFuzzTest() +{ + auto audioActiveDevice = std::make_shared(); + if (audioActiveDevice == nullptr || DeviceTypeVec.size() == 0) { + return; + } + DeviceType deviceType = DeviceTypeVec[GetData() % DeviceTypeVec.size()]; + bool active = GetData() % NUM_2; + int32_t uid = GetData(); + audioActiveDevice->SetDeviceActive(deviceType, active, uid); +} + void AudioDeviceDescriptorGetKeyFuzzTest() { AudioDeviceDescriptor deviceDescriptor; diff --git a/test/fuzztest/audioactivedevice_fuzzer/corpus/init b/test/fuzztest/audiopolicy_fuzzer/audioactivedevice_fuzzer/corpus/init similarity index 100% rename from test/fuzztest/audioactivedevice_fuzzer/corpus/init rename to test/fuzztest/audiopolicy_fuzzer/audioactivedevice_fuzzer/corpus/init diff --git a/test/fuzztest/audioactivedevice_fuzzer/project.xml b/test/fuzztest/audiopolicy_fuzzer/audioactivedevice_fuzzer/project.xml similarity index 100% rename from test/fuzztest/audioactivedevice_fuzzer/project.xml rename to test/fuzztest/audiopolicy_fuzzer/audioactivedevice_fuzzer/project.xml diff --git a/test/fuzztest/audioconnecteddevice_fuzzer/BUILD.gn b/test/fuzztest/audiopolicy_fuzzer/audioconnecteddevice_fuzzer/BUILD.gn similarity index 72% rename from test/fuzztest/audioconnecteddevice_fuzzer/BUILD.gn rename to test/fuzztest/audiopolicy_fuzzer/audioconnecteddevice_fuzzer/BUILD.gn index c57ea99bc6ea50cd66049165eff0d63775b54de4..0b13ca1b70c09464da9e721ec49741f9ea565708 100644 --- a/test/fuzztest/audioconnecteddevice_fuzzer/BUILD.gn +++ b/test/fuzztest/audiopolicy_fuzzer/audioconnecteddevice_fuzzer/BUILD.gn @@ -13,20 +13,20 @@ import("//build/config/features.gni") import("//build/test.gni") -import("../../../accessibility.gni") -import("../../../config.gni") +import("../../../../accessibility.gni") +import("../../../../config.gni") ohos_fuzztest("AudioConnectedDeviceFuzzTest") { module_out_path = "audio_framework/audio_framework_route" fuzz_config_file = "../audioconnecteddevice_fuzzer" include_dirs = [ - "../../../services/audio_policy/server/include/service", - "../../../services/audio_policy/server/include", - "../../../frameworks/native/audioutils/include", - "../../../services/audio_service/common/include/limiter/", - "../../../services/audio_engine/manager/include", - "../../../services/audio_service/server/include", + "../../../../services/audio_policy/server/include/service", + "../../../../services/audio_policy/server/include", + "../../../../frameworks/native/audioutils/include", + "../../../../services/audio_service/common/include/limiter/", + "../../../../services/audio_engine/manager/include", + "../../../../services/audio_service/server/include", ] cflags = [ @@ -38,21 +38,21 @@ ohos_fuzztest("AudioConnectedDeviceFuzzTest") { ] configs = [ - "../../../services/audio_policy:audio_policy_public_config", - "../../../services/audio_engine:audio_engine_node_config", + "../../../../services/audio_policy:audio_policy_public_config", + "../../../../services/audio_engine:audio_engine_node_config", ] sources = [ "audio_connected_device_fuzzer.cpp" ] deps = [ - "../../../services/audio_service/idl:audio_framework_interface", - "../../../frameworks/native/audioclock:audio_clock", - "../../../frameworks/native/audioutils:audio_utils", - "../../../frameworks/native/bluetoothclient:audio_bluetooth_client", - "../../../services/audio_engine:audio_engine_manager", - "../../../services/audio_engine:audio_engine_utils", - "../../../services/audio_policy:audio_policy_service_static", - "../../../services/audio_service:audio_common", + "../../../../services/audio_service/idl:audio_framework_interface", + "../../../../frameworks/native/audioclock:audio_clock", + "../../../../frameworks/native/audioutils:audio_utils", + "../../../../frameworks/native/bluetoothclient:audio_bluetooth_client", + "../../../../services/audio_engine:audio_engine_manager", + "../../../../services/audio_engine:audio_engine_utils", + "../../../../services/audio_policy:audio_policy_service_static", + "../../../../services/audio_service:audio_common", ] external_deps = [ diff --git a/test/fuzztest/audioconnecteddevice_fuzzer/audio_connected_device_fuzzer.cpp b/test/fuzztest/audiopolicy_fuzzer/audioconnecteddevice_fuzzer/audio_connected_device_fuzzer.cpp similarity index 100% rename from test/fuzztest/audioconnecteddevice_fuzzer/audio_connected_device_fuzzer.cpp rename to test/fuzztest/audiopolicy_fuzzer/audioconnecteddevice_fuzzer/audio_connected_device_fuzzer.cpp index 13786ed43f02f96bf9cf868c26df425ebdf9b136..c1503f74472003e0581cc95f1d4d1c30afe82f77 100644 --- a/test/fuzztest/audioconnecteddevice_fuzzer/audio_connected_device_fuzzer.cpp +++ b/test/fuzztest/audiopolicy_fuzzer/audioconnecteddevice_fuzzer/audio_connected_device_fuzzer.cpp @@ -126,10 +126,10 @@ const vector DeviceFlagVec = { void IsConnectedOutputDeviceFuzzTest() { - uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); - DeviceType deviceType = DeviceTypeVec[deviceTypeCount]; uint32_t deviceRoleCount = GetData() % DeviceRoleVec.size(); DeviceRole deviceRole = DeviceRoleVec[deviceRoleCount]; + uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); + DeviceType deviceType = DeviceTypeVec[deviceTypeCount]; auto desc = make_shared(deviceType, deviceRole); AudioConnectedDevice::GetInstance().connectedDevices_.push_back(desc); AudioConnectedDevice::GetInstance().IsConnectedOutputDevice(desc); @@ -139,8 +139,8 @@ void CheckExistOutputDeviceFuzzTest() { std::string macAddress = "test"; auto audioConnectedDevice = std::make_shared(); - uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); uint32_t deviceRoleCount = GetData() % DeviceRoleVec.size(); + uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); auto desc = make_shared(DeviceTypeVec[deviceTypeCount], DeviceRoleVec[deviceRoleCount]); audioConnectedDevice->connectedDevices_.push_back(desc); deviceTypeCount = GetData() % DeviceTypeVec.size(); @@ -150,8 +150,8 @@ void CheckExistOutputDeviceFuzzTest() void CheckExistInputDeviceFuzzTest() { auto audioConnectedDevice = std::make_shared(); - uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); uint32_t deviceRoleCount = GetData() % DeviceRoleVec.size(); + uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); auto desc = make_shared(DeviceTypeVec[deviceTypeCount], DeviceRoleVec[deviceRoleCount]); audioConnectedDevice->connectedDevices_.push_back(desc); deviceTypeCount = GetData() % DeviceTypeVec.size(); @@ -171,10 +171,18 @@ void GetConnectedDeviceByTypeFuzzTest() audioConnectedDevice->GetConnectedDeviceByType(networkId, DeviceTypeVec[deviceTypeCount]); } +void GetUsbDeviceDescriptorFuzzTest() +{ + std::string address = "test"; + auto audioConnectedDevice = std::make_shared(); + uint32_t deviceRoleCount = GetData() % DeviceRoleVec.size(); + audioConnectedDevice->GetUsbDeviceDescriptor(address, DeviceRoleVec[deviceRoleCount]); +} + void UpdateConnectDeviceFuzzTest() { - string macAddress = "macAddress"; string deviceName = "deviceName"; + string macAddress = "macAddress"; AudioStreamInfo streamInfo; auto audioConnectedDevice = std::make_shared(); uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); @@ -188,14 +196,6 @@ void UpdateConnectDeviceFuzzTest() audioConnectedDevice->UpdateConnectDevice(DeviceTypeVec[deviceTypeCount], macAddress, deviceName, streamInfo); } -void GetUsbDeviceDescriptorFuzzTest() -{ - std::string address = "test"; - auto audioConnectedDevice = std::make_shared(); - uint32_t deviceRoleCount = GetData() % DeviceRoleVec.size(); - audioConnectedDevice->GetUsbDeviceDescriptor(address, DeviceRoleVec[deviceRoleCount]); -} - void UpdateSpatializationSupportedFuzzTest() { string macAddress = "test"; @@ -240,17 +240,6 @@ void CheckDeviceConnectedFuzzTest() audioConnectedDevice->CheckDeviceConnected(selectedDevice); } -void HasArmFuzzTest() -{ - auto audioConnectedDevice = std::make_shared(); - uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); - uint32_t deviceRoleCount = GetData() % DeviceRoleVec.size(); - auto desc = make_shared(DeviceTypeVec[deviceTypeCount], DeviceRoleVec[deviceRoleCount]); - audioConnectedDevice->connectedDevices_.push_back(desc); - deviceRoleCount = GetData() % DeviceRoleVec.size(); - audioConnectedDevice->HasArm(DeviceRoleVec[deviceRoleCount]); -} - void HasHifiFuzzTest() { auto audioConnectedDevice = std::make_shared(); @@ -262,17 +251,15 @@ void HasHifiFuzzTest() bool result = audioConnectedDevice->HasHifi(DeviceRoleVec[deviceRoleCount]); } -void IsArmDeviceFuzzTest() +void HasArmFuzzTest() { - string address = "test"; - auto audioConnectedDevice = make_shared(); + auto audioConnectedDevice = std::make_shared(); uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); uint32_t deviceRoleCount = GetData() % DeviceRoleVec.size(); auto desc = make_shared(DeviceTypeVec[deviceTypeCount], DeviceRoleVec[deviceRoleCount]); - desc->macAddress_ = address; audioConnectedDevice->connectedDevices_.push_back(desc); deviceRoleCount = GetData() % DeviceRoleVec.size(); - bool result = audioConnectedDevice->IsArmDevice(address, DeviceRoleVec[deviceRoleCount]); + audioConnectedDevice->HasArm(DeviceRoleVec[deviceRoleCount]); } void AudioConnectedDeviceGetAllConnectedDeviceByTypeFuzzTest() @@ -324,6 +311,19 @@ void AudioConnectedDeviceSetDisplayNameFuzzTest() audioConnectedDevice->SetDisplayName(macAddress, deviceName); } +void IsArmDeviceFuzzTest() +{ + string address = "test"; + auto audioConnectedDevice = make_shared(); + uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); + uint32_t deviceRoleCount = GetData() % DeviceRoleVec.size(); + auto desc = make_shared(DeviceTypeVec[deviceTypeCount], DeviceRoleVec[deviceRoleCount]); + desc->macAddress_ = address; + audioConnectedDevice->connectedDevices_.push_back(desc); + deviceRoleCount = GetData() % DeviceRoleVec.size(); + bool result = audioConnectedDevice->IsArmDevice(address, DeviceRoleVec[deviceRoleCount]); +} + void AudioConnectedDeviceUpdateDmDeviceMapFuzzTest() { auto audioConnectedDevice = make_shared(); @@ -353,29 +353,29 @@ void AudioConnectedDeviceUpdateDeviceDesc4DmDeviceFuzzTest() audioConnectedDevice->UpdateDeviceDesc4DmDevice(deviceDesc); } -void AudioConnectedDeviceGetDevicesInnerFuzzTest() +void AudioConnectedDeviceFindConnectedHeadsetFuzzTest() { auto audioConnectedDevice = make_shared(); - if (audioConnectedDevice == nullptr || DeviceFlagVec.size() == 0) { + if (audioConnectedDevice == nullptr) { return; } - DeviceFlag deviceFlag = DeviceFlagVec[GetData() % DeviceFlagVec.size()]; std::shared_ptr audioConnectedDeviceDesc = std::make_shared(); audioConnectedDevice->connectedDevices_.push_back(audioConnectedDeviceDesc); - audioConnectedDevice->GetDevicesInner(deviceFlag); + audioConnectedDevice->FindConnectedHeadset(); } -void AudioConnectedDeviceFindConnectedHeadsetFuzzTest() +void AudioConnectedDeviceGetDevicesInnerFuzzTest() { auto audioConnectedDevice = make_shared(); - if (audioConnectedDevice == nullptr) { + if (audioConnectedDevice == nullptr || DeviceFlagVec.size() == 0) { return; } + DeviceFlag deviceFlag = DeviceFlagVec[GetData() % DeviceFlagVec.size()]; std::shared_ptr audioConnectedDeviceDesc = std::make_shared(); audioConnectedDevice->connectedDevices_.push_back(audioConnectedDeviceDesc); - audioConnectedDevice->FindConnectedHeadset(); + audioConnectedDevice->GetDevicesInner(deviceFlag); } void AudioConnectedDeviceGetDevicesForGroupFuzzTest() diff --git a/test/fuzztest/audioconnecteddevice_fuzzer/corpus/init b/test/fuzztest/audiopolicy_fuzzer/audioconnecteddevice_fuzzer/corpus/init similarity index 100% rename from test/fuzztest/audioconnecteddevice_fuzzer/corpus/init rename to test/fuzztest/audiopolicy_fuzzer/audioconnecteddevice_fuzzer/corpus/init diff --git a/test/fuzztest/audioconnecteddevice_fuzzer/project.xml b/test/fuzztest/audiopolicy_fuzzer/audioconnecteddevice_fuzzer/project.xml similarity index 100% rename from test/fuzztest/audioconnecteddevice_fuzzer/project.xml rename to test/fuzztest/audiopolicy_fuzzer/audioconnecteddevice_fuzzer/project.xml diff --git a/test/fuzztest/audiodevicecommon_fuzzer/BUILD.gn b/test/fuzztest/audiopolicy_fuzzer/audiodevicecommon_fuzzer/BUILD.gn similarity index 72% rename from test/fuzztest/audiodevicecommon_fuzzer/BUILD.gn rename to test/fuzztest/audiopolicy_fuzzer/audiodevicecommon_fuzzer/BUILD.gn index 891f82c0abdb8b139bb2eb7528cf3f31cefb3ab5..20d4b12367b03e82567b7911bbd3a6e55a6c1332 100644 --- a/test/fuzztest/audiodevicecommon_fuzzer/BUILD.gn +++ b/test/fuzztest/audiopolicy_fuzzer/audiodevicecommon_fuzzer/BUILD.gn @@ -13,22 +13,22 @@ import("//build/config/features.gni") import("//build/test.gni") -import("../../../accessibility.gni") -import("../../../config.gni") +import("../../../../accessibility.gni") +import("../../../../config.gni") ohos_fuzztest("AudioDeviceCommonFuzzTest") { module_out_path = "audio_framework/audio_framework_route" fuzz_config_file = "../audiodevicecommon_fuzzer" include_dirs = [ - "../../../services/audio_policy/server/include/service", - "../../../services/audio_policy/server/include", - "../../../frameworks/native/audioutils/include", - "../../../services/audio_service/common/include/limiter/", - "../../../services/audio_engine/manager/include", - "../../../frameworks/native/audioinnercall/include", - "../../../services/audio_service/server/include", - "../../../services/audio_policy/client/include", + "../../../../services/audio_policy/server/include/service", + "../../../../services/audio_policy/server/include", + "../../../../frameworks/native/audioutils/include", + "../../../../services/audio_service/common/include/limiter/", + "../../../../services/audio_engine/manager/include", + "../../../../frameworks/native/audioinnercall/include", + "../../../../services/audio_service/server/include", + "../../../../services/audio_policy/client/include", ] cflags = [ "-g", @@ -38,21 +38,21 @@ ohos_fuzztest("AudioDeviceCommonFuzzTest") { "-fno-access-control", ] configs = [ - "../../../services/audio_policy:audio_policy_public_config", - "../../../services/audio_service:audio_service_config" + "../../../../services/audio_policy:audio_policy_public_config", + "../../../../services/audio_service:audio_service_config" ] sources = [ "audio_device_common_fuzzer.cpp" ] deps = [ - "../../../frameworks/native/audioutils:audio_utils", - "../../../frameworks/native/bluetoothclient:audio_bluetooth_client", - "../../../services/audio_policy:audio_policy_service_static", - "../../../services/audio_service:audio_common", - "../../../frameworks/native/audioclock:audio_clock", - "../../../services/audio_engine:audio_engine_manager", - "../../../services/audio_policy:audio_policy_client", - "../../../services/audio_service:audio_service_static", + "../../../../frameworks/native/audioutils:audio_utils", + "../../../../frameworks/native/bluetoothclient:audio_bluetooth_client", + "../../../../services/audio_policy:audio_policy_service_static", + "../../../../services/audio_service:audio_common", + "../../../../frameworks/native/audioclock:audio_clock", + "../../../../services/audio_engine:audio_engine_manager", + "../../../../services/audio_policy:audio_policy_client", + "../../../../services/audio_service:audio_service_static", ] external_deps = [ diff --git a/test/fuzztest/audiodevicecommon_fuzzer/audio_device_common_fuzzer.cpp b/test/fuzztest/audiopolicy_fuzzer/audiodevicecommon_fuzzer/audio_device_common_fuzzer.cpp similarity index 99% rename from test/fuzztest/audiodevicecommon_fuzzer/audio_device_common_fuzzer.cpp rename to test/fuzztest/audiopolicy_fuzzer/audiodevicecommon_fuzzer/audio_device_common_fuzzer.cpp index 56930586a9bf288fefcd38b6ddf50f08b7dd456b..c8af269662e4e500ec416245a36d9c80338a6702 100644 --- a/test/fuzztest/audiodevicecommon_fuzzer/audio_device_common_fuzzer.cpp +++ b/test/fuzztest/audiopolicy_fuzzer/audiodevicecommon_fuzzer/audio_device_common_fuzzer.cpp @@ -164,6 +164,13 @@ vector SourceTypeVec = { SOURCE_TYPE_MAX, }; +vector DeviceRoleVec = { + DEVICE_ROLE_NONE, + INPUT_DEVICE, + OUTPUT_DEVICE, + DEVICE_ROLE_MAX, +}; + vector AudioSamplingRateVec = { SAMPLE_RATE_8000, SAMPLE_RATE_11025, @@ -181,13 +188,6 @@ vector AudioSamplingRateVec = { SAMPLE_RATE_192000, }; -vector DeviceRoleVec = { - DEVICE_ROLE_NONE, - INPUT_DEVICE, - OUTPUT_DEVICE, - DEVICE_ROLE_MAX, -}; - const vector AudioStreamTypeVec = { STREAM_DEFAULT, STREAM_VOICE_CALL, @@ -225,8 +225,8 @@ const vector AudioStreamTypeVec = { void FilterSourceOutputsFuzzTest() { - AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); int32_t sessionId = GetData(); + AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); audioDeviceCommon.FilterSourceOutputs(sessionId); } @@ -241,17 +241,6 @@ void IsRingerOrAlarmerDualDevicesRangeFuzzTest() audioDeviceCommon.IsRingerOrAlarmerDualDevicesRange(deviceType); } -void IsRingOverPlaybackFuzzTest() -{ - AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); - int32_t modeCount = static_cast(AudioMode::AUDIO_MODE_RECORD) + 1; - AudioMode mode = static_cast(GetData() % modeCount); - int32_t rendererStateCount = - static_cast(RendererState::RENDERER_PAUSED - RendererState::RENDERER_INVALID) + 1; - RendererState state = static_cast(GetData() % rendererStateCount- 1); - audioDeviceCommon.IsRingOverPlayback(mode, state); -} - void GetPreferredInputDeviceDescInnerFuzzTest() { AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); @@ -279,6 +268,17 @@ void GetPreferredInputDeviceDescInnerFuzzTest() audioDeviceCommon.DeInit(); } +void IsRingOverPlaybackFuzzTest() +{ + AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); + int32_t modeCount = static_cast(AudioMode::AUDIO_MODE_RECORD) + 1; + AudioMode mode = static_cast(GetData() % modeCount); + int32_t rendererStateCount = + static_cast(RendererState::RENDERER_PAUSED - RendererState::RENDERER_INVALID) + 1; + RendererState state = static_cast(GetData() % rendererStateCount- 1); + audioDeviceCommon.IsRingOverPlayback(mode, state); +} + void GetPreferredInputStreamTypeInnerFuzzTest() { AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); @@ -286,13 +286,14 @@ void GetPreferredInputStreamTypeInnerFuzzTest() return; } uint32_t sourceTypeCount = GetData() % SourceTypeVec.size(); - SourceType sourceType = SourceTypeVec[sourceTypeCount]; uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); + uint32_t samplingRateCount = GetData() % AudioSamplingRateVec.size(); + SourceType sourceType = SourceTypeVec[sourceTypeCount]; DeviceType deviceType = DeviceTypeVec[deviceTypeCount]; + AudioSamplingRate samplingRate = AudioSamplingRateVec[samplingRateCount]; int32_t flags = GetData(); std::string networkId = "abc"; - uint32_t samplingRateCount = GetData() % AudioSamplingRateVec.size(); - AudioSamplingRate samplingRate = AudioSamplingRateVec[samplingRateCount]; + audioDeviceCommon.GetPreferredInputStreamTypeInner(sourceType, deviceType, flags, networkId, samplingRate); } @@ -309,25 +310,6 @@ void UpdateDeviceInfoFuzzTest() hasBTPermission, hasSystemPermission); } -void UpdateConnectedDevicesWhenDisconnectingFuzzTest() -{ - AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); - AudioDeviceDescriptor updatedDesc; - if (DeviceTypeVec.size() == 0 || DeviceRoleVec.size() == 0) { - return; - } - uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); - updatedDesc.deviceType_ = DeviceTypeVec[deviceTypeCount]; - uint32_t roleCount = GetData() % DeviceRoleVec.size(); - updatedDesc.deviceRole_ = DeviceRoleVec[roleCount]; - std::shared_ptr audioDeviceDescriptorSptr = std::make_shared(); - deviceTypeCount = GetData() % DeviceTypeVec.size(); - audioDeviceDescriptorSptr->deviceType_ = DeviceTypeVec[deviceTypeCount]; - std::vector> audioDeviceDescriptorSptrVector; - audioDeviceDescriptorSptrVector.push_back(audioDeviceDescriptorSptr); - audioDeviceCommon.UpdateConnectedDevicesWhenDisconnecting(updatedDesc, audioDeviceDescriptorSptrVector); -} - void UpdateDualToneStateFuzzTest() { AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); @@ -353,6 +335,25 @@ void IsFastFromA2dpToA2dpFuzzTest() audioDeviceCommon.IsFastFromA2dpToA2dp(desc, rendererChangeInfo, reason); } +void UpdateConnectedDevicesWhenDisconnectingFuzzTest() +{ + AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); + AudioDeviceDescriptor updatedDesc; + if (DeviceTypeVec.size() == 0 || DeviceRoleVec.size() == 0) { + return; + } + uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); + updatedDesc.deviceType_ = DeviceTypeVec[deviceTypeCount]; + uint32_t roleCount = GetData() % DeviceRoleVec.size(); + updatedDesc.deviceRole_ = DeviceRoleVec[roleCount]; + std::shared_ptr audioDeviceDescriptorSptr = std::make_shared(); + deviceTypeCount = GetData() % DeviceTypeVec.size(); + audioDeviceDescriptorSptr->deviceType_ = DeviceTypeVec[deviceTypeCount]; + std::vector> audioDeviceDescriptorSptrVector; + audioDeviceDescriptorSptrVector.push_back(audioDeviceDescriptorSptr); + audioDeviceCommon.UpdateConnectedDevicesWhenDisconnecting(updatedDesc, audioDeviceDescriptorSptrVector); +} + void SetDeviceConnectedFlagWhenFetchOutputDeviceFuzzTest() { AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); @@ -387,18 +388,18 @@ void GetDeviceDescriptorInnerFuzzTest() audioDeviceCommon.GetDeviceDescriptorInner(rendererChangeInfo); } -void FetchOutputEndFuzzTest() +void FetchOutputDeviceWhenNoRunningStreamFuzzTest() { AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); - bool isUpdateActiveDevice = GetData() % NUM_2; - int32_t runningStreamCount = GetData(); - audioDeviceCommon.FetchOutputEnd(isUpdateActiveDevice, runningStreamCount, AudioStreamDeviceChangeReason::UNKNOWN); + audioDeviceCommon.FetchOutputDeviceWhenNoRunningStream(AudioStreamDeviceChangeReason::UNKNOWN); } -void FetchOutputDeviceWhenNoRunningStreamFuzzTest() +void FetchOutputEndFuzzTest() { AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); - audioDeviceCommon.FetchOutputDeviceWhenNoRunningStream(AudioStreamDeviceChangeReason::UNKNOWN); + bool isUpdateActiveDevice = GetData() % NUM_2; + int32_t runningStreamCount = GetData(); + audioDeviceCommon.FetchOutputEnd(isUpdateActiveDevice, runningStreamCount, AudioStreamDeviceChangeReason::UNKNOWN); } void HandleDeviceChangeForFetchOutputDeviceFuzzTest() @@ -438,6 +439,12 @@ void MuteSinkForSwitchGeneralDeviceFuzzTest() audioDeviceCommon.MuteSinkForSwitchGeneralDevice(rendererChangeInfo, audioDeviceDescriptorUniqueptrVector, reason); } +void SetVoiceCallMuteForSwitchDeviceFuzzTest() +{ + AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); + audioDeviceCommon.SetVoiceCallMuteForSwitchDevice(); +} + void MuteSinkForSwitchBluetoothDeviceFuzzTest() { AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); @@ -455,12 +462,6 @@ void MuteSinkForSwitchBluetoothDeviceFuzzTest() audioDeviceDescriptorUniqueptrVector, reason); } -void SetVoiceCallMuteForSwitchDeviceFuzzTest() -{ - AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); - audioDeviceCommon.SetVoiceCallMuteForSwitchDevice(); -} - void IsRendererStreamRunningFuzzTest() { AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); @@ -494,8 +495,8 @@ void ActivateA2dpDeviceWhenDescEnabledFuzzTest() void ActivateA2dpDeviceFuzzTest() { AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); - std::shared_ptr desc = std::make_shared(); std::shared_ptr rendererChangeInfo = std::make_shared(); + std::shared_ptr desc = std::make_shared(); vector> rendererChangeInfos; rendererChangeInfos.push_back(std::move(rendererChangeInfo)); AudioStreamDeviceChangeReasonExt reason = AudioStreamDeviceChangeReason::UNKNOWN; @@ -513,6 +514,18 @@ void HandleScoOutputDeviceFetchedFuzzTest() audioDeviceCommon.HandleScoOutputDeviceFetched(desc, rendererChangeInfos, reason); } +void NeedRehandleA2DPDeviceFuzzTest() +{ + AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); + std::shared_ptr desc = std::make_shared(); + if (desc == nullptr || DeviceTypeVec.size() == 0) { + return; + } + uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); + desc->deviceType_ = DeviceTypeVec[deviceTypeCount]; + audioDeviceCommon.NeedRehandleA2DPDevice(desc); +} + void NotifyRecreateRendererStreamFuzzTest() { AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); @@ -535,18 +548,6 @@ void NotifyRecreateRendererStreamFuzzTest() audioDeviceCommon.NotifyRecreateRendererStream(desc, rendererChangeInfo, reason); } -void NeedRehandleA2DPDeviceFuzzTest() -{ - AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); - std::shared_ptr desc = std::make_shared(); - if (desc == nullptr || DeviceTypeVec.size() == 0) { - return; - } - uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); - desc->deviceType_ = DeviceTypeVec[deviceTypeCount]; - audioDeviceCommon.NeedRehandleA2DPDevice(desc); -} - void MoveToNewOutputDeviceFuzzTest() { AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); @@ -586,12 +587,12 @@ void MuteSinkPortFuzzTest() if (oldSinknameList.size() == 0) { return; } - uint32_t oldSinknameCount = GetData() % oldSinknameList.size(); - std::string oldSinkname = oldSinknameList[oldSinknameCount]; std::vector newSinkNameList = {"", "Offload_Speaker"}; if (newSinkNameList.size() == 0) { return; } + uint32_t oldSinknameCount = GetData() % oldSinknameList.size(); + std::string oldSinkname = oldSinknameList[oldSinknameCount]; uint32_t newSinkNameCount = GetData() % newSinkNameList.size(); std::string newSinkName = newSinkNameList[newSinkNameCount]; int32_t reasonCount = static_cast(AudioStreamDeviceChangeReason::OVERRODE) + 1; @@ -606,8 +607,8 @@ void TriggerRecreateRendererStreamCallbackFuzzTest() { AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); int32_t callerPid = 0; - int32_t sessionId = 0; int32_t streamFlag = 0; + int32_t sessionId = 0; int32_t reasonCount = static_cast(AudioStreamDeviceChangeReason::OVERRODE) + 1; AudioStreamDeviceChangeReasonExt reason = static_cast(GetData() % reasonCount); @@ -626,28 +627,6 @@ void IsDualStreamWhenRingDualFuzzTest() audioDeviceCommon.IsDualStreamWhenRingDual(streamType); } -void UpdateRouteFuzzTest() -{ - AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); - shared_ptr rendererChangeInfo = make_shared(); - if (rendererChangeInfo == nullptr || DeviceTypeVec.size() == 0 || StreamUsageVec.size() == 0) { - return; - } - uint32_t streamUsageCount = GetData() % StreamUsageVec.size(); - rendererChangeInfo->rendererInfo.streamUsage = StreamUsageVec[streamUsageCount]; - - std::shared_ptr outputdevice = std::make_shared(); - if (outputdevice == nullptr) { - return; - } - uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); - outputdevice->deviceType_ = DeviceTypeVec[deviceTypeCount]; - vector> outputDevices; - outputDevices.push_back(std::move(outputdevice)); - VolumeUtils::SetPCVolumeEnable(GetData() % NUM_2); - audioDeviceCommon.UpdateRoute(rendererChangeInfo, outputDevices); -} - void IsRingDualToneOnPrimarySpeakerFuzzTest() { AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); @@ -673,6 +652,28 @@ void IsRingDualToneOnPrimarySpeakerFuzzTest() audioDeviceCommon.IsRingDualToneOnPrimarySpeaker(descs, 1); } +void UpdateRouteFuzzTest() +{ + AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); + shared_ptr rendererChangeInfo = make_shared(); + if (rendererChangeInfo == nullptr || DeviceTypeVec.size() == 0 || StreamUsageVec.size() == 0) { + return; + } + uint32_t streamUsageCount = GetData() % StreamUsageVec.size(); + rendererChangeInfo->rendererInfo.streamUsage = StreamUsageVec[streamUsageCount]; + + std::shared_ptr outputdevice = std::make_shared(); + if (outputdevice == nullptr) { + return; + } + uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); + outputdevice->deviceType_ = DeviceTypeVec[deviceTypeCount]; + vector> outputDevices; + outputDevices.push_back(std::move(outputdevice)); + VolumeUtils::SetPCVolumeEnable(GetData() % NUM_2); + audioDeviceCommon.UpdateRoute(rendererChangeInfo, outputDevices); +} + void ClearRingMuteWhenCallStartFuzzTest() { AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); @@ -717,23 +718,6 @@ void HandleDeviceChangeForFetchInputDeviceFuzzTest() audioDeviceCommon.HandleDeviceChangeForFetchInputDevice(desc, capturerChangeInfo); } -void HandleBluetoothInputDeviceFetchedFuzzTest() -{ - AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); - std::shared_ptr desc = std::make_shared(); - if (desc == nullptr || DeviceTypeVec.size() == 0 || SourceTypeVec.size() == 0) { - return; - } - uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); - desc->deviceType_ = DeviceTypeVec[deviceTypeCount]; - std::shared_ptr captureChangeInfo = std::make_shared(); - vector> captureChangeInfos; - captureChangeInfos.push_back(std::move(captureChangeInfo)); - uint32_t sourceTypeCount = GetData() % SourceTypeVec.size(); - SourceType sourceType = SourceTypeVec[sourceTypeCount]; - audioDeviceCommon.HandleBluetoothInputDeviceFetched(desc, captureChangeInfos, sourceType); -} - void NotifyRecreateCapturerStreamFuzzTest() { AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); @@ -757,6 +741,26 @@ void NotifyRecreateCapturerStreamFuzzTest() audioDeviceCommon.NotifyRecreateCapturerStream(isUpdateActiveDevice, capturerChangeInfo, reason); } +void HandleBluetoothInputDeviceFetchedFuzzTest() +{ + AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); + if (DeviceTypeVec.size() == 0 || SourceTypeVec.size() == 0) { + return; + } + std::shared_ptr desc = std::make_shared(); + if (desc == nullptr) { + return; + } + uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); + desc->deviceType_ = DeviceTypeVec[deviceTypeCount]; + std::shared_ptr captureChangeInfo = std::make_shared(); + vector> captureChangeInfos; + captureChangeInfos.push_back(std::move(captureChangeInfo)); + uint32_t sourceTypeCount = GetData() % SourceTypeVec.size(); + SourceType sourceType = SourceTypeVec[sourceTypeCount]; + audioDeviceCommon.HandleBluetoothInputDeviceFetched(desc, captureChangeInfos, sourceType); +} + void MoveToRemoteInputDeviceFuzzTest() { AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); @@ -856,16 +860,16 @@ void GetSourceOutputsFuzzTest() audioDeviceCommon.GetSourceOutputs(); } -void ClientDiedDisconnectScoNormalFuzzTest() +void ClientDiedDisconnectScoRecognitionFuzzTest() { AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); - audioDeviceCommon.ClientDiedDisconnectScoNormal(); + audioDeviceCommon.ClientDiedDisconnectScoRecognition(); } -void ClientDiedDisconnectScoRecognitionFuzzTest() +void ClientDiedDisconnectScoNormalFuzzTest() { AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); - audioDeviceCommon.ClientDiedDisconnectScoRecognition(); + audioDeviceCommon.ClientDiedDisconnectScoNormal(); } void GetA2dpModuleInfoFuzzTest() @@ -878,9 +882,10 @@ void GetA2dpModuleInfoFuzzTest() audioDeviceCommon.GetA2dpModuleInfo(moduleInfo, audioStreamInfo, sourceType); } -void LoadA2dpModuleFuzzTest() +void ReloadA2dpAudioPortFuzzTest() { AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); + AudioModuleInfo moduleInfo; uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); DeviceType deviceType = DeviceTypeVec[deviceTypeCount]; AudioStreamInfo audioStreamInfo; @@ -888,19 +893,12 @@ void LoadA2dpModuleFuzzTest() std::string sinkName = ""; uint32_t sourceTypeCount = GetData() % SourceTypeVec.size(); SourceType sourceType = SourceTypeVec[sourceTypeCount]; - ClassType classType = GetData(); - AudioModuleInfo moduleInfo; - std::list moduleInfoList; - moduleInfoList.push_back(moduleInfo); - audioDeviceCommon.audioConfigManager_.deviceClassInfo_.insert({classType, moduleInfoList}); - audioDeviceCommon.LoadA2dpModule(deviceType, audioStreamInfo, networkID, sinkName, sourceType); - audioDeviceCommon.audioConfigManager_.deviceClassInfo_.clear(); + audioDeviceCommon.ReloadA2dpAudioPort(moduleInfo, deviceType, audioStreamInfo, networkID, sinkName, sourceType); } -void ReloadA2dpAudioPortFuzzTest() +void LoadA2dpModuleFuzzTest() { AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); - AudioModuleInfo moduleInfo; uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); DeviceType deviceType = DeviceTypeVec[deviceTypeCount]; AudioStreamInfo audioStreamInfo; @@ -908,9 +906,14 @@ void ReloadA2dpAudioPortFuzzTest() std::string sinkName = ""; uint32_t sourceTypeCount = GetData() % SourceTypeVec.size(); SourceType sourceType = SourceTypeVec[sourceTypeCount]; - audioDeviceCommon.ReloadA2dpAudioPort(moduleInfo, deviceType, audioStreamInfo, networkID, sinkName, sourceType); + ClassType classType = GetData(); + AudioModuleInfo moduleInfo; + std::list moduleInfoList; + moduleInfoList.push_back(moduleInfo); + audioDeviceCommon.audioConfigManager_.deviceClassInfo_.insert({classType, moduleInfoList}); + audioDeviceCommon.LoadA2dpModule(deviceType, audioStreamInfo, networkID, sinkName, sourceType); + audioDeviceCommon.audioConfigManager_.deviceClassInfo_.clear(); } - void SwitchActiveA2dpDeviceFuzzTest() { AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); @@ -927,18 +930,18 @@ void SwitchActiveA2dpDeviceFuzzTest() audioDeviceCommon.SwitchActiveA2dpDevice(deviceDescriptor); } -void RingToneVoiceControlFuzzTest() +void SetFirstScreenOnFuzzTest() { AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); - uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); - InternalDeviceType deviceType = DeviceTypeVec[deviceTypeCount]; - audioDeviceCommon.RingToneVoiceControl(deviceType); + audioDeviceCommon.SetFirstScreenOn(); } -void SetFirstScreenOnFuzzTest() +void RingToneVoiceControlFuzzTest() { AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); - audioDeviceCommon.SetFirstScreenOn(); + uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); + InternalDeviceType deviceType = DeviceTypeVec[deviceTypeCount]; + audioDeviceCommon.RingToneVoiceControl(deviceType); } void SetVirtualCallFuzzTest() @@ -959,16 +962,6 @@ void SetHeadsetUnpluggedToSpkOrEpFlagFuzzTest() audioDeviceCommon.SetHeadsetUnpluggedToSpkOrEpFlag(oldDeviceType, newDeviceType); } -void WriteInputRouteChangeEventFuzzTest() -{ - AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); - std::shared_ptr desc = std::make_shared(); - uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); - desc->deviceType_ = DeviceTypeVec[deviceTypeCount]; - AudioStreamDeviceChangeReasonExt reason = AudioStreamDeviceChangeReason::UNKNOWN; - audioDeviceCommon.WriteInputRouteChangeEvent(desc, reason); -} - void MoveToNewInputDeviceFuzzTest() { AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); @@ -995,6 +988,16 @@ void MoveToNewInputDeviceFuzzTest() audioDeviceCommon.MoveToNewInputDevice(capturerChangeInfo, inputDevice); } +void WriteInputRouteChangeEventFuzzTest() +{ + AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); + std::shared_ptr desc = std::make_shared(); + uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); + desc->deviceType_ = DeviceTypeVec[deviceTypeCount]; + AudioStreamDeviceChangeReasonExt reason = AudioStreamDeviceChangeReason::UNKNOWN; + audioDeviceCommon.WriteInputRouteChangeEvent(desc, reason); +} + void BluetoothScoFetchFuzzTest() { AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); @@ -1022,16 +1025,6 @@ void BluetoothScoFetchFuzzTest() audioDeviceCommon.audioActiveDevice_.GetCurrentInputDevice(); } -void HandleA2dpInputDeviceFetchedFuzzTest() -{ - AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); - audioDeviceCommon.DeInit(); - std::shared_ptr desc = std::make_shared(); - uint32_t sourceTypeCount = GetData() % SourceTypeVec.size(); - SourceType sourceType = SourceTypeVec[sourceTypeCount]; - audioDeviceCommon.HandleA2dpInputDeviceFetched(desc, sourceType); -} - void TriggerRecreateCapturerStreamCallbackFuzzTest() { AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); @@ -1048,6 +1041,16 @@ void TriggerRecreateCapturerStreamCallbackFuzzTest() audioDeviceCommon.DeInit(); } +void HandleA2dpInputDeviceFetchedFuzzTest() +{ + AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); + audioDeviceCommon.DeInit(); + std::shared_ptr desc = std::make_shared(); + uint32_t sourceTypeCount = GetData() % SourceTypeVec.size(); + SourceType sourceType = SourceTypeVec[sourceTypeCount]; + audioDeviceCommon.HandleA2dpInputDeviceFetched(desc, sourceType); +} + void HandleScoInputDeviceFetchedFuzzTest() { AudioDeviceCommon& audioDeviceCommon = AudioDeviceCommon::GetInstance(); diff --git a/test/fuzztest/audiodevicecommon_fuzzer/corpus/init b/test/fuzztest/audiopolicy_fuzzer/audiodevicecommon_fuzzer/corpus/init similarity index 100% rename from test/fuzztest/audiodevicecommon_fuzzer/corpus/init rename to test/fuzztest/audiopolicy_fuzzer/audiodevicecommon_fuzzer/corpus/init diff --git a/test/fuzztest/audiodevicecommon_fuzzer/project.xml b/test/fuzztest/audiopolicy_fuzzer/audiodevicecommon_fuzzer/project.xml similarity index 100% rename from test/fuzztest/audiodevicecommon_fuzzer/project.xml rename to test/fuzztest/audiopolicy_fuzzer/audiodevicecommon_fuzzer/project.xml diff --git a/test/fuzztest/audiodevicelock_fuzzer/BUILD.gn b/test/fuzztest/audiopolicy_fuzzer/audiodevicelock_fuzzer/BUILD.gn similarity index 73% rename from test/fuzztest/audiodevicelock_fuzzer/BUILD.gn rename to test/fuzztest/audiopolicy_fuzzer/audiodevicelock_fuzzer/BUILD.gn index e7ce687ba0ee0d5c024c29acab6a4f4aa7f1b037..b0071a9a5f01eddd223ea3551315ee6a41726c55 100644 --- a/test/fuzztest/audiodevicelock_fuzzer/BUILD.gn +++ b/test/fuzztest/audiopolicy_fuzzer/audiodevicelock_fuzzer/BUILD.gn @@ -13,20 +13,20 @@ import("//build/config/features.gni") import("//build/test.gni") -import("../../../accessibility.gni") -import("../../../config.gni") +import("../../../../accessibility.gni") +import("../../../../config.gni") ohos_fuzztest("AudioDeviceLockFuzzTest") { module_out_path = "audio_framework/audio_framework_route" fuzz_config_file = "../audiodevicelock_fuzzer" include_dirs = [ - "../../../services/audio_policy/server/include/service", - "../../../services/audio_policy/server/include", - "../../../frameworks/native/audioutils/include", - "../../../services/audio_service/common/include/limiter/", - "../../../services/audio_engine/manager/include", - "../../../services/audio_service/server/include", + "../../../../services/audio_policy/server/include/service", + "../../../../services/audio_policy/server/include", + "../../../../frameworks/native/audioutils/include", + "../../../../services/audio_service/common/include/limiter/", + "../../../../services/audio_engine/manager/include", + "../../../../services/audio_service/server/include", ] cflags = [ @@ -38,20 +38,20 @@ ohos_fuzztest("AudioDeviceLockFuzzTest") { ] configs = [ - "../../../services/audio_policy:audio_policy_public_config", - "../../../services/audio_engine:audio_engine_node_config", + "../../../../services/audio_policy:audio_policy_public_config", + "../../../../services/audio_engine:audio_engine_node_config", ] sources = [ "audio_device_lock_fuzzer.cpp" ] deps = [ - "../../../frameworks/native/audioutils:audio_utils", - "../../../frameworks/native/bluetoothclient:audio_bluetooth_client", - "../../../services/audio_policy:audio_policy_service_static", - "../../../services/audio_service:audio_common", - "../../../frameworks/native/audioclock:audio_clock", - "../../../services/audio_engine:audio_engine_manager", - "../../../services/audio_engine:audio_engine_utils", + "../../../../frameworks/native/audioutils:audio_utils", + "../../../../frameworks/native/bluetoothclient:audio_bluetooth_client", + "../../../../services/audio_policy:audio_policy_service_static", + "../../../../services/audio_service:audio_common", + "../../../../frameworks/native/audioclock:audio_clock", + "../../../../services/audio_engine:audio_engine_manager", + "../../../../services/audio_engine:audio_engine_utils", ] external_deps = [ diff --git a/test/fuzztest/audiodevicelock_fuzzer/audio_device_lock_fuzzer.cpp b/test/fuzztest/audiopolicy_fuzzer/audiodevicelock_fuzzer/audio_device_lock_fuzzer.cpp similarity index 100% rename from test/fuzztest/audiodevicelock_fuzzer/audio_device_lock_fuzzer.cpp rename to test/fuzztest/audiopolicy_fuzzer/audiodevicelock_fuzzer/audio_device_lock_fuzzer.cpp index e9d3b92e105dd267113faab739d2ab2b1cd589c5..430597a1f1490bf054bdc512f9c40aa35922f19e 100644 --- a/test/fuzztest/audiodevicelock_fuzzer/audio_device_lock_fuzzer.cpp +++ b/test/fuzztest/audiopolicy_fuzzer/audiodevicelock_fuzzer/audio_device_lock_fuzzer.cpp @@ -138,16 +138,6 @@ const vector AudioDeviceUsageVec = { D_ALL_DEVICES, }; -void RegisterTrackerFuzzTest() -{ - auto audioDeviceLock = std::make_shared(); - int32_t modeCount = static_cast(AudioMode::AUDIO_MODE_RECORD) + 1; - AudioMode mode = static_cast(GetData() % modeCount); - AudioStreamChangeInfo streamChangeInfo; - sptr object = nullptr; - int32_t apiVersion = GetData(); -} - void SendA2dpConnectedWhileRunningFuzzTest() { auto audioDeviceLock = std::make_shared(); @@ -158,19 +148,36 @@ void SendA2dpConnectedWhileRunningFuzzTest() audioDeviceLock->audioA2dpOffloadManager_ = std::make_shared(); } -void HandleAudioCaptureStateFuzzTest() +void RegisterTrackerFuzzTest() { auto audioDeviceLock = std::make_shared(); int32_t modeCount = static_cast(AudioMode::AUDIO_MODE_RECORD) + 1; AudioMode mode = static_cast(GetData() % modeCount); AudioStreamChangeInfo streamChangeInfo; + sptr object = nullptr; + int32_t apiVersion = GetData(); +} + +void HandleAudioCaptureStateFuzzTest() +{ + auto audioDeviceLock = std::make_shared(); + int32_t modeCount = static_cast(AudioMode::AUDIO_MODE_RECORD) + 1; int32_t capturerStateCount = static_cast(CapturerState::CAPTURER_PAUSED) + 1; + AudioMode mode = static_cast(GetData() % modeCount); + AudioStreamChangeInfo streamChangeInfo; streamChangeInfo.audioCapturerChangeInfo.capturerState = static_cast(GetData() % capturerStateCount); uint32_t sourceTypeCount = GetData() % SourceTypeVec.size(); streamChangeInfo.audioCapturerChangeInfo.capturerInfo.sourceType = SourceTypeVec[sourceTypeCount]; } +void RegisteredTrackerClientDiedFuzzTest() +{ + auto audioDeviceLock = std::make_shared(); + int32_t uidCount = static_cast(AudioPipeType::PIPE_TYPE_DIRECT_VOIP) + 1; + pid_t uid = static_cast(GetData() % uidCount); +} + void UpdateTrackerFuzzTest() { auto audioDeviceLock = std::make_shared(); @@ -183,11 +190,14 @@ void UpdateTrackerFuzzTest() static_cast(GetData() % rendererStateCount - 1); } -void RegisteredTrackerClientDiedFuzzTest() +void GetCurrentRendererChangeInfosFuzzTest() { auto audioDeviceLock = std::make_shared(); - int32_t uidCount = static_cast(AudioPipeType::PIPE_TYPE_DIRECT_VOIP) + 1; - pid_t uid = static_cast(GetData() % uidCount); + std::vector> audioRendererChangeInfos = { + std::make_shared() + }; + bool hasBTPermission = GetData() % NUM_2; + bool hasSystemPermission = GetData() % NUM_2; } void OnDeviceStatusUpdatedFuzzTest() @@ -195,21 +205,18 @@ void OnDeviceStatusUpdatedFuzzTest() auto audioDeviceLock = std::make_shared(); AudioDeviceDescriptor updatedDesc; uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); - updatedDesc.deviceType_ = DeviceTypeVec[deviceTypeCount]; int32_t connectStateCount = static_cast(ConnectState::DEACTIVE_CONNECTED) + 1; + updatedDesc.deviceType_ = DeviceTypeVec[deviceTypeCount]; updatedDesc.connectState_ = static_cast(GetData() % connectStateCount); bool isConnected = GetData() % NUM_2; audioDeviceLock->OnDeviceStatusUpdated(updatedDesc, isConnected); } -void GetCurrentRendererChangeInfosFuzzTest() +void SetAudioSceneFuzzTest() { auto audioDeviceLock = std::make_shared(); - std::vector> audioRendererChangeInfos = { - std::make_shared() - }; - bool hasBTPermission = GetData() % NUM_2; - bool hasSystemPermission = GetData() % NUM_2; + int32_t audioSceneCount = static_cast(AudioScene::AUDIO_SCENE_MAX - AudioScene::AUDIO_SCENE_INVALID) + 1; + AudioScene audioScene = static_cast(GetData() % audioSceneCount - 1); } void GetVolumeGroupInfosFuzzTest() @@ -218,13 +225,6 @@ void GetVolumeGroupInfosFuzzTest() audioDeviceLock->audioVolumeManager_.isPrimaryMicModuleInfoLoaded_.store(GetData() % NUM_2); } -void SetAudioSceneFuzzTest() -{ - auto audioDeviceLock = std::make_shared(); - int32_t audioSceneCount = static_cast(AudioScene::AUDIO_SCENE_MAX - AudioScene::AUDIO_SCENE_INVALID) + 1; - AudioScene audioScene = static_cast(GetData() % audioSceneCount - 1); -} - void AudioDeviceLockGetDevicesFuzzTest() { vector testDeviceFlags = { @@ -320,28 +320,28 @@ void AudioDeviceLockGetExcludedDevicesFuzzTest() audioDeviceLock->GetExcludedDevices(audioDevUsage); } -void AudioDeviceLockOnPnpDeviceStatusUpdatedFuzzTest() +void AudioDeviceLockUpdateSpatializationSupportedFuzzTest() { auto audioDeviceLock = std::make_shared(); if (audioDeviceLock == nullptr) { return; } - AudioDeviceDescriptor desc; - bool isConnected = GetData() % NUM_2; - audioDeviceLock->OnPnpDeviceStatusUpdated(desc, isConnected); + std::string macAddress = "test_mac_address"; + bool support = GetData() % NUM_2; + audioDeviceLock->UpdateSpatializationSupported(macAddress, support); } -void AudioDeviceLockUpdateSpatializationSupportedFuzzTest() +void AudioDeviceLockOnPnpDeviceStatusUpdatedFuzzTest() { auto audioDeviceLock = std::make_shared(); if (audioDeviceLock == nullptr) { return; } - std::string macAddress = "test_mac_address"; - bool support = GetData() % NUM_2; - audioDeviceLock->UpdateSpatializationSupported(macAddress, support); + AudioDeviceDescriptor desc; + bool isConnected = GetData() % NUM_2; + audioDeviceLock->OnPnpDeviceStatusUpdated(desc, isConnected); } void AudioDeviceDescriptorMarshallingToDeviceInfoFuzzTest() diff --git a/test/fuzztest/audiodevicelock_fuzzer/corpus/init b/test/fuzztest/audiopolicy_fuzzer/audiodevicelock_fuzzer/corpus/init similarity index 100% rename from test/fuzztest/audiodevicelock_fuzzer/corpus/init rename to test/fuzztest/audiopolicy_fuzzer/audiodevicelock_fuzzer/corpus/init diff --git a/test/fuzztest/audiodevicelock_fuzzer/project.xml b/test/fuzztest/audiopolicy_fuzzer/audiodevicelock_fuzzer/project.xml similarity index 100% rename from test/fuzztest/audiodevicelock_fuzzer/project.xml rename to test/fuzztest/audiopolicy_fuzzer/audiodevicelock_fuzzer/project.xml diff --git a/test/fuzztest/audiodevicestatus_fuzzer/BUILD.gn b/test/fuzztest/audiopolicy_fuzzer/audiodevicestatus_fuzzer/BUILD.gn similarity index 77% rename from test/fuzztest/audiodevicestatus_fuzzer/BUILD.gn rename to test/fuzztest/audiopolicy_fuzzer/audiodevicestatus_fuzzer/BUILD.gn index dff9fb4cc24f654c55e0265fbcc8430099359b01..f98df555e4472bf15560ed6dddbf0e6dcc84feac 100644 --- a/test/fuzztest/audiodevicestatus_fuzzer/BUILD.gn +++ b/test/fuzztest/audiopolicy_fuzzer/audiodevicestatus_fuzzer/BUILD.gn @@ -13,19 +13,19 @@ import("//build/config/features.gni") import("//build/test.gni") -import("../../../accessibility.gni") -import("../../../config.gni") +import("../../../../accessibility.gni") +import("../../../../config.gni") ohos_fuzztest("AudioDeviceStatusFuzzTest") { module_out_path = "audio_framework/audio_framework_route" fuzz_config_file = "../audiodevicestatus_fuzzer" include_dirs = [ - "../../../services/audio_policy/server/include/service", - "../../../services/audio_policy/server/include", - "../../../frameworks/native/audioutils/include", - "../../../services/audio_service/common/include/limiter/", - "../../../services/audio_engine/manager/include", + "../../../../services/audio_policy/server/include/service", + "../../../../services/audio_policy/server/include", + "../../../../frameworks/native/audioutils/include", + "../../../../services/audio_service/common/include/limiter/", + "../../../../services/audio_engine/manager/include", ] cflags = [ "-g", @@ -34,17 +34,17 @@ ohos_fuzztest("AudioDeviceStatusFuzzTest") { "-fno-omit-frame-pointer", "-fno-access-control", ] - configs = [ "../../../services/audio_policy:audio_policy_public_config" ] + configs = [ "../../../../services/audio_policy:audio_policy_public_config" ] sources = [ "audio_device_status_fuzzer.cpp" ] deps = [ - "../../../frameworks/native/audioutils:audio_utils", - "../../../frameworks/native/bluetoothclient:audio_bluetooth_client", - "../../../services/audio_policy:audio_policy_service_static", - "../../../services/audio_service:audio_common", - "../../../frameworks/native/audioclock:audio_clock", - "../../../services/audio_engine:audio_engine_manager", + "../../../../frameworks/native/audioutils:audio_utils", + "../../../../frameworks/native/bluetoothclient:audio_bluetooth_client", + "../../../../services/audio_policy:audio_policy_service_static", + "../../../../services/audio_service:audio_common", + "../../../../frameworks/native/audioclock:audio_clock", + "../../../../services/audio_engine:audio_engine_manager", ] external_deps = [ diff --git a/test/fuzztest/audiodevicestatus_fuzzer/audio_device_status_fuzzer.cpp b/test/fuzztest/audiopolicy_fuzzer/audiodevicestatus_fuzzer/audio_device_status_fuzzer.cpp similarity index 99% rename from test/fuzztest/audiodevicestatus_fuzzer/audio_device_status_fuzzer.cpp rename to test/fuzztest/audiopolicy_fuzzer/audiodevicestatus_fuzzer/audio_device_status_fuzzer.cpp index 92195e5c03aa98cb52fdbdd592ab0d666ebf9555..1127c34f8926a74b48ebbff4e22ac21c62d8ad88 100644 --- a/test/fuzztest/audiodevicestatus_fuzzer/audio_device_status_fuzzer.cpp +++ b/test/fuzztest/audiopolicy_fuzzer/audiodevicestatus_fuzzer/audio_device_status_fuzzer.cpp @@ -164,10 +164,10 @@ void HandleArmUsbDeviceFuzzTest() audioA2dpOffloadManager->Init(); audioDeviceStatus.Init(audioA2dpOffloadManager, audioPolicyServerHandler); - uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); - DeviceType deviceType = DeviceTypeVec[deviceTypeCount]; uint32_t roleCount = GetData() % DeviceRoleVec.size(); DeviceRole deviceRole = DeviceRoleVec[roleCount]; + uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); + DeviceType deviceType = DeviceTypeVec[deviceTypeCount]; std::string address = "00:11:22:33:44:55"; audioDeviceStatus.HandleArmUsbDevice(deviceType, deviceRole, address); @@ -183,17 +183,17 @@ void RehandlePnpDeviceFuzzTest() audioA2dpOffloadManager->Init(); audioDeviceStatus.Init(audioA2dpOffloadManager, audioPolicyServerHandler); - uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); - DeviceType deviceType = DeviceTypeVec[deviceTypeCount]; uint32_t roleCount = GetData() % DeviceRoleVec.size(); DeviceRole deviceRole = DeviceRoleVec[roleCount]; + uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); + DeviceType deviceType = DeviceTypeVec[deviceTypeCount]; std::string address = "00:11:22:33:44:55"; audioDeviceStatus.RehandlePnpDevice(deviceType, deviceRole, address); audioDeviceStatus.DeInit(); } -void NoNeedChangeUsbDeviceFuzzTest() +void TriggerMicrophoneBlockedCallbackFuzzTest() { std::shared_ptr audioA2dpOffloadManager = std::make_shared(); std::shared_ptr audioPolicyServerHandler = @@ -202,13 +202,15 @@ void NoNeedChangeUsbDeviceFuzzTest() audioA2dpOffloadManager->Init(); audioDeviceStatus.Init(audioA2dpOffloadManager, audioPolicyServerHandler); - std::string address = "00:11:22:33:44:55"; - audioDeviceStatus.NoNeedChangeUsbDevice(address); + vector> desc; + int32_t statusCount = static_cast(DeviceBlockStatus::DEVICE_BLOCKED) + 1; + DeviceBlockStatus status = static_cast(GetData() % statusCount); + audioDeviceStatus.TriggerMicrophoneBlockedCallback(desc, status); audioDeviceStatus.DeInit(); } -void TriggerMicrophoneBlockedCallbackFuzzTest() +void NoNeedChangeUsbDeviceFuzzTest() { std::shared_ptr audioA2dpOffloadManager = std::make_shared(); std::shared_ptr audioPolicyServerHandler = @@ -217,10 +219,8 @@ void TriggerMicrophoneBlockedCallbackFuzzTest() audioA2dpOffloadManager->Init(); audioDeviceStatus.Init(audioA2dpOffloadManager, audioPolicyServerHandler); - vector> desc; - int32_t statusCount = static_cast(DeviceBlockStatus::DEVICE_BLOCKED) + 1; - DeviceBlockStatus status = static_cast(GetData() % statusCount); - audioDeviceStatus.TriggerMicrophoneBlockedCallback(desc, status); + std::string address = "00:11:22:33:44:55"; + audioDeviceStatus.NoNeedChangeUsbDevice(address); audioDeviceStatus.DeInit(); } @@ -293,6 +293,21 @@ void HandleDistributedDeviceUpdateFuzzTest() AudioStreamDeviceChangeReasonExt reason = AudioStreamDeviceChangeReasonExt::ExtEnum::UNKNOWN; audioDeviceStatus.HandleDistributedDeviceUpdate(statusInfo, descForCb, reason); } +void OnPreferredStateUpdatedFuzzTest() +{ + AudioDeviceDescriptor desc; + int32_t updateCommandCount = static_cast(DeviceInfoUpdateCommand::EXCEPTION_FLAG_UPDATE - + DeviceInfoUpdateCommand::CATEGORY_UPDATE) + 1; + DeviceInfoUpdateCommand updateCommand = + static_cast(GetData() % updateCommandCount + 1); + AudioStreamDeviceChangeReasonExt::ExtEnum oldDevice = + AudioStreamDeviceChangeReasonExt::ExtEnum::OLD_DEVICE_UNAVALIABLE; + AudioStreamDeviceChangeReasonExt reason(oldDevice); + AudioDeviceStatus& audioDeviceStatus = AudioDeviceStatus::GetInstance(); + uint32_t deviceCategoryCount = GetData() % DeviceCategoryVec.size(); + desc.deviceCategory_ = DeviceCategoryVec[deviceCategoryCount]; + audioDeviceStatus.OnPreferredStateUpdated(desc, updateCommand, reason); +} void UpdateDeviceListFuzzTest() { @@ -311,22 +326,6 @@ void UpdateDeviceListFuzzTest() audioDeviceStatus.UpdateDeviceList(updatedDesc, isConnected, descForCb, reason); } -void OnPreferredStateUpdatedFuzzTest() -{ - AudioDeviceDescriptor desc; - int32_t updateCommandCount = static_cast(DeviceInfoUpdateCommand::EXCEPTION_FLAG_UPDATE - - DeviceInfoUpdateCommand::CATEGORY_UPDATE) + 1; - DeviceInfoUpdateCommand updateCommand = - static_cast(GetData() % updateCommandCount + 1); - AudioStreamDeviceChangeReasonExt::ExtEnum oldDevice = - AudioStreamDeviceChangeReasonExt::ExtEnum::OLD_DEVICE_UNAVALIABLE; - AudioStreamDeviceChangeReasonExt reason(oldDevice); - AudioDeviceStatus& audioDeviceStatus = AudioDeviceStatus::GetInstance(); - uint32_t deviceCategoryCount = GetData() % DeviceCategoryVec.size(); - desc.deviceCategory_ = DeviceCategoryVec[deviceCategoryCount]; - audioDeviceStatus.OnPreferredStateUpdated(desc, updateCommand, reason); -} - void CheckAndActiveHfpDeviceFuzzTest() { AudioDeviceDescriptor desc; @@ -347,6 +346,15 @@ void TriggerAvailableDeviceChangedCallbackFuzzTest() audioDeviceStatus.TriggerAvailableDeviceChangedCallback(audioDeviceDescriptorSptrVector, isConnected); } +void HandleDpDeviceFuzzTest() +{ + uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); + DeviceType deviceType = DeviceTypeVec[deviceTypeCount]; + std::string address = "00:11:22:33:44:55"; + AudioDeviceStatus& audioDeviceStatus = AudioDeviceStatus::GetInstance(); + audioDeviceStatus.HandleDpDevice(deviceType, address); +} + void TriggerDeviceChangedCallbackFuzzTest() { std::shared_ptr audioDeviceDescriptorSptr = std::make_shared(); @@ -357,15 +365,6 @@ void TriggerDeviceChangedCallbackFuzzTest() audioDeviceStatus.TriggerDeviceChangedCallback(audioDeviceDescriptorSptrVector, isConnected); } -void HandleDpDeviceFuzzTest() -{ - uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); - DeviceType deviceType = DeviceTypeVec[deviceTypeCount]; - std::string address = "00:11:22:33:44:55"; - AudioDeviceStatus& audioDeviceStatus = AudioDeviceStatus::GetInstance(); - audioDeviceStatus.HandleDpDevice(deviceType, address); -} - void HandleLocalDeviceConnectedFuzzTest() { AudioDeviceDescriptor updatedDesc; @@ -386,10 +385,10 @@ void HandleLocalDeviceDisconnectedFuzzTest() void HandleSpecialDeviceTypeFuzzTest() { - uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); - DeviceType deviceType = DeviceTypeVec[deviceTypeCount]; uint32_t roleCount = GetData() % DeviceRoleVec.size(); DeviceRole deviceRole = DeviceRoleVec[roleCount]; + uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); + DeviceType deviceType = DeviceTypeVec[deviceTypeCount]; std::string address = "00:11:22:33:44:55"; bool isConnected = GetData() % NUM_2; AudioDeviceStatus& audioDeviceStatus = AudioDeviceStatus::GetInstance(); @@ -410,6 +409,15 @@ void OnPnpDeviceStatusUpdatedFuzzTest() audioDeviceStatus.OnPnpDeviceStatusUpdated(desc, isConnected); } +void IsConfigurationUpdatedFuzzTest() +{ + uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); + DeviceType deviceType = DeviceTypeVec[deviceTypeCount]; + AudioStreamInfo streamInfo; + AudioDeviceStatus audioDeviceStatus; + audioDeviceStatus.IsConfigurationUpdated(deviceType, streamInfo); +} + void UpdateActiveA2dpDeviceWhenDisconnectingFuzzTest() { std::string address = "00:11:22:33:44:55"; @@ -420,15 +428,6 @@ void UpdateActiveA2dpDeviceWhenDisconnectingFuzzTest() audioDeviceStatus.UpdateActiveA2dpDeviceWhenDisconnecting(address); } -void IsConfigurationUpdatedFuzzTest() -{ - uint32_t deviceTypeCount = GetData() % DeviceTypeVec.size(); - DeviceType deviceType = DeviceTypeVec[deviceTypeCount]; - AudioStreamInfo streamInfo; - AudioDeviceStatus audioDeviceStatus; - audioDeviceStatus.IsConfigurationUpdated(deviceType, streamInfo); -} - void OpenPortAndAddDeviceOnServiceConnectedFuzzTest() { AudioModuleInfo moduleInfo; diff --git a/test/fuzztest/audiodevicestatus_fuzzer/corpus/init b/test/fuzztest/audiopolicy_fuzzer/audiodevicestatus_fuzzer/corpus/init similarity index 100% rename from test/fuzztest/audiodevicestatus_fuzzer/corpus/init rename to test/fuzztest/audiopolicy_fuzzer/audiodevicestatus_fuzzer/corpus/init diff --git a/test/fuzztest/audiodevicestatus_fuzzer/project.xml b/test/fuzztest/audiopolicy_fuzzer/audiodevicestatus_fuzzer/project.xml similarity index 100% rename from test/fuzztest/audiodevicestatus_fuzzer/project.xml rename to test/fuzztest/audiopolicy_fuzzer/audiodevicestatus_fuzzer/project.xml diff --git a/test/fuzztest/audiointerruptdfxcollector_fuzzer/BUILD.gn b/test/fuzztest/audiopolicy_fuzzer/audiointerruptdfxcollector_fuzzer/BUILD.gn similarity index 77% rename from test/fuzztest/audiointerruptdfxcollector_fuzzer/BUILD.gn rename to test/fuzztest/audiopolicy_fuzzer/audiointerruptdfxcollector_fuzzer/BUILD.gn index 1a098826a20c92b72639f67d7631b828ef690ed0..b55538944607f2cb08e5d15c2b2059870e8178d6 100644 --- a/test/fuzztest/audiointerruptdfxcollector_fuzzer/BUILD.gn +++ b/test/fuzztest/audiopolicy_fuzzer/audiointerruptdfxcollector_fuzzer/BUILD.gn @@ -13,19 +13,19 @@ import("//build/config/features.gni") import("//build/test.gni") -import("../../../accessibility.gni") -import("../../../config.gni") +import("../../../../accessibility.gni") +import("../../../../config.gni") ohos_fuzztest("AudioInterruptDfxCollectorFuzzTest") { module_out_path = "audio_framework/audio_framework_route" fuzz_config_file = "../audiointerruptdfxcollector_fuzzer" include_dirs = [ - "../../../services/audio_policy/server/include/service", - "../../../services/audio_policy/server/include", - "../../../frameworks/native/audioutils/include", - "../../../services/audio_service/common/include/limiter/", - "../../../services/audio_engine/manager/include", + "../../../../services/audio_policy/server/include/service", + "../../../../services/audio_policy/server/include", + "../../../../frameworks/native/audioutils/include", + "../../../../services/audio_service/common/include/limiter/", + "../../../../services/audio_engine/manager/include", ] cflags = [ "-g", @@ -34,17 +34,17 @@ ohos_fuzztest("AudioInterruptDfxCollectorFuzzTest") { "-fno-omit-frame-pointer", "-fno-access-control", ] - configs = [ "../../../services/audio_policy:audio_policy_public_config" ] + configs = [ "../../../../services/audio_policy:audio_policy_public_config" ] sources = [ "audio_interrupt_dfx_collector_fuzzer.cpp" ] deps = [ - "../../../frameworks/native/audioutils:audio_utils", - "../../../frameworks/native/bluetoothclient:audio_bluetooth_client", - "../../../services/audio_policy:audio_policy_service_static", - "../../../services/audio_service:audio_common", - "../../../frameworks/native/audioclock:audio_clock", - "../../../services/audio_engine:audio_engine_manager", + "../../../../frameworks/native/audioutils:audio_utils", + "../../../../frameworks/native/bluetoothclient:audio_bluetooth_client", + "../../../../services/audio_policy:audio_policy_service_static", + "../../../../services/audio_service:audio_common", + "../../../../frameworks/native/audioclock:audio_clock", + "../../../../services/audio_engine:audio_engine_manager", ] external_deps = [ diff --git a/test/fuzztest/audiointerruptdfxcollector_fuzzer/audio_interrupt_dfx_collector_fuzzer.cpp b/test/fuzztest/audiopolicy_fuzzer/audiointerruptdfxcollector_fuzzer/audio_interrupt_dfx_collector_fuzzer.cpp similarity index 99% rename from test/fuzztest/audiointerruptdfxcollector_fuzzer/audio_interrupt_dfx_collector_fuzzer.cpp rename to test/fuzztest/audiopolicy_fuzzer/audiointerruptdfxcollector_fuzzer/audio_interrupt_dfx_collector_fuzzer.cpp index 0cdb03db3db439d2d8aec6baedbc799b011e525f..821264a315bc074d94f32e6a5260ef84251d96c0 100644 --- a/test/fuzztest/audiointerruptdfxcollector_fuzzer/audio_interrupt_dfx_collector_fuzzer.cpp +++ b/test/fuzztest/audiopolicy_fuzzer/audiointerruptdfxcollector_fuzzer/audio_interrupt_dfx_collector_fuzzer.cpp @@ -82,8 +82,8 @@ uint32_t GetArrLength(T& arr) void FlushDfxMsgFuzzTest() { AudioInterruptDfxCollector dfxCollector; - uint32_t index = 0; uint32_t appUid = GetData(); + uint32_t index = 0; std::list dfxInfoList; dfxCollector.dfxInfos_[index] = dfxInfoList; dfxCollector.FlushDfxMsg(index, appUid); @@ -91,24 +91,16 @@ void FlushDfxMsgFuzzTest() void WriteEffectMsgFuzzTest() { + int32_t hintTypeCount = static_cast(InterruptHint::INTERRUPT_HINT_UNMUTE) + 1; InterruptDfxBuilder dfxBuilder; - uint8_t appstate = GetData(); std::string bundleName = "com.ohos.test"; AudioInterrupt audioInterrupt; - int32_t hintTypeCount = static_cast(InterruptHint::INTERRUPT_HINT_UNMUTE) + 1; + uint8_t appstate = GetData(); + InterruptHint hintType = static_cast(GetData() % hintTypeCount); dfxBuilder.WriteEffectMsg(appstate, bundleName, audioInterrupt, hintType); } -void GetDfxIndexesFuzzTest() -{ - AudioInterruptDfxCollector dfxCollector; - uint32_t index = 0; - std::list dfxInfoList; - dfxCollector.dfxInfos_[index] = dfxInfoList; - dfxCollector.GetDfxIndexes(index); -} - void WriteActionMsgFuzzTest() { InterruptDfxBuilder dfxBuilder; @@ -118,13 +110,13 @@ void WriteActionMsgFuzzTest() dfxBuilder.WriteActionMsg(infoIndex, effectIdx, stage); } -void WriteInfoMsgFuzzTest() +void GetDfxIndexesFuzzTest() { - InterruptDfxBuilder dfxBuilder; - AudioInterrupt audioInterrupt; - AudioSessionStrategy strategy; - InterruptRole interruptType = INTERRUPT_ROLE_DEFAULT; - dfxBuilder.WriteInfoMsg(audioInterrupt, strategy, interruptType); + AudioInterruptDfxCollector dfxCollector; + uint32_t index = 0; + std::list dfxInfoList; + dfxCollector.dfxInfos_[index] = dfxInfoList; + dfxCollector.GetDfxIndexes(index); } void GetFloatValueFuzzTest() @@ -143,6 +135,15 @@ void IsValidKeyFuzzTest() settingProvider.IsValidKey(key); } +void WriteInfoMsgFuzzTest() +{ + InterruptDfxBuilder dfxBuilder; + AudioInterrupt audioInterrupt; + AudioSessionStrategy strategy; + InterruptRole interruptType = INTERRUPT_ROLE_DEFAULT; + dfxBuilder.WriteInfoMsg(audioInterrupt, strategy, interruptType); +} + void SetDataShareReadyFuzzTest() { AudioSettingProvider &settingProvider = AudioSettingProvider::GetInstance(AUDIO_POLICY_SERVICE_ID); diff --git a/test/fuzztest/audiointerruptdfxcollector_fuzzer/corpus/init b/test/fuzztest/audiopolicy_fuzzer/audiointerruptdfxcollector_fuzzer/corpus/init similarity index 100% rename from test/fuzztest/audiointerruptdfxcollector_fuzzer/corpus/init rename to test/fuzztest/audiopolicy_fuzzer/audiointerruptdfxcollector_fuzzer/corpus/init diff --git a/test/fuzztest/audiointerruptdfxcollector_fuzzer/project.xml b/test/fuzztest/audiopolicy_fuzzer/audiointerruptdfxcollector_fuzzer/project.xml similarity index 100% rename from test/fuzztest/audiointerruptdfxcollector_fuzzer/project.xml rename to test/fuzztest/audiopolicy_fuzzer/audiointerruptdfxcollector_fuzzer/project.xml diff --git a/test/fuzztest/audiointerruptgroupinfo_fuzzer/BUILD.gn b/test/fuzztest/audiopolicy_fuzzer/audiointerruptgroupinfo_fuzzer/BUILD.gn similarity index 77% rename from test/fuzztest/audiointerruptgroupinfo_fuzzer/BUILD.gn rename to test/fuzztest/audiopolicy_fuzzer/audiointerruptgroupinfo_fuzzer/BUILD.gn index 9e96e004c566c97b720843cfa309e2a5f50dc956..cd9fddd0284783cc2ffe6dcb22b105795c4be7fa 100644 --- a/test/fuzztest/audiointerruptgroupinfo_fuzzer/BUILD.gn +++ b/test/fuzztest/audiopolicy_fuzzer/audiointerruptgroupinfo_fuzzer/BUILD.gn @@ -13,19 +13,19 @@ import("//build/config/features.gni") import("//build/test.gni") -import("../../../accessibility.gni") -import("../../../config.gni") +import("../../../../accessibility.gni") +import("../../../../config.gni") ohos_fuzztest("AudioInterruptGroupInfoFuzzTest") { module_out_path = "audio_framework/audio_framework_route" fuzz_config_file = "../audiointerruptgroupinfo_fuzzer" include_dirs = [ - "../../../services/audio_policy/server/include/service", - "../../../services/audio_policy/server/include", - "../../../frameworks/native/audioutils/include", - "../../../services/audio_service/common/include/limiter/", - "../../../services/audio_engine/manager/include", + "../../../../services/audio_policy/server/include/service", + "../../../../services/audio_policy/server/include", + "../../../../frameworks/native/audioutils/include", + "../../../../services/audio_service/common/include/limiter/", + "../../../../services/audio_engine/manager/include", ] cflags = [ "-g", @@ -34,17 +34,17 @@ ohos_fuzztest("AudioInterruptGroupInfoFuzzTest") { "-fno-omit-frame-pointer", "-fno-access-control", ] - configs = [ "../../../services/audio_policy:audio_policy_public_config" ] + configs = [ "../../../../services/audio_policy:audio_policy_public_config" ] sources = [ "audio_interrupt_group_info_fuzzer.cpp" ] deps = [ - "../../../frameworks/native/audioutils:audio_utils", - "../../../frameworks/native/bluetoothclient:audio_bluetooth_client", - "../../../services/audio_policy:audio_policy_service_static", - "../../../services/audio_service:audio_common", - "../../../frameworks/native/audioclock:audio_clock", - "../../../services/audio_engine:audio_engine_manager", + "../../../../frameworks/native/audioutils:audio_utils", + "../../../../frameworks/native/bluetoothclient:audio_bluetooth_client", + "../../../../services/audio_policy:audio_policy_service_static", + "../../../../services/audio_service:audio_common", + "../../../../frameworks/native/audioclock:audio_clock", + "../../../../services/audio_engine:audio_engine_manager", ] external_deps = [ diff --git a/test/fuzztest/audiointerruptgroupinfo_fuzzer/audio_interrupt_group_info_fuzzer.cpp b/test/fuzztest/audiopolicy_fuzzer/audiointerruptgroupinfo_fuzzer/audio_interrupt_group_info_fuzzer.cpp similarity index 100% rename from test/fuzztest/audiointerruptgroupinfo_fuzzer/audio_interrupt_group_info_fuzzer.cpp rename to test/fuzztest/audiopolicy_fuzzer/audiointerruptgroupinfo_fuzzer/audio_interrupt_group_info_fuzzer.cpp diff --git a/test/fuzztest/audiointerruptgroupinfo_fuzzer/corpus/init b/test/fuzztest/audiopolicy_fuzzer/audiointerruptgroupinfo_fuzzer/corpus/init similarity index 100% rename from test/fuzztest/audiointerruptgroupinfo_fuzzer/corpus/init rename to test/fuzztest/audiopolicy_fuzzer/audiointerruptgroupinfo_fuzzer/corpus/init diff --git a/test/fuzztest/audiointerruptgroupinfo_fuzzer/project.xml b/test/fuzztest/audiopolicy_fuzzer/audiointerruptgroupinfo_fuzzer/project.xml similarity index 100% rename from test/fuzztest/audiointerruptgroupinfo_fuzzer/project.xml rename to test/fuzztest/audiopolicy_fuzzer/audiointerruptgroupinfo_fuzzer/project.xml diff --git a/test/fuzztest/audiointerruptservice_fuzzer/BUILD.gn b/test/fuzztest/audiopolicy_fuzzer/audiointerruptservice_fuzzer/BUILD.gn similarity index 80% rename from test/fuzztest/audiointerruptservice_fuzzer/BUILD.gn rename to test/fuzztest/audiopolicy_fuzzer/audiointerruptservice_fuzzer/BUILD.gn index d5fd8bf25b878c6d948914df2055f9ca19703de1..31be3f0d90efd73b504b41ecc0cdaf86ebfec9bb 100644 --- a/test/fuzztest/audiointerruptservice_fuzzer/BUILD.gn +++ b/test/fuzztest/audiopolicy_fuzzer/audiointerruptservice_fuzzer/BUILD.gn @@ -13,21 +13,21 @@ import("//build/config/features.gni") import("//build/test.gni") -import("../../../accessibility.gni") -import("../../../bluetooth_part.gni") -import("../../../config.gni") +import("../../../../accessibility.gni") +import("../../../../bluetooth_part.gni") +import("../../../../config.gni") ohos_fuzztest("AudioInterruptServiceFuzzTest") { module_out_path = "audio_framework/audio_framework_route" fuzz_config_file = "../audiointerruptservice_fuzzer" include_dirs = [ - "../../../services/audio_policy/server/include", - "../../../interfaces/inner_api/native/audiomanager/include", - "../../../frameworks/native/commcon/include", - "../../../interfaces/inner_api/native/audiocommon/include", - "../../../services/audio_policy/server/domain/interrupt/include", - "../../../utils/system/safwk/native/include", + "../../../../services/audio_policy/server/include", + "../../../../interfaces/inner_api/native/audiomanager/include", + "../../../../frameworks/native/commcon/include", + "../../../../interfaces/inner_api/native/audiocommon/include", + "../../../../services/audio_policy/server/domain/interrupt/include", + "../../../../utils/system/safwk/native/include", ] cflags = [ @@ -43,8 +43,8 @@ ohos_fuzztest("AudioInterruptServiceFuzzTest") { sources = [ "audio_interrupt_service_fuzzer.cpp" ] deps = [ - "../../../services/audio_service/idl:audio_framework_interface", - "../../../services/audio_policy:audio_policy_service_static", + "../../../../services/audio_service/idl:audio_framework_interface", + "../../../../services/audio_policy:audio_policy_service_static", ] external_deps = [ "ability_base:want", diff --git a/test/fuzztest/audiointerruptservice_fuzzer/audio_interrupt_service_fuzzer.cpp b/test/fuzztest/audiopolicy_fuzzer/audiointerruptservice_fuzzer/audio_interrupt_service_fuzzer.cpp similarity index 99% rename from test/fuzztest/audiointerruptservice_fuzzer/audio_interrupt_service_fuzzer.cpp rename to test/fuzztest/audiopolicy_fuzzer/audiointerruptservice_fuzzer/audio_interrupt_service_fuzzer.cpp index b000cc2b3352b722ad615739ea4f4280f3d633a0..4303dbad2b3c0c91b955e75c0e52459bcde94b80 100644 --- a/test/fuzztest/audiointerruptservice_fuzzer/audio_interrupt_service_fuzzer.cpp +++ b/test/fuzztest/audiopolicy_fuzzer/audiointerruptservice_fuzzer/audio_interrupt_service_fuzzer.cpp @@ -18,7 +18,7 @@ #include #undef private -#include "../fuzz_utils.h" +#include "../../fuzz_utils.h" #include "audio_info.h" #include "audio_policy_server.h" #include "audio_interrupt_service.h" @@ -57,27 +57,27 @@ static void CreateAudioSessionService(shared_ptr &interru std::make_pair(id, std::make_shared(id, strategy, make_shared()))); } -void InitFuzzTest(const uint8_t *rawData, size_t size) +void AddDumpInfoFuzzTest(const uint8_t *rawData, size_t size) { if (rawData == nullptr || size < LIMITSIZE) { return; } - sptr server = nullptr; + std::shared_ptr interruptService = std::make_shared(); + std::unordered_map> audioInterruptZonesMapDump; - interruptService->Init(server); + interruptService->AddDumpInfo(audioInterruptZonesMapDump); } -void AddDumpInfoFuzzTest(const uint8_t *rawData, size_t size) +void InitFuzzTest(const uint8_t *rawData, size_t size) { if (rawData == nullptr || size < LIMITSIZE) { return; } - + sptr server = nullptr; std::shared_ptr interruptService = std::make_shared(); - std::unordered_map> audioInterruptZonesMapDump; - interruptService->AddDumpInfo(audioInterruptZonesMapDump); + interruptService->Init(server); } void SetCallbackHandlerFuzzTest(const uint8_t *rawData, size_t size) @@ -109,7 +109,7 @@ void SetAudioManagerInterruptCallbackFuzzTest(const uint8_t *rawData, size_t siz interruptService->SetAudioManagerInterruptCallback(object); } -void ActivateAudioInterruptFuzzTest(const uint8_t *rawData, size_t size) +void DeactivateAudioInterruptFuzzTest(const uint8_t *rawData, size_t size) { if (rawData == nullptr || size < LIMITSIZE) { return; @@ -123,10 +123,10 @@ void ActivateAudioInterruptFuzzTest(const uint8_t *rawData, size_t size) audioInterrupt.streamUsage = *reinterpret_cast(rawData); audioInterrupt.audioFocusType.streamType = *reinterpret_cast(rawData); - interruptService->ActivateAudioInterrupt(zoneId, audioInterrupt); + interruptService->DeactivateAudioInterrupt(zoneId, audioInterrupt); } -void DeactivateAudioInterruptFuzzTest(const uint8_t *rawData, size_t size) +void ActivateAudioInterruptFuzzTest(const uint8_t *rawData, size_t size) { if (rawData == nullptr || size < LIMITSIZE) { return; @@ -140,45 +140,45 @@ void DeactivateAudioInterruptFuzzTest(const uint8_t *rawData, size_t size) audioInterrupt.streamUsage = *reinterpret_cast(rawData); audioInterrupt.audioFocusType.streamType = *reinterpret_cast(rawData); - interruptService->DeactivateAudioInterrupt(zoneId, audioInterrupt); + interruptService->ActivateAudioInterrupt(zoneId, audioInterrupt); } -void CreateAudioInterruptZoneFuzzTest(const uint8_t *rawData, size_t size) +void ReleaseAudioInterruptZoneFuzzTest(const uint8_t *rawData, size_t size) { if (rawData == nullptr || size < LIMITSIZE) { return; } std::shared_ptr interruptService = std::make_shared(); - - MessageParcel data; - data.WriteInterfaceToken(FORMMGR_INTERFACE_TOKEN); - data.WriteBuffer(rawData, size); - data.RewindRead(0); - std::set pids; - pids.insert(data.ReadInt32()); + int32_t zoneId = *reinterpret_cast(rawData); - AudioZoneContext context; - interruptService->CreateAudioInterruptZone(zoneId, context); + auto getZoneFunc = [](int32_t uid, const std::string &deviceTag, + const std::string &streamTag, const StreamUsage &usage)->int32_t { + return 0; + }; + + interruptService->ReleaseAudioInterruptZone(zoneId, getZoneFunc); } -void ReleaseAudioInterruptZoneFuzzTest(const uint8_t *rawData, size_t size) +void CreateAudioInterruptZoneFuzzTest(const uint8_t *rawData, size_t size) { if (rawData == nullptr || size < LIMITSIZE) { return; } std::shared_ptr interruptService = std::make_shared(); - - int32_t zoneId = *reinterpret_cast(rawData); - auto getZoneFunc = [](int32_t uid, const std::string &deviceTag, - const std::string &streamTag, const StreamUsage &usage)->int32_t { - return 0; - }; + MessageParcel data; + data.WriteInterfaceToken(FORMMGR_INTERFACE_TOKEN); + data.WriteBuffer(rawData, size); + data.RewindRead(0); + std::set pids; + pids.insert(data.ReadInt32()); + int32_t zoneId = *reinterpret_cast(rawData); + AudioZoneContext context; - interruptService->ReleaseAudioInterruptZone(zoneId, getZoneFunc); + interruptService->CreateAudioInterruptZone(zoneId, context); } void RemoveAudioInterruptZonePidsFuzzTest(const uint8_t *rawData, size_t size) @@ -187,6 +187,7 @@ void RemoveAudioInterruptZonePidsFuzzTest(const uint8_t *rawData, size_t size) return; } + int32_t zoneId = *reinterpret_cast(rawData); std::shared_ptr interruptService = std::make_shared(); MessageParcel data; @@ -195,8 +196,6 @@ void RemoveAudioInterruptZonePidsFuzzTest(const uint8_t *rawData, size_t size) data.RewindRead(0); std::set pids; pids.insert(data.ReadInt32()); - int32_t zoneId = *reinterpret_cast(rawData); - auto getZoneFunc = [](int32_t uid, const std::string &deviceTag, const std::string &streamTag, const StreamUsage &usage)->int32_t { return 0; @@ -204,34 +203,34 @@ void RemoveAudioInterruptZonePidsFuzzTest(const uint8_t *rawData, size_t size) interruptService->MigrateAudioInterruptZone(zoneId, getZoneFunc); } -void GetStreamInFocusFuzzTest(const uint8_t *rawData, size_t size) +void GetSessionInfoInFocusFuzzTest(const uint8_t *rawData, size_t size) { if (rawData == nullptr || size < LIMITSIZE) { return; } - std::shared_ptr interruptService = std::make_shared(); - int32_t zoneId = *reinterpret_cast(rawData); + std::shared_ptr interruptService = std::make_shared(); - interruptService->GetStreamInFocus(zoneId); + AudioInterrupt audioInterrupt; + audioInterrupt.contentType = *reinterpret_cast(rawData); + audioInterrupt.streamUsage = *reinterpret_cast(rawData); + audioInterrupt.audioFocusType.streamType = *reinterpret_cast(rawData); + + interruptService->GetSessionInfoInFocus(audioInterrupt, zoneId); } -void GetSessionInfoInFocusFuzzTest(const uint8_t *rawData, size_t size) +void GetStreamInFocusFuzzTest(const uint8_t *rawData, size_t size) { if (rawData == nullptr || size < LIMITSIZE) { return; } std::shared_ptr interruptService = std::make_shared(); - + int32_t zoneId = *reinterpret_cast(rawData); - AudioInterrupt audioInterrupt; - audioInterrupt.contentType = *reinterpret_cast(rawData); - audioInterrupt.streamUsage = *reinterpret_cast(rawData); - audioInterrupt.audioFocusType.streamType = *reinterpret_cast(rawData); - interruptService->GetSessionInfoInFocus(audioInterrupt, zoneId); + interruptService->GetStreamInFocus(zoneId); } void DispatchInterruptEventWithStreamIdFuzzTest(const uint8_t *rawData, size_t size) @@ -240,9 +239,9 @@ void DispatchInterruptEventWithStreamIdFuzzTest(const uint8_t *rawData, size_t s return; } + uint32_t sessionId = *reinterpret_cast(rawData); std::shared_ptr interruptService = std::make_shared(); - uint32_t sessionId = *reinterpret_cast(rawData); InterruptEventInternal interruptEvent = {}; interruptEvent.eventType = *reinterpret_cast(rawData); interruptEvent.forceType = *reinterpret_cast(rawData); @@ -252,7 +251,7 @@ void DispatchInterruptEventWithStreamIdFuzzTest(const uint8_t *rawData, size_t s interruptService->DispatchInterruptEventWithStreamId(sessionId, interruptEvent); } -void RequestAudioFocusFuzzTest(const uint8_t *rawData, size_t size) +void AbandonAudioFocusFuzzTest(const uint8_t *rawData, size_t size) { if (rawData == nullptr || size < LIMITSIZE) { return; @@ -266,10 +265,10 @@ void RequestAudioFocusFuzzTest(const uint8_t *rawData, size_t size) audioInterrupt.streamUsage = *reinterpret_cast(rawData); audioInterrupt.audioFocusType.streamType = *reinterpret_cast(rawData); - interruptService->RequestAudioFocus(clientId, audioInterrupt); + interruptService->AbandonAudioFocus(clientId, audioInterrupt); } -void AbandonAudioFocusFuzzTest(const uint8_t *rawData, size_t size) +void RequestAudioFocusFuzzTest(const uint8_t *rawData, size_t size) { if (rawData == nullptr || size < LIMITSIZE) { return; @@ -283,7 +282,7 @@ void AbandonAudioFocusFuzzTest(const uint8_t *rawData, size_t size) audioInterrupt.streamUsage = *reinterpret_cast(rawData); audioInterrupt.audioFocusType.streamType = *reinterpret_cast(rawData); - interruptService->AbandonAudioFocus(clientId, audioInterrupt); + interruptService->RequestAudioFocus(clientId, audioInterrupt); } void SetAudioInterruptCallbackFuzzTest(const uint8_t *rawData, size_t size) @@ -321,6 +320,24 @@ void UnsetAudioInterruptCallbackFuzzTest(const uint8_t *rawData, size_t size) interruptService->UnsetAudioInterruptCallback(zoneId, sessionId); } +void UpdateAudioSceneFromInterruptFuzzTest(const uint8_t *rawData, size_t size) +{ + if (rawData == nullptr || size < LIMITSIZE) { + return; + } + + MessageParcel data; + data.WriteInterfaceToken(FORMMGR_INTERFACE_TOKEN); + data.WriteBuffer(rawData, size); + data.RewindRead(0); + AudioScene audioScene = *reinterpret_cast(rawData); + AudioInterruptChangeType changeType = *reinterpret_cast(rawData); + + std::shared_ptr interruptService = std::make_shared(); + + interruptService->UpdateAudioSceneFromInterrupt(audioScene, changeType); +} + void AddAudioInterruptZonePidsFuzzTest(const uint8_t *rawData, size_t size) { if (rawData == nullptr || size < LIMITSIZE) { @@ -344,22 +361,20 @@ void AddAudioInterruptZonePidsFuzzTest(const uint8_t *rawData, size_t size) interruptService->MigrateAudioInterruptZone(zoneId, getZoneFunc); } -void UpdateAudioSceneFromInterruptFuzzTest(const uint8_t *rawData, size_t size) +void AudioInterruptServiceIsSessionNeedToFetchOutputDeviceFuzzTest(const uint8_t *rawData, size_t size) { if (rawData == nullptr || size < LIMITSIZE) { return; } - MessageParcel data; - data.WriteInterfaceToken(FORMMGR_INTERFACE_TOKEN); - data.WriteBuffer(rawData, size); - data.RewindRead(0); - AudioScene audioScene = *reinterpret_cast(rawData); - AudioInterruptChangeType changeType = *reinterpret_cast(rawData); - std::shared_ptr interruptService = std::make_shared(); - - interruptService->UpdateAudioSceneFromInterrupt(audioScene, changeType); + if (interruptService == nullptr) { + return; + } + bool isNullptr = (*reinterpret_cast(rawData)) % BOOL_MODULO; + int32_t callerPid = *reinterpret_cast(rawData); + CreateAudioSessionService(interruptService, !isNullptr, callerPid); + interruptService->IsSessionNeedToFetchOutputDevice(callerPid); } void AudioInterruptServiceActivateAudioSessionFuzzTest(const uint8_t *rawData, size_t size) @@ -380,7 +395,7 @@ void AudioInterruptServiceActivateAudioSessionFuzzTest(const uint8_t *rawData, s interruptService->ActivateAudioSession(zoneId, callerPid, strategy); } -void AudioInterruptServiceIsSessionNeedToFetchOutputDeviceFuzzTest(const uint8_t *rawData, size_t size) +void AudioInterruptServiceSetAudioSessionSceneFuzzTest(const uint8_t *rawData, size_t size) { if (rawData == nullptr || size < LIMITSIZE) { return; @@ -393,10 +408,11 @@ void AudioInterruptServiceIsSessionNeedToFetchOutputDeviceFuzzTest(const uint8_t bool isNullptr = (*reinterpret_cast(rawData)) % BOOL_MODULO; int32_t callerPid = *reinterpret_cast(rawData); CreateAudioSessionService(interruptService, !isNullptr, callerPid); - interruptService->IsSessionNeedToFetchOutputDevice(callerPid); + AudioSessionScene scene = AudioSessionScene::INVALID; + interruptService->SetAudioSessionScene(callerPid, scene); } -void AudioInterruptServiceSetAudioSessionSceneFuzzTest(const uint8_t *rawData, size_t size) +void AudioInterruptServiceAddActiveInterruptToSessionFuzzTest(const uint8_t *rawData, size_t size) { if (rawData == nullptr || size < LIMITSIZE) { return; @@ -409,11 +425,10 @@ void AudioInterruptServiceSetAudioSessionSceneFuzzTest(const uint8_t *rawData, s bool isNullptr = (*reinterpret_cast(rawData)) % BOOL_MODULO; int32_t callerPid = *reinterpret_cast(rawData); CreateAudioSessionService(interruptService, !isNullptr, callerPid); - AudioSessionScene scene = AudioSessionScene::INVALID; - interruptService->SetAudioSessionScene(callerPid, scene); + interruptService->AddActiveInterruptToSession(callerPid); } -void AudioInterruptServiceAddActiveInterruptToSessionFuzzTest(const uint8_t *rawData, size_t size) +void AudioInterruptServiceRemovePlaceholderInterruptForSessionFuzzTest(const uint8_t *rawData, size_t size) { if (rawData == nullptr || size < LIMITSIZE) { return; @@ -423,10 +438,10 @@ void AudioInterruptServiceAddActiveInterruptToSessionFuzzTest(const uint8_t *raw if (interruptService == nullptr) { return; } - bool isNullptr = (*reinterpret_cast(rawData)) % BOOL_MODULO; int32_t callerPid = *reinterpret_cast(rawData); - CreateAudioSessionService(interruptService, !isNullptr, callerPid); - interruptService->AddActiveInterruptToSession(callerPid); + CreateAudioSessionService(interruptService, false, callerPid); + bool isSessionTimeout = (*reinterpret_cast(rawData)) % BOOL_MODULO; + interruptService->RemovePlaceholderInterruptForSession(callerPid, isSessionTimeout); } void AudioInterruptServiceDeactivateAudioSessionFuzzTest(const uint8_t *rawData, size_t size) @@ -447,22 +462,6 @@ void AudioInterruptServiceDeactivateAudioSessionFuzzTest(const uint8_t *rawData, interruptService->DeactivateAudioSession(zoneId, callerPid); } -void AudioInterruptServiceRemovePlaceholderInterruptForSessionFuzzTest(const uint8_t *rawData, size_t size) -{ - if (rawData == nullptr || size < LIMITSIZE) { - return; - } - - std::shared_ptr interruptService = std::make_shared(); - if (interruptService == nullptr) { - return; - } - int32_t callerPid = *reinterpret_cast(rawData); - CreateAudioSessionService(interruptService, false, callerPid); - bool isSessionTimeout = (*reinterpret_cast(rawData)) % BOOL_MODULO; - interruptService->RemovePlaceholderInterruptForSession(callerPid, isSessionTimeout); -} - void AudioInterruptServiceIsAudioSessionActivatedFuzzTest(const uint8_t *rawData, size_t size) { if (rawData == nullptr || size < LIMITSIZE) { @@ -510,7 +509,7 @@ void AudioInterruptServiceIsCanMixInterruptFuzzTest(const uint8_t *rawData, size interruptService->IsCanMixInterrupt(incomingInterrupt, activeInterrupt); } -void AudioInterruptServiceCanMixForSessionFuzzTest(const uint8_t *rawData, size_t size) +void AudioInterruptServiceCanMixForIncomingSessionFuzzTest(const uint8_t *rawData, size_t size) { if (rawData == nullptr || size < LIMITSIZE) { return; @@ -522,16 +521,13 @@ void AudioInterruptServiceCanMixForSessionFuzzTest(const uint8_t *rawData, size_ } AudioInterrupt incomingInterrupt; AudioInterrupt activeInterrupt; - incomingInterrupt.audioFocusType.sourceType = SOURCE_TYPE_MIC; - activeInterrupt.audioFocusType.sourceType = SOURCE_TYPE_MIC; - activeInterrupt.audioFocusType.streamType = STREAM_DEFAULT; - incomingInterrupt.audioFocusType.streamType = STREAM_DEFAULT; + incomingInterrupt.pid = *reinterpret_cast(rawData); AudioFocusEntry focusEntry; - focusEntry.isReject = (*reinterpret_cast(rawData)) % BOOL_MODULO; - interruptService->CanMixForSession(incomingInterrupt, activeInterrupt, focusEntry); + CreateAudioSessionService(interruptService, false, incomingInterrupt.pid); + interruptService->CanMixForIncomingSession(incomingInterrupt, activeInterrupt, focusEntry); } -void AudioInterruptServiceCanMixForIncomingSessionFuzzTest(const uint8_t *rawData, size_t size) +void AudioInterruptServiceCanMixForSessionFuzzTest(const uint8_t *rawData, size_t size) { if (rawData == nullptr || size < LIMITSIZE) { return; @@ -543,10 +539,13 @@ void AudioInterruptServiceCanMixForIncomingSessionFuzzTest(const uint8_t *rawDat } AudioInterrupt incomingInterrupt; AudioInterrupt activeInterrupt; - incomingInterrupt.pid = *reinterpret_cast(rawData); + incomingInterrupt.audioFocusType.sourceType = SOURCE_TYPE_MIC; + activeInterrupt.audioFocusType.sourceType = SOURCE_TYPE_MIC; + activeInterrupt.audioFocusType.streamType = STREAM_DEFAULT; + incomingInterrupt.audioFocusType.streamType = STREAM_DEFAULT; AudioFocusEntry focusEntry; - CreateAudioSessionService(interruptService, false, incomingInterrupt.pid); - interruptService->CanMixForIncomingSession(incomingInterrupt, activeInterrupt, focusEntry); + focusEntry.isReject = (*reinterpret_cast(rawData)) % BOOL_MODULO; + interruptService->CanMixForSession(incomingInterrupt, activeInterrupt, focusEntry); } void AudioInterruptServiceIsIncomingStreamLowPriorityFuzzTest(const uint8_t *rawData, size_t size) @@ -576,27 +575,6 @@ void AudioInterruptServiceIsIncomingStreamLowPriorityFuzzTest(const uint8_t *raw interruptService->IsIncomingStreamLowPriority(focusEntry); } -void AudioInterruptServiceIsActiveStreamLowPriorityFuzzTest(const uint8_t *rawData, size_t size) -{ - if (rawData == nullptr || size < LIMITSIZE) { - return; - } - - std::shared_ptr interruptService = std::make_shared(); - if (interruptService == nullptr) { - return; - } - AudioFocusEntry focusEntry; - bool testFalse = (*reinterpret_cast(rawData)) % BOOL_MODULO; - if (testFalse) { - focusEntry.actionOn = BOTH; - } else { - focusEntry.actionOn = CURRENT; - focusEntry.hintType = INTERRUPT_HINT_DUCK; - } - interruptService->IsActiveStreamLowPriority(focusEntry); -} - void AudioInterruptServiceUnsetAudioManagerInterruptCallbackFuzzTest(const uint8_t *rawData, size_t size) { if (rawData == nullptr || size < LIMITSIZE) { @@ -633,6 +611,27 @@ void AudioInterruptServiceRequestAudioFocusFuzzTest(const uint8_t *rawData, size interruptService->RequestAudioFocus(clientId, audioInterrupt); } +void AudioInterruptServiceIsActiveStreamLowPriorityFuzzTest(const uint8_t *rawData, size_t size) +{ + if (rawData == nullptr || size < LIMITSIZE) { + return; + } + + std::shared_ptr interruptService = std::make_shared(); + if (interruptService == nullptr) { + return; + } + AudioFocusEntry focusEntry; + bool testFalse = (*reinterpret_cast(rawData)) % BOOL_MODULO; + if (testFalse) { + focusEntry.actionOn = BOTH; + } else { + focusEntry.actionOn = CURRENT; + focusEntry.hintType = INTERRUPT_HINT_DUCK; + } + interruptService->IsActiveStreamLowPriority(focusEntry); +} + void AudioInterruptServiceAbandonAudioFocusFuzzTest(const uint8_t *rawData, size_t size) { if (rawData == nullptr || size < LIMITSIZE) { @@ -649,7 +648,7 @@ void AudioInterruptServiceAbandonAudioFocusFuzzTest(const uint8_t *rawData, size interruptService->AbandonAudioFocus(clientId, audioInterrupt); } -void AudioInterruptServiceUnsetAudioInterruptCallbackFuzzTest(const uint8_t *rawData, size_t size) +void AudioInterruptServiceAudioInterruptIsActiveInFocusListFuzzTest(const uint8_t *rawData, size_t size) { if (rawData == nullptr || size < LIMITSIZE) { return; @@ -660,20 +659,14 @@ void AudioInterruptServiceUnsetAudioInterruptCallbackFuzzTest(const uint8_t *raw return; } int32_t zoneId = *reinterpret_cast(rawData); - uint32_t streamId = *reinterpret_cast(rawData) + 1; - std::shared_ptr interruptClient = - std::make_shared(nullptr, nullptr, nullptr); - interruptService->interruptClients_.insert({streamId, interruptClient}); + uint32_t incomingStreamId = *reinterpret_cast(rawData) + 1; shared_ptr zone = std::make_shared(); - if (zone == nullptr) { - return; - } - zone->interruptCbsMap.insert(std::make_pair(streamId, make_shared())); interruptService->zonesMap_.insert(std::make_pair(zoneId, zone)); - interruptService->UnsetAudioInterruptCallback(zoneId, streamId); + + interruptService->AudioInterruptIsActiveInFocusList(zoneId, incomingStreamId); } -void AudioInterruptServiceAudioInterruptIsActiveInFocusListFuzzTest(const uint8_t *rawData, size_t size) +void AudioInterruptServiceUnsetAudioInterruptCallbackFuzzTest(const uint8_t *rawData, size_t size) { if (rawData == nullptr || size < LIMITSIZE) { return; @@ -684,11 +677,17 @@ void AudioInterruptServiceAudioInterruptIsActiveInFocusListFuzzTest(const uint8_ return; } int32_t zoneId = *reinterpret_cast(rawData); - uint32_t incomingStreamId = *reinterpret_cast(rawData) + 1; + uint32_t streamId = *reinterpret_cast(rawData) + 1; + std::shared_ptr interruptClient = + std::make_shared(nullptr, nullptr, nullptr); + interruptService->interruptClients_.insert({streamId, interruptClient}); shared_ptr zone = std::make_shared(); + if (zone == nullptr) { + return; + } + zone->interruptCbsMap.insert(std::make_pair(streamId, make_shared())); interruptService->zonesMap_.insert(std::make_pair(zoneId, zone)); - - interruptService->AudioInterruptIsActiveInFocusList(zoneId, incomingStreamId); + interruptService->UnsetAudioInterruptCallback(zoneId, streamId); } void AudioInterruptServiceHandleAppStreamTypeFuzzTest(const uint8_t *rawData, size_t size) @@ -760,7 +759,7 @@ void AudioInterruptServicePrintLogsOfFocusStrategyBaseMusicFuzzTest(const uint8_ interruptService->PrintLogsOfFocusStrategyBaseMusic(audioInterrupt); } -void AudioInterruptServiceClearAudioFocusInfoListFuzzTest(const uint8_t *rawData, size_t size) +void AudioInterruptServiceActivatePreemptModeFuzzTest(const uint8_t *rawData, size_t size) { if (rawData == nullptr || size < LIMITSIZE) { return; @@ -772,15 +771,13 @@ void AudioInterruptServiceClearAudioFocusInfoListFuzzTest(const uint8_t *rawData return; } int32_t zoneId = *reinterpret_cast(rawData); - AudioInterrupt audioInterrupt; - pair audioFocusInfo = std::make_pair(audioInterrupt, AudioFocuState::MUTED); - zone->audioFocusInfoList.emplace_back(audioFocusInfo); interruptService->zonesMap_.insert(std::make_pair(zoneId, zone)); - interruptService->ClearAudioFocusInfoList(); + interruptService->ActivatePreemptMode(); + interruptService->DeactivatePreemptMode(); } -void AudioInterruptServiceActivatePreemptModeFuzzTest(const uint8_t *rawData, size_t size) +void AudioInterruptServiceClearAudioFocusInfoListFuzzTest(const uint8_t *rawData, size_t size) { if (rawData == nullptr || size < LIMITSIZE) { return; @@ -792,10 +789,12 @@ void AudioInterruptServiceActivatePreemptModeFuzzTest(const uint8_t *rawData, si return; } int32_t zoneId = *reinterpret_cast(rawData); + AudioInterrupt audioInterrupt; + pair audioFocusInfo = std::make_pair(audioInterrupt, AudioFocuState::MUTED); + zone->audioFocusInfoList.emplace_back(audioFocusInfo); interruptService->zonesMap_.insert(std::make_pair(zoneId, zone)); - interruptService->ActivatePreemptMode(); - interruptService->DeactivatePreemptMode(); + interruptService->ClearAudioFocusInfoList(); } void AudioInterruptServiceInjectInterruptToAudioZoneFuzzTest(const uint8_t *rawData, size_t size) @@ -837,7 +836,7 @@ void AudioInterruptServiceGetAudioFocusInfoListFuzzTest(const uint8_t *rawData, interruptService->GetAudioFocusInfoList(zoneId, deviceTag, interrupts); } -void AudioInterruptServiceGetStreamInFocusByUidFuzzTest(const uint8_t *rawData, size_t size) +void AudioInterruptServiceGetSessionInfoInFocusFuzzTest(const uint8_t *rawData, size_t size) { if (rawData == nullptr || size < LIMITSIZE) { return; @@ -854,10 +853,11 @@ void AudioInterruptServiceGetStreamInFocusByUidFuzzTest(const uint8_t *rawData, pair audioFocusInfo = std::make_pair(audioInterrupt, AudioFocuState::MUTED); zone->audioFocusInfoList.emplace_back(audioFocusInfo); interruptService->zonesMap_.insert(std::make_pair(zoneId, zone)); - interruptService->GetStreamInFocusByUid(uid, zoneId); + AudioInterrupt interrupt; + interruptService->GetSessionInfoInFocus(interrupt, zoneId); } -void AudioInterruptServiceGetSessionInfoInFocusFuzzTest(const uint8_t *rawData, size_t size) +void AudioInterruptServiceGetStreamInFocusByUidFuzzTest(const uint8_t *rawData, size_t size) { if (rawData == nullptr || size < LIMITSIZE) { return; @@ -874,8 +874,27 @@ void AudioInterruptServiceGetSessionInfoInFocusFuzzTest(const uint8_t *rawData, pair audioFocusInfo = std::make_pair(audioInterrupt, AudioFocuState::MUTED); zone->audioFocusInfoList.emplace_back(audioFocusInfo); interruptService->zonesMap_.insert(std::make_pair(zoneId, zone)); - AudioInterrupt interrupt; - interruptService->GetSessionInfoInFocus(interrupt, zoneId); + interruptService->GetStreamInFocusByUid(uid, zoneId); +} + +void AudioInterruptServiceCheckAudioSessionExistenceFuzzTest(const uint8_t *rawData, size_t size) +{ + if (rawData == nullptr || size < LIMITSIZE) { + return; + } + + std::shared_ptr interruptService = std::make_shared(); + if (interruptService == nullptr) { + return; + } + AudioInterrupt incomingInterrupt; + incomingInterrupt.mode = INDEPENDENT_MODE; + incomingInterrupt.pid = *reinterpret_cast(rawData); + AudioFocusEntry focusEntry; + focusEntry.isReject = (*reinterpret_cast(rawData)) % BOOL_MODULO; + CreateAudioSessionService(interruptService, !focusEntry.isReject, incomingInterrupt.pid); + + interruptService->CheckAudioSessionExistence(incomingInterrupt, focusEntry); } void AudioInterruptServiceIsSameAppInShareModeFuzzTest(const uint8_t *rawData, size_t size) @@ -909,26 +928,6 @@ void AudioInterruptServiceIsSameAppInShareModeFuzzTest(const uint8_t *rawData, s interruptService->IsSameAppInShareMode(incomingInterrupt, activeInterrupt); } -void AudioInterruptServiceCheckAudioSessionExistenceFuzzTest(const uint8_t *rawData, size_t size) -{ - if (rawData == nullptr || size < LIMITSIZE) { - return; - } - - std::shared_ptr interruptService = std::make_shared(); - if (interruptService == nullptr) { - return; - } - AudioInterrupt incomingInterrupt; - incomingInterrupt.mode = INDEPENDENT_MODE; - incomingInterrupt.pid = *reinterpret_cast(rawData); - AudioFocusEntry focusEntry; - focusEntry.isReject = (*reinterpret_cast(rawData)) % BOOL_MODULO; - CreateAudioSessionService(interruptService, !focusEntry.isReject, incomingInterrupt.pid); - - interruptService->CheckAudioSessionExistence(incomingInterrupt, focusEntry); -} - void AudioInterruptServiceUpdateHintTypeForExistingSessionFuzzTest(const uint8_t *rawData, size_t size) { if (rawData == nullptr || size < LIMITSIZE) { @@ -1045,7 +1044,7 @@ void AudioInterruptServiceSendActiveInterruptEventFuzzTest(const uint8_t *rawDat interruptService->SendActiveInterruptEvent(streamId, interruptEvent, incomingInterrupt, activeInterrupt); } -void AudioInterruptServiceAudioFocusInfoListRemovalConditionFuzzTest(const uint8_t *rawData, size_t size) +void AudioInterruptServiceIsMediaStreamFuzzTest(const uint8_t *rawData, size_t size) { if (rawData == nullptr || size < LIMITSIZE) { return; @@ -1055,18 +1054,12 @@ void AudioInterruptServiceAudioFocusInfoListRemovalConditionFuzzTest(const uint8 if (interruptService == nullptr) { return; } - int32_t zoneId = *reinterpret_cast(rawData); - AudioInterrupt audioInterrupt; - audioInterrupt.pid = zoneId; - audioInterrupt.isAudioSessionInterrupt = *reinterpret_cast(rawData); - audioInterrupt.audioFocusType.sourceType = *reinterpret_cast(rawData); - AudioFocuState audioFocusState = *reinterpret_cast(rawData); - std::pair audioInterruptPair = std::make_pair(audioInterrupt, audioFocusState); + AudioStreamType audioStreamType = *reinterpret_cast(rawData); - interruptService->AudioFocusInfoListRemovalCondition(audioInterrupt, audioInterruptPair); + interruptService->IsMediaStream(audioStreamType); } -void AudioInterruptServiceIsMediaStreamFuzzTest(const uint8_t *rawData, size_t size) +void AudioInterruptServiceAudioFocusInfoListRemovalConditionFuzzTest(const uint8_t *rawData, size_t size) { if (rawData == nullptr || size < LIMITSIZE) { return; @@ -1076,9 +1069,15 @@ void AudioInterruptServiceIsMediaStreamFuzzTest(const uint8_t *rawData, size_t s if (interruptService == nullptr) { return; } - AudioStreamType audioStreamType = *reinterpret_cast(rawData); + int32_t zoneId = *reinterpret_cast(rawData); + AudioInterrupt audioInterrupt; + audioInterrupt.pid = zoneId; + audioInterrupt.isAudioSessionInterrupt = *reinterpret_cast(rawData); + audioInterrupt.audioFocusType.sourceType = *reinterpret_cast(rawData); + AudioFocuState audioFocusState = *reinterpret_cast(rawData); + std::pair audioInterruptPair = std::make_pair(audioInterrupt, audioFocusState); - interruptService->IsMediaStream(audioStreamType); + interruptService->AudioFocusInfoListRemovalCondition(audioInterrupt, audioInterruptPair); } void AudioInterruptServiceUpdateAudioFocusStrategyFuzzTest(const uint8_t *rawData, size_t size) @@ -1185,7 +1184,7 @@ void GetHighestPriorityAudioSceneFuzzTest(const uint8_t *rawData, size_t size) interruptService->GetHighestPriorityAudioScene(zoneId); } -void GetStreamTypePriorityFuzzTest(const uint8_t *rawData, size_t size) +void DeactivatePreemptModeFuzzTest(const uint8_t *rawData, size_t size) { if (rawData == nullptr || size < LIMITSIZE) { return; @@ -1194,11 +1193,10 @@ void GetStreamTypePriorityFuzzTest(const uint8_t *rawData, size_t size) if (interruptService == nullptr) { return; } - AudioStreamType streamType = *reinterpret_cast(rawData); - interruptService->GetStreamTypePriority(streamType); + interruptService->DeactivatePreemptMode(); } - -void DeactivatePreemptModeFuzzTest(const uint8_t *rawData, size_t size) + +void GetStreamTypePriorityFuzzTest(const uint8_t *rawData, size_t size) { if (rawData == nullptr || size < LIMITSIZE) { return; @@ -1207,7 +1205,8 @@ void DeactivatePreemptModeFuzzTest(const uint8_t *rawData, size_t size) if (interruptService == nullptr) { return; } - interruptService->DeactivatePreemptMode(); + AudioStreamType streamType = *reinterpret_cast(rawData); + interruptService->GetStreamTypePriority(streamType); } void IsCapturerFocusAvailableFuzzTest(const uint8_t *rawData, size_t size) @@ -1225,7 +1224,7 @@ void IsCapturerFocusAvailableFuzzTest(const uint8_t *rawData, size_t size) interruptService->IsCapturerFocusAvailable(zoneId, capturerInfo); } -void ClearAudioFocusBySessionIDFuzzTest(const uint8_t *rawData, size_t size) +void DeactivateAudioSessionInFakeFocusModeFuzzTest(const uint8_t *rawData, size_t size) { if (rawData == nullptr || size < LIMITSIZE) { return; @@ -1234,11 +1233,12 @@ void ClearAudioFocusBySessionIDFuzzTest(const uint8_t *rawData, size_t size) if (interruptService == nullptr) { return; } - uint32_t sessionID = *reinterpret_cast(rawData); - interruptService->ClearAudioFocusBySessionID(sessionID); + uint32_t pid = *reinterpret_cast(rawData); + InterruptHint hintType = *reinterpret_cast(rawData); + interruptService->DeactivateAudioSessionInFakeFocusMode(pid, hintType); } - -void DeactivateAudioSessionInFakeFocusModeFuzzTest(const uint8_t *rawData, size_t size) + +void ClearAudioFocusBySessionIDFuzzTest(const uint8_t *rawData, size_t size) { if (rawData == nullptr || size < LIMITSIZE) { return; @@ -1247,9 +1247,8 @@ void DeactivateAudioSessionInFakeFocusModeFuzzTest(const uint8_t *rawData, size_ if (interruptService == nullptr) { return; } - uint32_t pid = *reinterpret_cast(rawData); - InterruptHint hintType = *reinterpret_cast(rawData); - interruptService->DeactivateAudioSessionInFakeFocusMode(pid, hintType); + uint32_t sessionID = *reinterpret_cast(rawData); + interruptService->ClearAudioFocusBySessionID(sessionID); } void DeactivateAudioSessionFakeInterruptFuzzTest(const uint8_t *rawData, size_t size) @@ -1267,7 +1266,7 @@ void DeactivateAudioSessionFakeInterruptFuzzTest(const uint8_t *rawData, size_t interruptService->DeactivateAudioSessionFakeInterrupt(zoneId, callerPid, isSessionTimeout); } -void AudioSessionInfoDumpFuzzTest(const uint8_t *rawData, size_t size) +void SetSessionMuteStateFuzzTest(const uint8_t *rawData, size_t size) { if (rawData == nullptr || size < LIMITSIZE) { return; @@ -1276,14 +1275,16 @@ void AudioSessionInfoDumpFuzzTest(const uint8_t *rawData, size_t size) if (interruptService == nullptr) { return; } - std::string dumpString = ""; + uint32_t sessionId = *reinterpret_cast(rawData); + bool insert = (*reinterpret_cast(rawData)) % BOOL_MODULO; + bool muteFlag = (*reinterpret_cast(rawData)) % BOOL_MODULO; if (interruptService == nullptr) { return; } - interruptService->AudioSessionInfoDump(dumpString); + interruptService->SetSessionMuteState(sessionId, insert, muteFlag); } - -void SetSessionMuteStateFuzzTest(const uint8_t *rawData, size_t size) + +void AudioSessionInfoDumpFuzzTest(const uint8_t *rawData, size_t size) { if (rawData == nullptr || size < LIMITSIZE) { return; @@ -1292,13 +1293,11 @@ void SetSessionMuteStateFuzzTest(const uint8_t *rawData, size_t size) if (interruptService == nullptr) { return; } - uint32_t sessionId = *reinterpret_cast(rawData); - bool insert = (*reinterpret_cast(rawData)) % BOOL_MODULO; - bool muteFlag = (*reinterpret_cast(rawData)) % BOOL_MODULO; + std::string dumpString = ""; if (interruptService == nullptr) { return; } - interruptService->SetSessionMuteState(sessionId, insert, muteFlag); + interruptService->AudioSessionInfoDump(dumpString); } void SetLatestMuteStateFuzzTest(const uint8_t *rawData, size_t size) diff --git a/test/fuzztest/audiointerruptservice_fuzzer/project.xml b/test/fuzztest/audiopolicy_fuzzer/audiointerruptservice_fuzzer/project.xml similarity index 100% rename from test/fuzztest/audiointerruptservice_fuzzer/project.xml rename to test/fuzztest/audiopolicy_fuzzer/audiointerruptservice_fuzzer/project.xml diff --git a/test/fuzztest/audiointerruptservicemore_fuzzer/BUILD.gn b/test/fuzztest/audiopolicy_fuzzer/audiointerruptservicemore_fuzzer/BUILD.gn similarity index 77% rename from test/fuzztest/audiointerruptservicemore_fuzzer/BUILD.gn rename to test/fuzztest/audiopolicy_fuzzer/audiointerruptservicemore_fuzzer/BUILD.gn index 2b0c53ed7eb3a4298b5e6e7ecd6268b6d6ef2c44..efa7fbafa87e9d561131b462f0ea0068fa21d20a 100644 --- a/test/fuzztest/audiointerruptservicemore_fuzzer/BUILD.gn +++ b/test/fuzztest/audiopolicy_fuzzer/audiointerruptservicemore_fuzzer/BUILD.gn @@ -13,22 +13,22 @@ import("//build/config/features.gni") import("//build/test.gni") -import("../../../accessibility.gni") -import("../../../appgallery.gni") -import("../../../bluetooth_part.gni") -import("../../../config.gni") +import("../../../../accessibility.gni") +import("../../../../appgallery.gni") +import("../../../../bluetooth_part.gni") +import("../../../../config.gni") ohos_fuzztest("AudioInterruptServiceMoreFuzzTest") { module_out_path = "audio_framework/audio_framework_route" fuzz_config_file = "../audiointerruptservicemore_fuzzer" include_dirs = [ - "../../../services/audio_engine/manager/include", - "../../../services/audio_policy/client/include", - "../../../services/audio_policy/server/include", - "../../../services/audio_policy/server/include/service", - "../../../services/audio_policy/server/include/service/manager", - "../../../services/audio_service/server/include", + "../../../../services/audio_engine/manager/include", + "../../../../services/audio_policy/client/include", + "../../../../services/audio_policy/server/include", + "../../../../services/audio_policy/server/include/service", + "../../../../services/audio_policy/server/include/service/manager", + "../../../../services/audio_service/server/include", ] cflags = [ @@ -41,7 +41,7 @@ ohos_fuzztest("AudioInterruptServiceMoreFuzzTest") { cflags_cc = cflags cflags_cc += [ "-fno-access-control" ] - configs = [ "../../../services/audio_policy:audio_policy_public_config" ] + configs = [ "../../../../services/audio_policy:audio_policy_public_config" ] sources = [ "audio_interrupt_service_more_fuzzer.cpp" ] @@ -57,12 +57,12 @@ ohos_fuzztest("AudioInterruptServiceMoreFuzzTest") { } deps = [ - "../../../services/audio_service/idl:audio_framework_interface", - "../../../frameworks/native/audioutils:audio_utils", - "../../../frameworks/native/hdiadapter_new:hdiadapter_new", - "../../../services/audio_engine:audio_engine_manager", - "../../../services/audio_policy:audio_policy_client_static", - "../../../services/audio_policy:audio_policy_service_static", + "../../../../services/audio_service/idl:audio_framework_interface", + "../../../../frameworks/native/audioutils:audio_utils", + "../../../../frameworks/native/hdiadapter_new:hdiadapter_new", + "../../../../services/audio_engine:audio_engine_manager", + "../../../../services/audio_policy:audio_policy_client_static", + "../../../../services/audio_policy:audio_policy_service_static", ] external_deps = [ @@ -131,7 +131,7 @@ ohos_fuzztest("AudioInterruptServiceMoreFuzzTest") { if (bluetooth_part_enable == true) { deps += - [ "../../../frameworks/native/bluetoothclient:audio_bluetooth_client" ] + [ "../../../../frameworks/native/bluetoothclient:audio_bluetooth_client" ] external_deps += [ "bluetooth:btframework" ] } diff --git a/test/fuzztest/audiointerruptservicemore_fuzzer/audio_interrupt_service_more_fuzzer.cpp b/test/fuzztest/audiopolicy_fuzzer/audiointerruptservicemore_fuzzer/audio_interrupt_service_more_fuzzer.cpp similarity index 100% rename from test/fuzztest/audiointerruptservicemore_fuzzer/audio_interrupt_service_more_fuzzer.cpp rename to test/fuzztest/audiopolicy_fuzzer/audiointerruptservicemore_fuzzer/audio_interrupt_service_more_fuzzer.cpp index f3d1f0ac31c3de05ebfc0ed5ad99359f6769cbaf..59c31ed6f792d0a09bd1a929efd46767d742b4e8 100644 --- a/test/fuzztest/audiointerruptservicemore_fuzzer/audio_interrupt_service_more_fuzzer.cpp +++ b/test/fuzztest/audiopolicy_fuzzer/audiointerruptservicemore_fuzzer/audio_interrupt_service_more_fuzzer.cpp @@ -107,6 +107,26 @@ void AudioFuzzTestGetPermission() } } +void AddSetAudioManagerInterruptCallbackFuzzTest() +{ + std::shared_ptr interruptService = std::make_shared(); + interruptService->GetAudioServerProxy(); + MessageParcel data; + data.WriteInterfaceToken(FORMMGR_INTERFACE_TOKEN); + data.WriteBuffer(RAW_DATA, g_dataSize); + data.RewindRead(0); + sptr object = data.ReadRemoteObject(); + if (object == nullptr) { + return; + } + interruptService->SetAudioManagerInterruptCallback(object); + + int32_t zoneId = GetData(); + uint32_t sessionId = GetData(); + uint32_t uid = GetData(); + interruptService->SetAudioInterruptCallback(zoneId, sessionId, object, uid); +} + void MoreFuzzTest() { std::shared_ptr interruptService = std::make_shared(); @@ -118,6 +138,13 @@ void MoreFuzzTest() interruptService->HandleSessionTimeOutEvent(pid); } +void ClearAudioFocusInfoListOnAccountsChangedFuzzTest() +{ + int id = GetData(); + std::shared_ptr interruptService = std::make_shared(); + interruptService->ClearAudioFocusInfoListOnAccountsChanged(id); +} + void AddAudioSessionFuzzTest() { int32_t sessionStrategy = 0; @@ -138,33 +165,6 @@ void AddAudioSessionFuzzTest() interruptService->IsActiveStreamLowPriority(focusEntry); } -void AddSetAudioManagerInterruptCallbackFuzzTest() -{ - MessageParcel data; - data.WriteInterfaceToken(FORMMGR_INTERFACE_TOKEN); - data.WriteBuffer(RAW_DATA, g_dataSize); - data.RewindRead(0); - sptr object = data.ReadRemoteObject(); - std::shared_ptr interruptService = std::make_shared(); - interruptService->GetAudioServerProxy(); - if (object == nullptr) { - return; - } - interruptService->SetAudioManagerInterruptCallback(object); - - int32_t zoneId = GetData(); - uint32_t sessionId = GetData(); - uint32_t uid = GetData(); - interruptService->SetAudioInterruptCallback(zoneId, sessionId, object, uid); -} - -void ClearAudioFocusInfoListOnAccountsChangedFuzzTest() -{ - int id = GetData(); - std::shared_ptr interruptService = std::make_shared(); - interruptService->ClearAudioFocusInfoListOnAccountsChanged(id); -} - typedef void (*TestFuncs[4])(); TestFuncs g_testFuncs = { diff --git a/test/fuzztest/audiointerruptservicemore_fuzzer/project.xml b/test/fuzztest/audiopolicy_fuzzer/audiointerruptservicemore_fuzzer/project.xml similarity index 100% rename from test/fuzztest/audiointerruptservicemore_fuzzer/project.xml rename to test/fuzztest/audiopolicy_fuzzer/audiointerruptservicemore_fuzzer/project.xml diff --git a/test/fuzztest/audiointerruptzone_fuzzer/BUILD.gn b/test/fuzztest/audiopolicy_fuzzer/audiointerruptzone_fuzzer/BUILD.gn similarity index 77% rename from test/fuzztest/audiointerruptzone_fuzzer/BUILD.gn rename to test/fuzztest/audiopolicy_fuzzer/audiointerruptzone_fuzzer/BUILD.gn index 97103f98a49cad8849ada8b79ed6b934fb70eba2..db23654c974baebffe6cf326b0792456d95a17a6 100644 --- a/test/fuzztest/audiointerruptzone_fuzzer/BUILD.gn +++ b/test/fuzztest/audiopolicy_fuzzer/audiointerruptzone_fuzzer/BUILD.gn @@ -13,19 +13,19 @@ import("//build/config/features.gni") import("//build/test.gni") -import("../../../accessibility.gni") -import("../../../config.gni") +import("../../../../accessibility.gni") +import("../../../../config.gni") ohos_fuzztest("AudioInterruptZoneFuzzTest") { module_out_path = "audio_framework/audio_framework_route" fuzz_config_file = "../audiointerruptzone_fuzzer" include_dirs = [ - "../../../services/audio_policy/server/include/service", - "../../../services/audio_policy/server/include", - "../../../frameworks/native/audioutils/include", - "../../../services/audio_service/common/include/limiter/", - "../../../services/audio_engine/manager/include", + "../../../../services/audio_policy/server/include/service", + "../../../../services/audio_policy/server/include", + "../../../../frameworks/native/audioutils/include", + "../../../../services/audio_service/common/include/limiter/", + "../../../../services/audio_engine/manager/include", ] cflags = [ "-g", @@ -34,17 +34,17 @@ ohos_fuzztest("AudioInterruptZoneFuzzTest") { "-fno-omit-frame-pointer", "-fno-access-control", ] - configs = [ "../../../services/audio_policy:audio_policy_public_config" ] + configs = [ "../../../../services/audio_policy:audio_policy_public_config" ] sources = [ "audio_interrupt_zone_fuzzer.cpp" ] deps = [ - "../../../frameworks/native/audioutils:audio_utils", - "../../../frameworks/native/bluetoothclient:audio_bluetooth_client", - "../../../services/audio_policy:audio_policy_service_static", - "../../../services/audio_service:audio_common", - "../../../frameworks/native/audioclock:audio_clock", - "../../../services/audio_engine:audio_engine_manager", + "../../../../frameworks/native/audioutils:audio_utils", + "../../../../frameworks/native/bluetoothclient:audio_bluetooth_client", + "../../../../services/audio_policy:audio_policy_service_static", + "../../../../services/audio_service:audio_common", + "../../../../frameworks/native/audioclock:audio_clock", + "../../../../services/audio_engine:audio_engine_manager", ] external_deps = [ diff --git a/test/fuzztest/audiointerruptzone_fuzzer/audio_interrupt_zone_fuzzer.cpp b/test/fuzztest/audiopolicy_fuzzer/audiointerruptzone_fuzzer/audio_interrupt_zone_fuzzer.cpp similarity index 99% rename from test/fuzztest/audiointerruptzone_fuzzer/audio_interrupt_zone_fuzzer.cpp rename to test/fuzztest/audiopolicy_fuzzer/audiointerruptzone_fuzzer/audio_interrupt_zone_fuzzer.cpp index d4bb36147853786198a3917008542ae54e1cf916..8ded05b9d94c1ef269932a8a6451d73f00e46116 100644 --- a/test/fuzztest/audiointerruptzone_fuzzer/audio_interrupt_zone_fuzzer.cpp +++ b/test/fuzztest/audiopolicy_fuzzer/audiointerruptzone_fuzzer/audio_interrupt_zone_fuzzer.cpp @@ -41,7 +41,7 @@ #include "audio_policy_state_monitor.h" #include "audio_device_info.h" #include "audio_spatialization_service.h" -#include "../fuzz_utils.h" +#include "../../fuzz_utils.h" namespace OHOS { namespace AudioStandard { @@ -51,7 +51,7 @@ FuzzUtils &g_fuzzUtils = FuzzUtils::GetInstance(); const size_t FUZZ_INPUT_SIZE_THRESHOLD = 10; typedef void (*TestFuncs)(); -void AudioInterruptZoneManagerGetAudioFocusInfoListFuzzTest() +void AudioInterruptZoneManagerForceStopAudioFocusInZoneFuzzTest() { auto audioInterruptZoneManager = std::make_shared(); if (audioInterruptZoneManager == nullptr) { @@ -62,15 +62,16 @@ void AudioInterruptZoneManagerGetAudioFocusInfoListFuzzTest() if (audioInterruptZoneManager->service_ == nullptr) { return; } - std::shared_ptr audioInterruptZone = make_shared(); + AudioInterrupt interrupt; + audioInterruptZoneManager->service_->sessionService_ = std::make_shared(); + audioInterruptZoneManager->service_->handler_ = std::make_shared(); int32_t zoneId = g_fuzzUtils.GetData(); - audioInterruptZoneManager->service_->zonesMap_.insert({zoneId, audioInterruptZone}); - std::string deviceTag = "0"; - AudioFocusList focusInfoList; - audioInterruptZoneManager->GetAudioFocusInfoList(zoneId, deviceTag, focusInfoList); + interrupt.streamId = g_fuzzUtils.GetData(); + interrupt.pid = g_fuzzUtils.GetData(); + audioInterruptZoneManager->ForceStopAudioFocusInZone(zoneId, interrupt); } -void AudioInterruptZoneManagerForceStopAudioFocusInZoneFuzzTest() +void AudioInterruptZoneManagerGetAudioFocusInfoListFuzzTest() { auto audioInterruptZoneManager = std::make_shared(); if (audioInterruptZoneManager == nullptr) { @@ -81,13 +82,12 @@ void AudioInterruptZoneManagerForceStopAudioFocusInZoneFuzzTest() if (audioInterruptZoneManager->service_ == nullptr) { return; } - audioInterruptZoneManager->service_->sessionService_ = std::make_shared(); - audioInterruptZoneManager->service_->handler_ = std::make_shared(); + std::shared_ptr audioInterruptZone = make_shared(); int32_t zoneId = g_fuzzUtils.GetData(); - AudioInterrupt interrupt; - interrupt.streamId = g_fuzzUtils.GetData(); - interrupt.pid = g_fuzzUtils.GetData(); - audioInterruptZoneManager->ForceStopAudioFocusInZone(zoneId, interrupt); + audioInterruptZoneManager->service_->zonesMap_.insert({zoneId, audioInterruptZone}); + std::string deviceTag = "0"; + AudioFocusList focusInfoList; + audioInterruptZoneManager->GetAudioFocusInfoList(zoneId, deviceTag, focusInfoList); } void AudioInterruptZoneManagerForceStopAllAudioFocusInZoneFuzzTest() @@ -108,10 +108,11 @@ void AudioInterruptZoneManagerForceStopAllAudioFocusInZoneFuzzTest() audioInterruptZoneManager->ForceStopAllAudioFocusInZone(zone); } -void AudioInterruptZoneManagerInjectInterruptToAudioZoneFuzzTest() +void AudioInterruptZoneManagerQueryAudioFocusFromZoneFuzzTest() { auto audioInterruptZoneManager = std::make_shared(); - if (audioInterruptZoneManager == nullptr) { + shared_ptr audioInterruptZone = make_shared(); + if (audioInterruptZoneManager == nullptr || audioInterruptZone == nullptr) { return; } AudioInterruptService service; @@ -120,20 +121,20 @@ void AudioInterruptZoneManagerInjectInterruptToAudioZoneFuzzTest() return; } int32_t zoneId = g_fuzzUtils.GetData(); - audioInterruptZoneManager->service_->zonesMap_.insert({zoneId, std::make_shared()}); std::string deviceTag = "test_device_tag"; AudioInterrupt interrupt; + interrupt.deviceTag = deviceTag; AudioFocuState stateByGetData = g_fuzzUtils.GetData(); - AudioFocusList interrupts; - interrupts.push_back(std::make_pair(interrupt, stateByGetData)); - audioInterruptZoneManager->InjectInterruptToAudioZone(zoneId, deviceTag, interrupts); + audioInterruptZone->audioFocusInfoList.push_back(std::make_pair(interrupt, stateByGetData)); + audioInterruptZoneManager->service_->zonesMap_.insert({zoneId, audioInterruptZone}); + + audioInterruptZoneManager->QueryAudioFocusFromZone(zoneId, deviceTag); } -void AudioInterruptZoneManagerQueryAudioFocusFromZoneFuzzTest() +void AudioInterruptZoneManagerInjectInterruptToAudioZoneFuzzTest() { auto audioInterruptZoneManager = std::make_shared(); - shared_ptr audioInterruptZone = make_shared(); - if (audioInterruptZoneManager == nullptr || audioInterruptZone == nullptr) { + if (audioInterruptZoneManager == nullptr) { return; } AudioInterruptService service; @@ -142,14 +143,13 @@ void AudioInterruptZoneManagerQueryAudioFocusFromZoneFuzzTest() return; } int32_t zoneId = g_fuzzUtils.GetData(); + audioInterruptZoneManager->service_->zonesMap_.insert({zoneId, std::make_shared()}); std::string deviceTag = "test_device_tag"; AudioInterrupt interrupt; - interrupt.deviceTag = deviceTag; AudioFocuState stateByGetData = g_fuzzUtils.GetData(); - audioInterruptZone->audioFocusInfoList.push_back(std::make_pair(interrupt, stateByGetData)); - audioInterruptZoneManager->service_->zonesMap_.insert({zoneId, audioInterruptZone}); - - audioInterruptZoneManager->QueryAudioFocusFromZone(zoneId, deviceTag); + AudioFocusList interrupts; + interrupts.push_back(std::make_pair(interrupt, stateByGetData)); + audioInterruptZoneManager->InjectInterruptToAudioZone(zoneId, deviceTag, interrupts); } void AudioInterruptZoneManagerTryActiveAudioFocusForZoneFuzzTest() diff --git a/test/fuzztest/audiointerruptzone_fuzzer/corpus/init b/test/fuzztest/audiopolicy_fuzzer/audiointerruptzone_fuzzer/corpus/init similarity index 100% rename from test/fuzztest/audiointerruptzone_fuzzer/corpus/init rename to test/fuzztest/audiopolicy_fuzzer/audiointerruptzone_fuzzer/corpus/init diff --git a/test/fuzztest/audiointerruptzone_fuzzer/project.xml b/test/fuzztest/audiopolicy_fuzzer/audiointerruptzone_fuzzer/project.xml similarity index 100% rename from test/fuzztest/audiointerruptzone_fuzzer/project.xml rename to test/fuzztest/audiopolicy_fuzzer/audiointerruptzone_fuzzer/project.xml