| # Copyright (c) 2018 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("emulated_network") { |
| visibility = [ |
| ":*", |
| "../../api:create_network_emulation_manager", |
| "../../api/test/network_emulation:create_cross_traffic", |
| ] |
| if (rtc_include_tests) { |
| visibility += [ |
| "../peer_scenario:*", |
| "../scenario:*", |
| ] |
| } |
| testonly = true |
| sources = [ |
| "cross_traffic.cc", |
| "cross_traffic.h", |
| "emulated_network_manager.cc", |
| "emulated_network_manager.h", |
| "emulated_turn_server.cc", |
| "emulated_turn_server.h", |
| "fake_network_socket_server.cc", |
| "fake_network_socket_server.h", |
| "network_emulation.cc", |
| "network_emulation.h", |
| "network_emulation_manager.cc", |
| "network_emulation_manager.h", |
| "traffic_route.cc", |
| "traffic_route.h", |
| ] |
| deps = [ |
| "../..//test/network:simulated_network", |
| "../../api:array_view", |
| "../../api:field_trials_view", |
| "../../api:network_emulation_manager_api", |
| "../../api:packet_socket_factory", |
| "../../api:scoped_refptr", |
| "../../api:sequence_checker", |
| "../../api:simulated_network_api", |
| "../../api:time_controller", |
| "../../api/numerics", |
| "../../api/task_queue", |
| "../../api/task_queue:pending_task_safety_flag", |
| "../../api/test/network_emulation", |
| "../../api/transport:ecn_marking", |
| "../../api/transport:stun_types", |
| "../../api/units:data_rate", |
| "../../api/units:data_size", |
| "../../api/units:time_delta", |
| "../../api/units:timestamp", |
| "../../p2p:basic_packet_socket_factory", |
| "../../p2p:p2p_server_utils", |
| "../../p2p:rtc_p2p", |
| "../../rtc_base:async_packet_socket", |
| "../../rtc_base:checks", |
| "../../rtc_base:copy_on_write_buffer", |
| "../../rtc_base:ip_address", |
| "../../rtc_base:logging", |
| "../../rtc_base:macromagic", |
| "../../rtc_base:network", |
| "../../rtc_base:network_constants", |
| "../../rtc_base:random", |
| "../../rtc_base:rtc_base_tests_utils", |
| "../../rtc_base:rtc_event", |
| "../../rtc_base:safe_minmax", |
| "../../rtc_base:socket", |
| "../../rtc_base:socket_address", |
| "../../rtc_base:socket_server", |
| "../../rtc_base:stringutils", |
| "../../rtc_base:task_queue_for_test", |
| "../../rtc_base:threading", |
| "../../rtc_base/memory:always_valid_pointer", |
| "../../rtc_base/network:received_packet", |
| "../../rtc_base/synchronization:mutex", |
| "../../rtc_base/system:no_unique_address", |
| "../../rtc_base/task_utils:repeating_task", |
| "../../system_wrappers", |
| "../../test:scoped_key_value_config", |
| "../scenario:column_printer", |
| "../time_controller", |
| "//third_party/abseil-cpp/absl/algorithm:container", |
| "//third_party/abseil-cpp/absl/base:nullability", |
| "//third_party/abseil-cpp/absl/memory", |
| "//third_party/abseil-cpp/absl/strings:string_view", |
| ] |
| } |
| |
| if (rtc_include_tests && !build_with_chromium) { |
| rtc_library("network_emulation_pc_unittest") { |
| testonly = true |
| sources = [ "network_emulation_pc_unittest.cc" ] |
| deps = [ |
| ":emulated_network", |
| "../:test_support", |
| "../..//test/network:simulated_network", |
| "../../api:enable_media_with_defaults", |
| "../../api:libjingle_peerconnection_api", |
| "../../api:scoped_refptr", |
| "../../api:simulated_network_api", |
| "../../api/rtc_event_log:rtc_event_log_factory", |
| "../../api/task_queue:default_task_queue_factory", |
| "../../api/transport:field_trial_based_config", |
| "../../media:rtc_audio_video", |
| "../../modules/audio_device:test_audio_device_module", |
| "../../p2p:basic_packet_socket_factory", |
| "../../p2p:basic_port_allocator", |
| "../../p2p:rtc_p2p", |
| "../../pc:pc_test_utils", |
| "../../pc:peerconnection_wrapper", |
| "../../rtc_base:gunit_helpers", |
| "../../rtc_base:logging", |
| "../../rtc_base:rtc_event", |
| "../../rtc_base:task_queue_for_test", |
| ] |
| } |
| } |
| |
| rtc_library("cross_traffic_unittest") { |
| testonly = true |
| sources = [ "cross_traffic_unittest.cc" ] |
| deps = [ |
| ":emulated_network", |
| "../:test_support", |
| "../..//test/network:simulated_network", |
| "../../api:network_emulation_manager_api", |
| "../../api:simulated_network_api", |
| "../../api/units:data_rate", |
| "../../rtc_base:logging", |
| "../../rtc_base:network_constants", |
| "../../rtc_base:rtc_event", |
| "../time_controller", |
| "//third_party/abseil-cpp/absl/memory", |
| ] |
| } |
| |
| if (rtc_include_tests) { |
| rtc_library("network_emulation_unittest") { |
| testonly = true |
| sources = [ "network_emulation_unittest.cc" ] |
| deps = [ |
| ":emulated_network", |
| "../:test_support", |
| "../..//test/network:simulated_network", |
| "../../api:create_time_controller", |
| "../../api:simulated_network_api", |
| "../../api/task_queue:task_queue", |
| "../../api/transport:ecn_marking", |
| "../../api/units:time_delta", |
| "../../api/units:timestamp", |
| "../../rtc_base:buffer", |
| "../../rtc_base:gunit_helpers", |
| "../../rtc_base:logging", |
| "../../rtc_base:rtc_event", |
| "../../rtc_base:socket", |
| "../../rtc_base:task_queue_for_test", |
| "../../rtc_base/synchronization:mutex", |
| ] |
| } |
| |
| rtc_library("feedback_generator") { |
| testonly = true |
| sources = [ |
| "feedback_generator.cc", |
| "feedback_generator.h", |
| ] |
| deps = [ |
| ":emulated_network", |
| "../..//test/network:simulated_network", |
| "../../api/transport:network_control", |
| "../../api/transport:test_feedback_generator_interface", |
| "../../rtc_base:checks", |
| "../time_controller", |
| "//third_party/abseil-cpp/absl/memory", |
| ] |
| } |
| |
| rtc_library("feedback_generator_unittest") { |
| testonly = true |
| sources = [ "feedback_generator_unittest.cc" ] |
| deps = [ |
| "../:test_support", |
| "../../api/transport:test_feedback_generator", |
| ] |
| } |
| |
| if (!build_with_chromium) { |
| rtc_library("network_emulation_unittests") { |
| testonly = true |
| deps = [ |
| ":cross_traffic_unittest", |
| ":feedback_generator_unittest", |
| ":network_emulation_pc_unittest", |
| ":network_emulation_unittest", |
| ":simulated_network_unittest", |
| ] |
| if (rtc_enable_protobuf) { |
| deps += [ ":schedulable_network_behavior_test" ] |
| } |
| } |
| } |
| } |
| |
| rtc_library("simulated_network") { |
| sources = [ |
| "simulated_network.cc", |
| "simulated_network.h", |
| ] |
| deps = [ |
| "../../api:sequence_checker", |
| "../../api:simulated_network_api", |
| "../../api/units:data_rate", |
| "../../api/units:data_size", |
| "../../api/units:time_delta", |
| "../../api/units:timestamp", |
| "../../rtc_base:checks", |
| "../../rtc_base:macromagic", |
| "../../rtc_base:race_checker", |
| "../../rtc_base:random", |
| "../../rtc_base/synchronization:mutex", |
| ] |
| } |
| |
| if (rtc_include_tests) { |
| rtc_library("simulated_network_unittest") { |
| testonly = true |
| sources = [ "simulated_network_unittest.cc" ] |
| deps = [ |
| ":simulated_network", |
| "../:test_support", |
| "../../api:simulated_network_api", |
| "../../api/units:data_rate", |
| "../../api/units:data_size", |
| "../../api/units:time_delta", |
| "../../api/units:timestamp", |
| "//testing/gtest", |
| "//third_party/abseil-cpp/absl/algorithm:container", |
| ] |
| } |
| } |
| |
| if (rtc_enable_protobuf) { |
| rtc_library("schedulable_network_behavior") { |
| sources = [ |
| "schedulable_network_behavior.cc", |
| "schedulable_network_behavior.h", |
| ] |
| deps = [ |
| ":simulated_network", |
| "../../api:network_emulation_manager_api", |
| "../../api:sequence_checker", |
| "../../api:simulated_network_api", |
| "../../api/task_queue:task_queue", |
| "../../api/test/network_emulation:network_config_schedule_proto", |
| "../../api/units:data_rate", |
| "../../api/units:time_delta", |
| "../../api/units:timestamp", |
| "../../api/units:timestamp", |
| "../../rtc_base:macromagic", |
| "../../rtc_base/task_utils:repeating_task", |
| "../../system_wrappers", |
| "//third_party/abseil-cpp/absl/functional:any_invocable", |
| ] |
| } |
| |
| if (rtc_include_tests) { |
| rtc_library("schedulable_network_behavior_test") { |
| testonly = true |
| sources = [ "schedulable_network_behavior_test.cc" ] |
| deps = [ |
| ":schedulable_network_behavior", |
| "../:test_support", |
| "../../api:create_network_emulation_manager", |
| "../../api:network_emulation_manager_api", |
| "../../api:simulated_network_api", |
| "../../api/test/network_emulation:network_config_schedule_proto", |
| "../../api/units:data_rate", |
| "../../api/units:data_size", |
| "../../api/units:time_delta", |
| "../../api/units:timestamp", |
| "../../system_wrappers", |
| "//testing/gtest", |
| "//third_party/abseil-cpp/absl/algorithm:container", |
| ] |
| } |
| } |
| } |