summaryrefslogtreecommitdiffstats
path: root/third_party/libwebrtc/test/pc/e2e/BUILD.gn
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/libwebrtc/test/pc/e2e/BUILD.gn')
-rw-r--r--third_party/libwebrtc/test/pc/e2e/BUILD.gn573
1 files changed, 573 insertions, 0 deletions
diff --git a/third_party/libwebrtc/test/pc/e2e/BUILD.gn b/third_party/libwebrtc/test/pc/e2e/BUILD.gn
new file mode 100644
index 0000000000..7354aa8ba4
--- /dev/null
+++ b/third_party/libwebrtc/test/pc/e2e/BUILD.gn
@@ -0,0 +1,573 @@
+# 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:audio_device_impl",
+ "../../../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: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:time_controller",
+ "../../../api/rtc_event_log:rtc_event_log_factory",
+ "../../../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",
+ "../../../media:rtc_audio_video",
+ "../../../media:rtc_media_engine_defaults",
+ "../../../modules/audio_device:audio_device_impl",
+ "../../../modules/audio_processing/aec_dump",
+ "../../../p2p:rtc_p2p",
+ "../../../rtc_base:rtc_task_queue",
+ "../../../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("media_helper") {
+ testonly = true
+ sources = [
+ "media/media_helper.cc",
+ "media/media_helper.h",
+ "media/test_video_capturer_video_track_source.h",
+ ]
+ deps = [
+ ":test_peer",
+ "../..:fileutils",
+ "../..:platform_video_capturer",
+ "../..:video_test_common",
+ "../../../api:create_frame_generator",
+ "../../../api:frame_generator_api",
+ "../../../api:media_stream_interface",
+ "../../../api/test/pclf:media_configuration",
+ "../../../api/test/pclf:peer_configurer",
+ "../../../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",
+ "../../../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/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:callfactory_api",
+ "../../../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",
+ ":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: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",
+ ]
+ }
+}