# 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:basic_port_allocator", "../../../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", ] } }