blob: e0d3dbe0bc663639e42d64b27cd37e083ed72452 [file] [log] [blame]
# Copyright (c) 2019 The WebRTC project authors. All Rights Reserved.
#
# Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file in the root of the source
# tree. An additional intellectual property rights grant can be found
# in the file PATENTS. All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.
import("../../../webrtc.gni")
rtc_library("metric_metadata_keys") {
testonly = true
sources = [ "metric_metadata_keys.h" ]
}
if (!build_with_chromium) {
group("e2e") {
testonly = true
deps = [ ":metric_metadata_keys" ]
if (rtc_include_tests) {
deps += [
":peerconnection_quality_test",
":test_peer",
]
}
}
if (rtc_include_tests) {
group("e2e_unittests") {
testonly = true
deps = [
":peer_connection_e2e_smoke_test",
":peer_connection_quality_test_metric_names_test",
":peer_connection_quality_test_test",
":stats_based_network_quality_metrics_reporter_test",
":stats_poller_test",
]
}
}
if (rtc_include_tests) {
rtc_library("echo_emulation") {
testonly = true
sources = [
"echo/echo_emulation.cc",
"echo/echo_emulation.h",
]
deps = [
"../../../api/test/pclf:media_configuration",
"../../../modules/audio_device:test_audio_device_module",
"../../../rtc_base:swap_queue",
]
}
rtc_library("test_peer") {
testonly = true
sources = [
"test_peer.cc",
"test_peer.h",
]
deps = [
":stats_provider",
"../../../api:frame_generator_api",
"../../../api:function_view",
"../../../api:libjingle_peerconnection_api",
"../../../api:scoped_refptr",
"../../../api:sequence_checker",
"../../../api/task_queue:pending_task_safety_flag",
"../../../api/test/pclf:media_configuration",
"../../../api/test/pclf:media_quality_test_params",
"../../../api/test/pclf:peer_configurer",
"../../../modules/audio_processing:api",
"../../../pc:peerconnection_wrapper",
"../../../rtc_base:logging",
"../../../rtc_base:refcount",
"../../../rtc_base/synchronization:mutex",
]
absl_deps = [
"//third_party/abseil-cpp/absl/memory",
"//third_party/abseil-cpp/absl/strings",
"//third_party/abseil-cpp/absl/types:optional",
"//third_party/abseil-cpp/absl/types:variant",
]
}
rtc_library("test_peer_factory") {
testonly = true
sources = [
"test_peer_factory.cc",
"test_peer_factory.h",
]
deps = [
":echo_emulation",
":test_peer",
"../..:copy_to_file_audio_capturer",
"../../../api:create_time_controller",
"../../../api:enable_media_with_defaults",
"../../../api:time_controller",
"../../../api/rtc_event_log:rtc_event_log_factory",
"../../../api/task_queue",
"../../../api/task_queue:default_task_queue_factory",
"../../../api/test/pclf:media_configuration",
"../../../api/test/pclf:media_quality_test_params",
"../../../api/test/pclf:peer_configurer",
"../../../api/transport:field_trial_based_config",
"../../../api/video_codecs:builtin_video_decoder_factory",
"../../../api/video_codecs:builtin_video_encoder_factory",
"../../../modules/audio_device:test_audio_device_module",
"../../../modules/audio_processing/aec_dump",
"../../../p2p:rtc_p2p",
"../../../rtc_base:threading",
"analyzer/video:quality_analyzing_video_encoder",
"analyzer/video:video_quality_analyzer_injection_helper",
]
absl_deps = [
"//third_party/abseil-cpp/absl/memory",
"//third_party/abseil-cpp/absl/strings",
]
}
rtc_library("test_video_capturer_video_track_source") {
testonly = true
sources = [ "media/test_video_capturer_video_track_source.h" ]
deps = [
"../..:test_video_capturer",
"../../../api:sequence_checker",
"../../../api/test/video:test_video_track_source",
"../../../api/video:video_frame",
]
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
}
rtc_library("media_helper") {
testonly = true
sources = [
"media/media_helper.cc",
"media/media_helper.h",
]
deps = [
":test_peer",
":test_video_capturer_video_track_source",
"../..:fileutils",
"../..:frame_generator_capturer",
"../..:platform_video_capturer",
"../../../api:create_frame_generator",
"../../../api:frame_generator_api",
"../../../api:media_stream_interface",
"../../../api:sequence_checker",
"../../../api/test/pclf:media_configuration",
"../../../api/test/pclf:peer_configurer",
"../../../api/test/video:test_video_track_source",
"../../../api/video:video_frame",
"../../../pc:session_description",
"../../../pc:video_track_source",
"analyzer/video:video_quality_analyzer_injection_helper",
]
absl_deps = [ "//third_party/abseil-cpp/absl/types:variant" ]
}
rtc_library("peer_params_preprocessor") {
visibility = [ "*" ]
testonly = true
sources = [
"peer_params_preprocessor.cc",
"peer_params_preprocessor.h",
]
deps = [
"../..:fileutils",
"../../../api:peer_network_dependencies",
"../../../api/test/pclf:media_configuration",
"../../../api/test/pclf:media_quality_test_params",
"../../../api/test/pclf:peer_configurer",
"../../../modules/video_coding/svc:scalability_mode_util",
"../../../modules/video_coding/svc:scalability_structures",
"../../../rtc_base:macromagic",
]
absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
}
rtc_library("test_activities_executor") {
testonly = true
sources = [
"test_activities_executor.cc",
"test_activities_executor.h",
]
deps = [
"../../../api/task_queue",
"../../../api/units:time_delta",
"../../../api/units:timestamp",
"../../../rtc_base:checks",
"../../../rtc_base:criticalsection",
"../../../rtc_base:logging",
"../../../rtc_base:task_queue_for_test",
"../../../rtc_base/synchronization:mutex",
"../../../rtc_base/task_utils:repeating_task",
"../../../system_wrappers",
]
absl_deps = [
"//third_party/abseil-cpp/absl/memory",
"//third_party/abseil-cpp/absl/types:optional",
]
}
rtc_library("peerconnection_quality_test") {
testonly = true
sources = [
"peer_connection_quality_test.cc",
"peer_connection_quality_test.h",
]
deps = [
":analyzer_helper",
":cross_media_metrics_reporter",
":default_audio_quality_analyzer",
":media_helper",
":metric_metadata_keys",
":peer_params_preprocessor",
":sdp_changer",
":stats_poller",
":test_activities_executor",
":test_peer",
":test_peer_factory",
"../..:field_trial",
"../..:fileutils",
"../..:perf_test",
"../..:test_flags",
"../../../api:audio_quality_analyzer_api",
"../../../api:libjingle_peerconnection_api",
"../../../api:media_stream_interface",
"../../../api:peer_connection_quality_test_fixture_api",
"../../../api:rtc_event_log_output_file",
"../../../api:scoped_refptr",
"../../../api:time_controller",
"../../../api:video_quality_analyzer_api",
"../../../api/rtc_event_log",
"../../../api/task_queue",
"../../../api/test/metrics:metric",
"../../../api/test/metrics:metrics_logger",
"../../../api/test/pclf:media_configuration",
"../../../api/test/pclf:media_quality_test_params",
"../../../api/test/pclf:peer_configurer",
"../../../api/units:time_delta",
"../../../api/units:timestamp",
"../../../pc:pc_test_utils",
"../../../pc:sdp_utils",
"../../../rtc_base:gunit_helpers",
"../../../rtc_base:macromagic",
"../../../rtc_base:safe_conversions",
"../../../rtc_base:stringutils",
"../../../rtc_base:task_queue_for_test",
"../../../rtc_base:threading",
"../../../rtc_base/synchronization:mutex",
"../../../system_wrappers",
"../../../system_wrappers:field_trial",
"analyzer/video:default_video_quality_analyzer",
"analyzer/video:single_process_encoded_image_data_injector",
"analyzer/video:video_frame_tracking_id_injector",
"analyzer/video:video_quality_analyzer_injection_helper",
"analyzer/video:video_quality_metrics_reporter",
]
absl_deps = [
"//third_party/abseil-cpp/absl/flags:flag",
"//third_party/abseil-cpp/absl/strings",
]
}
peer_connection_e2e_smoke_test_resources = [
"../../../resources/pc_quality_smoke_test_alice_source.wav",
"../../../resources/pc_quality_smoke_test_bob_source.wav",
]
if (is_ios) {
bundle_data("peer_connection_e2e_smoke_test_resources_bundle_data") {
testonly = true
sources = peer_connection_e2e_smoke_test_resources
outputs = [ "{{bundle_resources_dir}}/{{source_file_part}}" ]
}
}
rtc_library("peer_connection_e2e_smoke_test") {
testonly = true
sources = [ "peer_connection_e2e_smoke_test.cc" ]
deps = [
":default_audio_quality_analyzer",
":network_quality_metrics_reporter",
":stats_based_network_quality_metrics_reporter",
"../../../api:create_network_emulation_manager",
"../../../api:create_peer_connection_quality_test_frame_generator",
"../../../api:create_peerconnection_quality_test_fixture",
"../../../api:libjingle_peerconnection_api",
"../../../api:media_stream_interface",
"../../../api:network_emulation_manager_api",
"../../../api:peer_connection_quality_test_fixture_api",
"../../../api:scoped_refptr",
"../../../api:simulated_network_api",
"../../../api/audio_codecs:builtin_audio_decoder_factory",
"../../../api/audio_codecs:builtin_audio_encoder_factory",
"../../../api/test/metrics:global_metrics_logger_and_exporter",
"../../../api/test/pclf:media_configuration",
"../../../api/test/pclf:media_quality_test_params",
"../../../api/test/pclf:peer_configurer",
"../../../api/video_codecs:builtin_video_decoder_factory",
"../../../api/video_codecs:builtin_video_encoder_factory",
"../../../call:simulated_network",
"../../../media:rtc_audio_video",
"../../../modules/audio_device:audio_device_impl",
"../../../p2p:rtc_p2p",
"../../../pc:pc_test_utils",
"../../../pc:peerconnection_wrapper",
"../../../rtc_base:gunit_helpers",
"../../../rtc_base:logging",
"../../../rtc_base:rtc_event",
"../../../system_wrappers:field_trial",
"../../../test:field_trial",
"../../../test:fileutils",
"../../../test:test_support",
"analyzer/video:default_video_quality_analyzer",
"analyzer/video:default_video_quality_analyzer_shared",
]
data = peer_connection_e2e_smoke_test_resources
if (is_mac || is_ios) {
deps += [ "../../../modules/video_coding:objc_codec_factory_helper" ]
}
if (is_ios) {
deps += [ ":peer_connection_e2e_smoke_test_resources_bundle_data" ]
}
}
rtc_library("peer_connection_quality_test_metric_names_test") {
testonly = true
sources = [ "peer_connection_quality_test_metric_names_test.cc" ]
deps = [
":metric_metadata_keys",
":network_quality_metrics_reporter",
":peerconnection_quality_test",
":stats_based_network_quality_metrics_reporter",
"../..:test_support",
"../../../api:create_network_emulation_manager",
"../../../api:create_peer_connection_quality_test_frame_generator",
"../../../api:network_emulation_manager_api",
"../../../api:peer_connection_quality_test_fixture_api",
"../../../api/test/metrics:metrics_logger",
"../../../api/test/metrics:stdout_metrics_exporter",
"../../../api/test/pclf:media_configuration",
"../../../api/test/pclf:media_quality_test_params",
"../../../api/test/pclf:peer_configurer",
"../../../api/units:time_delta",
]
}
rtc_library("stats_based_network_quality_metrics_reporter_test") {
testonly = true
sources = [ "stats_based_network_quality_metrics_reporter_test.cc" ]
deps = [
":metric_metadata_keys",
":peerconnection_quality_test",
":stats_based_network_quality_metrics_reporter",
"../..:test_support",
"../../../api:array_view",
"../../../api:create_network_emulation_manager",
"../../../api:create_peer_connection_quality_test_frame_generator",
"../../../api:network_emulation_manager_api",
"../../../api:peer_connection_quality_test_fixture_api",
"../../../api/test/metrics:metrics_logger",
"../../../api/test/metrics:stdout_metrics_exporter",
"../../../api/test/pclf:media_configuration",
"../../../api/test/pclf:media_quality_test_params",
"../../../api/test/pclf:peer_configurer",
"../../../api/units:time_delta",
]
absl_deps = [
"//third_party/abseil-cpp/absl/strings",
"//third_party/abseil-cpp/absl/types:optional",
]
}
rtc_library("peer_connection_quality_test_test") {
testonly = true
sources = [ "peer_connection_quality_test_test.cc" ]
deps = [
":peerconnection_quality_test",
"../..:fileutils",
"../..:test_support",
"../..:video_test_support",
"../../../api:create_network_emulation_manager",
"../../../api:network_emulation_manager_api",
"../../../api:peer_connection_quality_test_fixture_api",
"../../../api/test/metrics:global_metrics_logger_and_exporter",
"../../../api/test/pclf:media_configuration",
"../../../api/test/pclf:media_quality_test_params",
"../../../api/test/pclf:peer_configurer",
"../../../api/units:time_delta",
"../../../rtc_base:timeutils",
]
}
rtc_library("stats_provider") {
testonly = true
sources = [ "stats_provider.h" ]
deps = [ "../../../api:rtc_stats_api" ]
}
rtc_library("stats_poller") {
testonly = true
sources = [
"stats_poller.cc",
"stats_poller.h",
]
deps = [
":stats_provider",
":test_peer",
"../../../api:libjingle_peerconnection_api",
"../../../api:rtc_stats_api",
"../../../api:stats_observer_interface",
"../../../rtc_base:logging",
"../../../rtc_base:macromagic",
"../../../rtc_base/synchronization:mutex",
]
}
rtc_library("stats_poller_test") {
testonly = true
sources = [ "stats_poller_test.cc" ]
deps = [
":stats_poller",
"../..:test_support",
"../../../api:rtc_stats_api",
]
}
}
rtc_library("analyzer_helper") {
sources = [
"analyzer_helper.cc",
"analyzer_helper.h",
]
deps = [
"../../../api:sequence_checker",
"../../../api:track_id_stream_info_map",
"../../../rtc_base:macromagic",
]
absl_deps = [
"//third_party/abseil-cpp/absl/strings",
"//third_party/abseil-cpp/absl/types:optional",
]
}
rtc_library("default_audio_quality_analyzer") {
testonly = true
sources = [
"analyzer/audio/default_audio_quality_analyzer.cc",
"analyzer/audio/default_audio_quality_analyzer.h",
]
deps = [
":metric_metadata_keys",
"../..:perf_test",
"../../../api:audio_quality_analyzer_api",
"../../../api:rtc_stats_api",
"../../../api:stats_observer_interface",
"../../../api:track_id_stream_info_map",
"../../../api/numerics",
"../../../api/test/metrics:metric",
"../../../api/test/metrics:metrics_logger",
"../../../api/units:time_delta",
"../../../api/units:timestamp",
"../../../rtc_base:checks",
"../../../rtc_base:criticalsection",
"../../../rtc_base:logging",
"../../../rtc_base:rtc_numerics",
"../../../rtc_base/synchronization:mutex",
]
absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
}
rtc_library("network_quality_metrics_reporter") {
testonly = true
sources = [
"network_quality_metrics_reporter.cc",
"network_quality_metrics_reporter.h",
]
deps = [
"../..:perf_test",
"../../../api:network_emulation_manager_api",
"../../../api:peer_connection_quality_test_fixture_api",
"../../../api:rtc_stats_api",
"../../../api:track_id_stream_info_map",
"../../../api/test/metrics:metric",
"../../../api/test/metrics:metrics_logger",
"../../../api/units:data_size",
"../../../rtc_base:checks",
"../../../rtc_base:criticalsection",
"../../../rtc_base:rtc_event",
"../../../rtc_base/synchronization:mutex",
"../../../system_wrappers:field_trial",
]
absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
}
rtc_library("stats_based_network_quality_metrics_reporter") {
testonly = true
sources = [
"stats_based_network_quality_metrics_reporter.cc",
"stats_based_network_quality_metrics_reporter.h",
]
deps = [
":metric_metadata_keys",
"../..:perf_test",
"../../../api:array_view",
"../../../api:network_emulation_manager_api",
"../../../api:peer_connection_quality_test_fixture_api",
"../../../api:rtc_stats_api",
"../../../api:scoped_refptr",
"../../../api:sequence_checker",
"../../../api/numerics",
"../../../api/test/metrics:metric",
"../../../api/test/metrics:metrics_logger",
"../../../api/test/network_emulation",
"../../../api/units:data_rate",
"../../../api/units:data_size",
"../../../api/units:timestamp",
"../../../rtc_base:checks",
"../../../rtc_base:ip_address",
"../../../rtc_base:rtc_event",
"../../../rtc_base:stringutils",
"../../../rtc_base/synchronization:mutex",
"../../../rtc_base/system:no_unique_address",
"../../../system_wrappers:field_trial",
]
absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
}
rtc_library("cross_media_metrics_reporter") {
testonly = true
sources = [
"cross_media_metrics_reporter.cc",
"cross_media_metrics_reporter.h",
]
deps = [
":metric_metadata_keys",
"../..:perf_test",
"../../../api:network_emulation_manager_api",
"../../../api:peer_connection_quality_test_fixture_api",
"../../../api:rtc_stats_api",
"../../../api:track_id_stream_info_map",
"../../../api/numerics",
"../../../api/test/metrics:metric",
"../../../api/test/metrics:metrics_logger",
"../../../api/units:timestamp",
"../../../rtc_base:checks",
"../../../rtc_base:criticalsection",
"../../../rtc_base:rtc_event",
"../../../rtc_base:rtc_numerics",
"../../../rtc_base/synchronization:mutex",
"../../../system_wrappers:field_trial",
]
absl_deps = [
"//third_party/abseil-cpp/absl/strings",
"//third_party/abseil-cpp/absl/types:optional",
]
}
rtc_library("sdp_changer") {
testonly = true
sources = [
"sdp/sdp_changer.cc",
"sdp/sdp_changer.h",
]
deps = [
"../../../api:array_view",
"../../../api:libjingle_peerconnection_api",
"../../../api:rtp_parameters",
"../../../api/test/pclf:media_configuration",
"../../../media:media_constants",
"../../../media:rid_description",
"../../../media:rtc_media_base",
"../../../p2p:p2p_constants",
"../../../p2p:rtc_p2p",
"../../../pc:sdp_utils",
"../../../pc:session_description",
"../../../pc:simulcast_description",
"../../../rtc_base:stringutils",
]
absl_deps = [
"//third_party/abseil-cpp/absl/memory",
"//third_party/abseil-cpp/absl/strings:strings",
"//third_party/abseil-cpp/absl/types:optional",
]
}
}