| # Copyright 2020 The Fuchsia Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/components.gni") |
| import("//build/testing/environments.gni") |
| import("//src/media/audio/audio_core/test/api/api_test_component.gni") |
| import("//src/media/audio/audio_core_package_v2.gni") |
| import("//src/media/audio/hardware.gni") |
| |
| group("api") { |
| testonly = true |
| |
| deps = [ |
| ":audio-core-api-test-effects", |
| ":audio-core-api-tests", |
| |
| # TODO(fxbug.dev/90408): remove this |
| "//src/media/audio/audio_core:audio-core-for-test", |
| |
| # TODO(fxbug.dev/90408): remove this |
| "//src/media/audio/virtual_audio_service:virtual-audio-service-for-test", |
| ] |
| |
| # These have real-time requirements and must run in release builds (debug builds are too slow). |
| if (!is_debug) { |
| deps += [ |
| ":audio-core-api-pipeline-tests", |
| ":audio_core_fidelity_tests", |
| ":audio_core_thermal_tests", |
| ] |
| } |
| } |
| |
| loadable_module("audio-core-api-test-effects") { |
| sources = [ "effects.cc" ] |
| |
| deps = [ |
| "//sdk/lib/media/audio/effects", |
| "//sdk/lib/syslog/cpp", |
| "//third_party/rapidjson", |
| "//zircon/system/ulib/fzl", |
| ] |
| } |
| |
| source_set("fidelity_results") { |
| testonly = true |
| sources = [ |
| "fidelity_results.cc", |
| "fidelity_results.h", |
| ] |
| deps = [ |
| "//src/media/audio/audio_core/testing/integration:hermetic_pipeline_test", |
| ] |
| } |
| |
| audio_core_api_test_component("activity-reporter-test") { |
| source = "activity_reporter_test.cc" |
| executable_deps = [] |
| } |
| |
| audio_core_api_test_component("audio-capturer-test") { |
| source = "audio_capturer_test.cc" |
| executable_deps = [ |
| "//sdk/lib/media/audio/cpp", |
| "//src/media/audio/lib/clock", |
| "//src/media/audio/lib/clock/testing", |
| ] |
| } |
| |
| audio_core_api_test_component("audio-capturer-pipeline-test") { |
| source = "audio_capturer_pipeline_test.cc" |
| executable_deps = [ "//sdk/lib/media/audio/cpp" ] |
| } |
| |
| audio_core_api_test_component("audio-clock-pipeline-test") { |
| source = "audio_clock_pipeline_test.cc" |
| executable_deps = [ |
| "//sdk/lib/media/audio/cpp", |
| "//sdk/lib/stdcompat", |
| "//src/media/audio/audio_core/mixer", |
| ] |
| } |
| |
| audio_core_api_test_component("audio_core_fidelity_test") { |
| source = "audio_core_fidelity_test.cc" |
| executable_deps = [ |
| ":fidelity_results", |
| "//src/media/audio/audio_core/mixer:coefficient_table", |
| "//src/media/audio/lib/analysis", |
| ] |
| } |
| |
| audio_core_api_test_component("audio_core_thermal_test") { |
| source = "audio_core_thermal_test.cc" |
| executable_deps = [ |
| "//src/media/audio/audio_core/mixer:coefficient_table", |
| "//src/media/audio/lib/analysis", |
| ] |
| } |
| |
| audio_core_api_test_component("audio-device-enumerator-test") { |
| source = "audio_device_enumerator_test.cc" |
| executable_deps = [ "//src/media/audio/audio_core/testing" ] |
| } |
| |
| audio_core_api_test_component("audio-policy-pipeline-test") { |
| source = "audio_policy_pipeline_test.cc" |
| executable_deps = [ "//src/lib/fxl" ] |
| } |
| |
| audio_core_api_test_component("audio-renderer-test") { |
| source = "audio_renderer_test.cc" |
| executable_deps = [ |
| "//sdk/lib/media/audio/cpp", |
| "//src/media/audio/lib/clock", |
| "//src/media/audio/lib/clock/testing", |
| ] |
| } |
| |
| audio_core_api_test_component("audio-renderer-pipeline-test") { |
| source = "audio_renderer_pipeline_test.cc" |
| executable_deps = [ |
| "//src/media/audio/audio_core/mixer", |
| "//src/media/audio/lib/analysis", |
| ] |
| } |
| |
| audio_core_api_test_component("audio-test") { |
| source = "audio_test.cc" |
| executable_deps = [ "//sdk/fidl/fuchsia.media" ] |
| } |
| |
| audio_core_api_test_component("audio-tuner-test") { |
| source = "audio_tuner_test.cc" |
| executable_deps = [ "//sdk/fidl/fuchsia.media.tuning" ] |
| } |
| |
| audio_core_api_test_component("gain-control-test") { |
| source = "gain_control_test.cc" |
| executable_deps = [] |
| } |
| |
| audio_core_api_test_component("ultrasound-test") { |
| source = "ultrasound_test.cc" |
| executable_deps = [ |
| "//src/media/audio/lib/clock", |
| "//src/media/audio/lib/clock/testing", |
| ] |
| } |
| |
| audio_core_api_test_component("usage-gain-reporter-test") { |
| source = "usage_gain_reporter_test.cc" |
| executable_deps = [ "//sdk/fidl/fuchsia.media.audio" ] |
| } |
| |
| audio_core_api_test_component("usage-reporter-test") { |
| source = "usage_reporter_test.cc" |
| executable_deps = [] |
| } |
| |
| audio_core_api_test_component("volume-control-test") { |
| source = "volume_control_test.cc" |
| executable_deps = [] |
| } |
| |
| # These tests can run anywhere, including in emulators. |
| audio_core_test_package("audio-core-api-tests") { |
| package_deps = [ ":audio-core-api-test-effects" ] |
| audio_core_manifest_shards = [ |
| "//src/media/audio/audio_core/meta/audio_core.shard.ultrasound.cml", |
| "//src/media/audio/audio_core/meta/audio_core.shard.for_integration_tests.cml", |
| ] |
| |
| test_components = [ |
| ":activity-reporter-test", |
| ":audio-capturer-test", |
| ":audio-device-enumerator-test", |
| ":audio-renderer-test", |
| ":audio-test", |
| ":audio-tuner-test", |
| ":gain-control-test", |
| ":ultrasound-test", |
| ":usage-gain-reporter-test", |
| ":usage-reporter-test", |
| ":volume-control-test", |
| ] |
| |
| # Many of the above tests print ERROR logs in cases where the client makes an error. |
| test_specs = { |
| log_settings = { |
| max_severity = "ERROR" |
| } |
| } |
| } |
| |
| # These tests have real-time restraints and must run on real hardware (emulators are too slow). |
| audio_core_test_package("audio-core-api-pipeline-tests") { |
| package_deps = [ ":audio-core-api-test-effects" ] |
| audio_core_manifest_shards = [ |
| "//src/media/audio/audio_core/meta/audio_core.shard.ultrasound.cml", |
| "//src/media/audio/audio_core/meta/audio_core.shard.for_integration_tests.cml", |
| ] |
| |
| test_components = [ |
| ":audio-capturer-pipeline-test", |
| ":audio-clock-pipeline-test", |
| ":audio-policy-pipeline-test", |
| ":audio-renderer-pipeline-test", |
| ] |
| |
| # Many of the above tests print ERROR logs in cases where the client makes an error. |
| test_specs = { |
| log_settings = { |
| max_severity = "ERROR" |
| } |
| environments = hardware_envs |
| } |
| } |
| |
| audio_core_test_package("audio_core_fidelity_tests") { |
| audio_core_manifest_shards = [ |
| "//src/media/audio/audio_core/meta/audio_core.shard.ultrasound.cml", |
| "//src/media/audio/audio_core/meta/audio_core.shard.for_integration_tests.cml", |
| ] |
| |
| test_components = [ ":audio_core_fidelity_test" ] |
| |
| # AudioCore emits ERRORs upon output pipeline underflows, which we don't treat as audio failures. |
| test_specs = { |
| log_settings = { |
| max_severity = "ERROR" |
| } |
| environments = hardware_envs |
| } |
| } |
| |
| audio_core_test_package("audio_core_thermal_tests") { |
| package_deps = [ ":audio-core-api-test-effects" ] |
| audio_core_manifest_shards = [ |
| "//src/media/audio/audio_core/meta/audio_core.shard.ultrasound.cml", |
| "//src/media/audio/audio_core/meta/audio_core.shard.for_integration_tests.cml", |
| "//sdk/lib/syslog/client.shard.cml", |
| ] |
| |
| test_components = [ ":audio_core_thermal_test" ] |
| |
| # AudioCore emits ERRORs upon output pipeline underflows, which we don't treat as audio failures. |
| test_specs = { |
| log_settings = { |
| max_severity = "ERROR" |
| } |
| environments = hardware_envs |
| } |
| } |