blob: 0544649b7708aead8bbeec3718d180e1de67d3bf [file] [log] [blame]
# 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
}
}