diff --git a/webrtc/build/webrtc.gni b/webrtc/build/webrtc.gni index 8a460f5d7e..45d2ec5712 100644 --- a/webrtc/build/webrtc.gni +++ b/webrtc/build/webrtc.gni @@ -167,6 +167,9 @@ rtc_libvpx_dir = "//third_party/libvpx" rtc_libyuv_dir = "//third_party/libyuv" rtc_opus_dir = "//third_party/opus" +# Desktop capturer is supported only on Windows, OSX and Linux. +rtc_desktop_capture_supported = is_win || is_mac || is_linux + ############################################################################### # Templates # diff --git a/webrtc/modules/BUILD.gn b/webrtc/modules/BUILD.gn index ff059accf5..5accf3f3a0 100644 --- a/webrtc/modules/BUILD.gn +++ b/webrtc/modules/BUILD.gn @@ -9,11 +9,6 @@ import("../build/webrtc.gni") import("audio_coding/audio_coding.gni") -declare_args() { - # Desktop capturer is supported only on Windows, OSX and Linux. - rtc_desktop_capture_supported = is_win || is_mac || is_linux -} - group("modules") { public_deps = [ "audio_coding", @@ -248,449 +243,36 @@ if (rtc_include_tests) { } } - rtc_source_set("audio_network_adaptor_unittests") { - # Put sources for unittests of audio network adaptor in a separate - # rtc_source_set to solve name collision on bitrate_controller_unittest.cc. + rtc_test("modules_unittests") { testonly = true + + deps = [] + defines = [] sources = [ - "audio_coding/audio_network_adaptor/audio_network_adaptor_impl_unittest.cc", - "audio_coding/audio_network_adaptor/bitrate_controller_unittest.cc", - "audio_coding/audio_network_adaptor/channel_controller_unittest.cc", - "audio_coding/audio_network_adaptor/controller_manager_unittest.cc", - "audio_coding/audio_network_adaptor/dtx_controller_unittest.cc", - "audio_coding/audio_network_adaptor/fec_controller_unittest.cc", - "audio_coding/audio_network_adaptor/frame_length_controller_unittest.cc", - "audio_coding/audio_network_adaptor/mock/mock_controller.h", - "audio_coding/audio_network_adaptor/mock/mock_controller_manager.h", + "module_common_types_unittest.cc", ] - deps = [ - "audio_coding:audio_network_adaptor", - "//testing/gmock", - "//testing/gtest", - ] - if (rtc_enable_protobuf) { - deps += [ "audio_coding:ana_config_proto" ] - defines = [ "WEBRTC_AUDIO_NETWORK_ADAPTOR_DEBUG_DUMP" ] - } + if (!build_with_chromium && is_clang) { # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] } - } - - rtc_test("modules_unittests") { - testonly = true - - defines = audio_coding_defines - deps = [] - sources = [ - "audio_coding/acm2/acm_receiver_unittest.cc", - "audio_coding/acm2/audio_coding_module_unittest.cc", - "audio_coding/acm2/call_statistics_unittest.cc", - "audio_coding/acm2/codec_manager_unittest.cc", - "audio_coding/acm2/rent_a_codec_unittest.cc", - "audio_coding/codecs/audio_decoder_factory_unittest.cc", - "audio_coding/codecs/cng/audio_encoder_cng_unittest.cc", - "audio_coding/codecs/cng/cng_unittest.cc", - "audio_coding/codecs/ilbc/ilbc_unittest.cc", - "audio_coding/codecs/isac/fix/source/filterbanks_unittest.cc", - "audio_coding/codecs/isac/fix/source/filters_unittest.cc", - "audio_coding/codecs/isac/fix/source/lpc_masking_model_unittest.cc", - "audio_coding/codecs/isac/fix/source/transform_unittest.cc", - "audio_coding/codecs/isac/main/source/audio_encoder_isac_unittest.cc", - "audio_coding/codecs/isac/main/source/isac_unittest.cc", - "audio_coding/codecs/isac/unittest.cc", - "audio_coding/codecs/legacy_encoded_audio_frame_unittest.cc", - "audio_coding/codecs/mock/mock_audio_encoder.cc", - "audio_coding/codecs/opus/audio_encoder_opus_unittest.cc", - "audio_coding/codecs/opus/opus_unittest.cc", - "audio_coding/codecs/red/audio_encoder_copy_red_unittest.cc", - "audio_coding/neteq/audio_multi_vector_unittest.cc", - "audio_coding/neteq/audio_vector_unittest.cc", - "audio_coding/neteq/background_noise_unittest.cc", - "audio_coding/neteq/buffer_level_filter_unittest.cc", - "audio_coding/neteq/comfort_noise_unittest.cc", - "audio_coding/neteq/decision_logic_unittest.cc", - "audio_coding/neteq/decoder_database_unittest.cc", - "audio_coding/neteq/delay_manager_unittest.cc", - "audio_coding/neteq/delay_peak_detector_unittest.cc", - "audio_coding/neteq/dsp_helper_unittest.cc", - "audio_coding/neteq/dtmf_buffer_unittest.cc", - "audio_coding/neteq/dtmf_tone_generator_unittest.cc", - "audio_coding/neteq/expand_unittest.cc", - "audio_coding/neteq/merge_unittest.cc", - "audio_coding/neteq/mock/mock_audio_decoder.h", - "audio_coding/neteq/mock/mock_buffer_level_filter.h", - "audio_coding/neteq/mock/mock_decoder_database.h", - "audio_coding/neteq/mock/mock_delay_manager.h", - "audio_coding/neteq/mock/mock_delay_peak_detector.h", - "audio_coding/neteq/mock/mock_dtmf_buffer.h", - "audio_coding/neteq/mock/mock_dtmf_tone_generator.h", - "audio_coding/neteq/mock/mock_expand.h", - "audio_coding/neteq/mock/mock_external_decoder_pcm16b.h", - "audio_coding/neteq/mock/mock_packet_buffer.h", - "audio_coding/neteq/mock/mock_red_payload_splitter.h", - "audio_coding/neteq/nack_tracker_unittest.cc", - "audio_coding/neteq/neteq_external_decoder_unittest.cc", - "audio_coding/neteq/neteq_impl_unittest.cc", - "audio_coding/neteq/neteq_network_stats_unittest.cc", - "audio_coding/neteq/neteq_stereo_unittest.cc", - "audio_coding/neteq/neteq_unittest.cc", - "audio_coding/neteq/normal_unittest.cc", - "audio_coding/neteq/packet_buffer_unittest.cc", - "audio_coding/neteq/post_decode_vad_unittest.cc", - "audio_coding/neteq/random_vector_unittest.cc", - "audio_coding/neteq/red_payload_splitter_unittest.cc", - "audio_coding/neteq/sync_buffer_unittest.cc", - "audio_coding/neteq/tick_timer_unittest.cc", - "audio_coding/neteq/time_stretch_unittest.cc", - "audio_coding/neteq/timestamp_scaler_unittest.cc", - "audio_coding/neteq/tools/input_audio_file_unittest.cc", - "audio_coding/neteq/tools/packet_unittest.cc", - "audio_conference_mixer/test/audio_conference_mixer_unittest.cc", - "audio_device/fine_audio_buffer_unittest.cc", - "audio_mixer/audio_frame_manipulator_unittest.cc", - "audio_mixer/audio_mixer_impl_unittest.cc", - "audio_processing/aec/echo_cancellation_unittest.cc", - "audio_processing/aec/system_delay_unittest.cc", - "audio_processing/agc/agc_manager_direct_unittest.cc", - "audio_processing/agc/loudness_histogram_unittest.cc", - "audio_processing/agc/mock_agc.h", - "audio_processing/audio_buffer_unittest.cc", - "audio_processing/beamformer/array_util_unittest.cc", - "audio_processing/beamformer/complex_matrix_unittest.cc", - "audio_processing/beamformer/covariance_matrix_generator_unittest.cc", - "audio_processing/beamformer/matrix_unittest.cc", - "audio_processing/beamformer/mock_nonlinear_beamformer.h", - "audio_processing/beamformer/nonlinear_beamformer_unittest.cc", - "audio_processing/config_unittest.cc", - "audio_processing/echo_cancellation_impl_unittest.cc", - "audio_processing/splitting_filter_unittest.cc", - "audio_processing/transient/dyadic_decimator_unittest.cc", - "audio_processing/transient/file_utils.cc", - "audio_processing/transient/file_utils.h", - "audio_processing/transient/file_utils_unittest.cc", - "audio_processing/transient/moving_moments_unittest.cc", - "audio_processing/transient/transient_detector_unittest.cc", - "audio_processing/transient/transient_suppressor_unittest.cc", - "audio_processing/transient/wpd_node_unittest.cc", - "audio_processing/transient/wpd_tree_unittest.cc", - "audio_processing/utility/block_mean_calculator_unittest.cc", - "audio_processing/utility/delay_estimator_unittest.cc", - "audio_processing/vad/gmm_unittest.cc", - "audio_processing/vad/pitch_based_vad_unittest.cc", - "audio_processing/vad/pitch_internal_unittest.cc", - "audio_processing/vad/pole_zero_filter_unittest.cc", - "audio_processing/vad/standalone_vad_unittest.cc", - "audio_processing/vad/vad_audio_proc_unittest.cc", - "audio_processing/vad/vad_circular_buffer_unittest.cc", - "audio_processing/vad/voice_activity_detector_unittest.cc", - "bitrate_controller/bitrate_controller_unittest.cc", - "bitrate_controller/send_side_bandwidth_estimation_unittest.cc", - "congestion_controller/congestion_controller_unittest.cc", - "congestion_controller/delay_based_bwe_unittest.cc", - "congestion_controller/delay_based_bwe_unittest_helper.cc", - "congestion_controller/delay_based_bwe_unittest_helper.h", - "congestion_controller/median_slope_estimator_unittest.cc", - "congestion_controller/probe_bitrate_estimator_unittest.cc", - "congestion_controller/probe_controller_unittest.cc", - "congestion_controller/probing_interval_estimator_unittest.cc", - "congestion_controller/transport_feedback_adapter_unittest.cc", - "congestion_controller/trendline_estimator_unittest.cc", - "media_file/media_file_unittest.cc", - "module_common_types_unittest.cc", - "pacing/alr_detector_unittest.cc", - "pacing/bitrate_prober_unittest.cc", - "pacing/paced_sender_unittest.cc", - "pacing/packet_router_unittest.cc", - "remote_bitrate_estimator/aimd_rate_control_unittest.cc", - "remote_bitrate_estimator/include/mock/mock_remote_bitrate_estimator.h", - "remote_bitrate_estimator/include/mock/mock_remote_bitrate_observer.h", - "remote_bitrate_estimator/inter_arrival_unittest.cc", - "remote_bitrate_estimator/overuse_detector_unittest.cc", - "remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time_unittest.cc", - "remote_bitrate_estimator/remote_bitrate_estimator_single_stream_unittest.cc", - "remote_bitrate_estimator/remote_bitrate_estimator_unittest_helper.cc", - "remote_bitrate_estimator/remote_bitrate_estimator_unittest_helper.h", - "remote_bitrate_estimator/remote_estimator_proxy_unittest.cc", - "remote_bitrate_estimator/send_time_history_unittest.cc", - "remote_bitrate_estimator/test/bwe_test_framework_unittest.cc", - "remote_bitrate_estimator/test/bwe_unittest.cc", - "remote_bitrate_estimator/test/estimators/nada_unittest.cc", - "remote_bitrate_estimator/test/metric_recorder_unittest.cc", - "rtp_rtcp/mocks/mock_rtp_rtcp.h", - "rtp_rtcp/source/byte_io_unittest.cc", - "rtp_rtcp/source/fec_test_helper.cc", - "rtp_rtcp/source/fec_test_helper.h", - "rtp_rtcp/source/flexfec_header_reader_writer_unittest.cc", - "rtp_rtcp/source/flexfec_receiver_unittest.cc", - "rtp_rtcp/source/flexfec_sender_unittest.cc", - "rtp_rtcp/source/nack_rtx_unittest.cc", - "rtp_rtcp/source/packet_loss_stats_unittest.cc", - "rtp_rtcp/source/playout_delay_oracle_unittest.cc", - "rtp_rtcp/source/receive_statistics_unittest.cc", - "rtp_rtcp/source/remote_ntp_time_estimator_unittest.cc", - "rtp_rtcp/source/rtcp_packet/app_unittest.cc", - "rtp_rtcp/source/rtcp_packet/bye_unittest.cc", - "rtp_rtcp/source/rtcp_packet/common_header_unittest.cc", - "rtp_rtcp/source/rtcp_packet/compound_packet_unittest.cc", - "rtp_rtcp/source/rtcp_packet/dlrr_unittest.cc", - "rtp_rtcp/source/rtcp_packet/extended_jitter_report_unittest.cc", - "rtp_rtcp/source/rtcp_packet/extended_reports_unittest.cc", - "rtp_rtcp/source/rtcp_packet/fir_unittest.cc", - "rtp_rtcp/source/rtcp_packet/nack_unittest.cc", - "rtp_rtcp/source/rtcp_packet/pli_unittest.cc", - "rtp_rtcp/source/rtcp_packet/rapid_resync_request_unittest.cc", - "rtp_rtcp/source/rtcp_packet/receiver_report_unittest.cc", - "rtp_rtcp/source/rtcp_packet/remb_unittest.cc", - "rtp_rtcp/source/rtcp_packet/report_block_unittest.cc", - "rtp_rtcp/source/rtcp_packet/rpsi_unittest.cc", - "rtp_rtcp/source/rtcp_packet/rrtr_unittest.cc", - "rtp_rtcp/source/rtcp_packet/sdes_unittest.cc", - "rtp_rtcp/source/rtcp_packet/sender_report_unittest.cc", - "rtp_rtcp/source/rtcp_packet/sli_unittest.cc", - "rtp_rtcp/source/rtcp_packet/target_bitrate_unittest.cc", - "rtp_rtcp/source/rtcp_packet/tmmbn_unittest.cc", - "rtp_rtcp/source/rtcp_packet/tmmbr_unittest.cc", - "rtp_rtcp/source/rtcp_packet/transport_feedback_unittest.cc", - "rtp_rtcp/source/rtcp_packet/voip_metric_unittest.cc", - "rtp_rtcp/source/rtcp_packet_unittest.cc", - "rtp_rtcp/source/rtcp_receiver_unittest.cc", - "rtp_rtcp/source/rtcp_sender_unittest.cc", - "rtp_rtcp/source/rtcp_utility_unittest.cc", - "rtp_rtcp/source/rtp_fec_unittest.cc", - "rtp_rtcp/source/rtp_format_h264_unittest.cc", - "rtp_rtcp/source/rtp_format_vp8_test_helper.cc", - "rtp_rtcp/source/rtp_format_vp8_test_helper.h", - "rtp_rtcp/source/rtp_format_vp8_unittest.cc", - "rtp_rtcp/source/rtp_format_vp9_unittest.cc", - "rtp_rtcp/source/rtp_header_extension_unittest.cc", - "rtp_rtcp/source/rtp_packet_history_unittest.cc", - "rtp_rtcp/source/rtp_packet_unittest.cc", - "rtp_rtcp/source/rtp_payload_registry_unittest.cc", - "rtp_rtcp/source/rtp_rtcp_impl_unittest.cc", - "rtp_rtcp/source/rtp_sender_unittest.cc", - "rtp_rtcp/source/rtp_utility_unittest.cc", - "rtp_rtcp/source/time_util_unittest.cc", - "rtp_rtcp/source/ulpfec_generator_unittest.cc", - "rtp_rtcp/source/ulpfec_header_reader_writer_unittest.cc", - "rtp_rtcp/source/ulpfec_receiver_unittest.cc", - "rtp_rtcp/source/vp8_partition_aggregator_unittest.cc", - "rtp_rtcp/test/testAPI/test_api.cc", - "rtp_rtcp/test/testAPI/test_api.h", - "rtp_rtcp/test/testAPI/test_api_audio.cc", - "rtp_rtcp/test/testAPI/test_api_rtcp.cc", - "rtp_rtcp/test/testAPI/test_api_video.cc", - "utility/source/process_thread_impl_unittest.cc", - "video_coding/codecs/test/packet_manipulator_unittest.cc", - "video_coding/codecs/test/stats_unittest.cc", - "video_coding/codecs/test/videoprocessor_unittest.cc", - "video_coding/codecs/vp8/default_temporal_layers_unittest.cc", - "video_coding/codecs/vp8/reference_picture_selection_unittest.cc", - "video_coding/codecs/vp8/screenshare_layers_unittest.cc", - "video_coding/codecs/vp8/simulcast_encoder_adapter_unittest.cc", - "video_coding/codecs/vp8/simulcast_unittest.cc", - "video_coding/codecs/vp8/simulcast_unittest.h", - "video_coding/decoding_state_unittest.cc", - "video_coding/frame_buffer2_unittest.cc", - "video_coding/h264_sprop_parameter_sets_unittest.cc", - "video_coding/h264_sps_pps_tracker_unittest.cc", - "video_coding/histogram_unittest.cc", - "video_coding/include/mock/mock_vcm_callbacks.h", - "video_coding/jitter_buffer_unittest.cc", - "video_coding/jitter_estimator_tests.cc", - "video_coding/nack_module_unittest.cc", - "video_coding/protection_bitrate_calculator_unittest.cc", - "video_coding/receiver_unittest.cc", - "video_coding/rtp_frame_reference_finder_unittest.cc", - "video_coding/sequence_number_util_unittest.cc", - "video_coding/session_info_unittest.cc", - "video_coding/test/stream_generator.cc", - "video_coding/test/stream_generator.h", - "video_coding/timing_unittest.cc", - "video_coding/utility/default_video_bitrate_allocator_unittest.cc", - "video_coding/utility/frame_dropper_unittest.cc", - "video_coding/utility/ivf_file_writer_unittest.cc", - "video_coding/utility/moving_average_unittest.cc", - "video_coding/utility/quality_scaler_unittest.cc", - "video_coding/utility/simulcast_rate_allocator_unittest.cc", - "video_coding/video_coding_robustness_unittest.cc", - "video_coding/video_packet_buffer_unittest.cc", - "video_coding/video_receiver_unittest.cc", - "video_coding/video_sender_unittest.cc", - "video_processing/test/denoiser_test.cc", - ] - - if (apm_debug_dump) { - defines += [ "WEBRTC_APM_DEBUG_DUMP=1" ] - } else { - defines += [ "WEBRTC_APM_DEBUG_DUMP=0" ] - } - - if (rtc_enable_intelligibility_enhancer) { - defines += [ "WEBRTC_INTELLIGIBILITY_ENHANCER=1" ] - sources += [ - "audio_processing/intelligibility/intelligibility_enhancer_unittest.cc", - "audio_processing/intelligibility/intelligibility_utils_unittest.cc", - ] - } else { - defines += [ "WEBRTC_INTELLIGIBILITY_ENHANCER=0" ] - } - - if (rtc_libvpx_build_vp9) { - sources += - [ "video_coding/codecs/vp9/vp9_screenshare_layers_unittest.cc" ] - } - - if (rtc_use_h264) { - sources += [ "video_coding/codecs/h264/h264_encoder_impl_unittest.cc" ] - } - - if (rtc_desktop_capture_supported || is_android) { - deps += [ "desktop_capture" ] - sources += [ - "desktop_capture/desktop_region_unittest.cc", - "desktop_capture/differ_block_unittest.cc", - ] - } - - if (rtc_desktop_capture_supported) { - deps += [ "desktop_capture:desktop_capture_mock" ] - sources += [ - "desktop_capture/desktop_and_cursor_composer_unittest.cc", - "desktop_capture/desktop_capturer_differ_wrapper_unittest.cc", - "desktop_capture/desktop_frame_rotation_unittest.cc", - "desktop_capture/mouse_cursor_monitor_unittest.cc", - "desktop_capture/rgba_color_unittest.cc", - "desktop_capture/screen_capturer_helper_unittest.cc", - "desktop_capture/screen_capturer_mac_unittest.cc", - "desktop_capture/screen_capturer_mock_objects.h", - "desktop_capture/screen_capturer_unittest.cc", - "desktop_capture/test_utils.cc", - "desktop_capture/test_utils.h", - "desktop_capture/test_utils_unittest.cc", - "desktop_capture/win/cursor_unittest.cc", - "desktop_capture/win/cursor_unittest_resources.h", - "desktop_capture/win/cursor_unittest_resources.rc", - "desktop_capture/window_capturer_unittest.cc", - ] - } - - if (rtc_prefer_fixed_point) { - defines += [ "WEBRTC_AUDIOPROC_FIXED_PROFILE" ] - } else { - defines += [ "WEBRTC_AUDIOPROC_FLOAT_PROFILE" ] - } - - if (rtc_enable_protobuf) { - defines += [ - "WEBRTC_AUDIOPROC_DEBUG_DUMP", - "WEBRTC_NETEQ_UNITTEST_BITEXACT", - ] - deps += [ - "audio_coding:neteq_unittest_proto", - "audio_processing:audioproc_protobuf_utils", - "audio_processing:audioproc_unittest_proto", - ] - sources += [ - "audio_processing/aec3/block_framer_unittest.cc", - "audio_processing/aec3/block_processor_unittest.cc", - "audio_processing/aec3/cascaded_biquad_filter_unittest.cc", - "audio_processing/aec3/echo_canceller3_unittest.cc", - "audio_processing/aec3/frame_blocker_unittest.cc", - "audio_processing/aec3/mock/mock_block_processor.h", - "audio_processing/audio_processing_impl_locking_unittest.cc", - "audio_processing/audio_processing_impl_unittest.cc", - "audio_processing/audio_processing_unittest.cc", - "audio_processing/echo_cancellation_bit_exact_unittest.cc", - "audio_processing/echo_control_mobile_unittest.cc", - "audio_processing/echo_detector/circular_buffer_unittest.cc", - "audio_processing/echo_detector/mean_variance_estimator_unittest.cc", - "audio_processing/echo_detector/moving_max_unittest.cc", - "audio_processing/echo_detector/normalized_covariance_estimator_unittest.cc", - "audio_processing/gain_control_unittest.cc", - "audio_processing/level_controller/level_controller_unittest.cc", - "audio_processing/level_estimator_unittest.cc", - "audio_processing/low_cut_filter_unittest.cc", - "audio_processing/noise_suppression_unittest.cc", - "audio_processing/residual_echo_detector_unittest.cc", - "audio_processing/rms_level_unittest.cc", - "audio_processing/test/bitexactness_tools.cc", - "audio_processing/test/bitexactness_tools.h", - "audio_processing/test/debug_dump_replayer.cc", - "audio_processing/test/debug_dump_replayer.h", - "audio_processing/test/debug_dump_test.cc", - "audio_processing/test/test_utils.h", - "audio_processing/voice_detection_unittest.cc", - ] - } - - if (rtc_build_libvpx) { - deps += [ rtc_libvpx_dir ] - } - - # TODO(jschuh): bugs.webrtc.org/1348: fix this warning. - configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] - - if ((!build_with_chromium || is_win) && is_clang) { - # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). - suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] - } - - if (is_win) { - cflags = [ - # TODO(kjellander): bugs.webrtc.org/261: Fix this warning. - "/wd4373", # virtual function override. - ] - } deps += [ - ":audio_network_adaptor_unittests", - "..:webrtc_common", - "../api:transport_api", - "../base:rtc_base", # TODO(kjellander): Cleanup in bugs.webrtc.org/3806. - "../base:rtc_base_tests_utils", - "../common_audio", - "../common_video", - "../system_wrappers", - "../system_wrappers:metrics_default", - "../test:rtp_test_utils", - "../test:test_common", "../test:test_main", - "../test:video_test_common", - "audio_coding", - "audio_coding:acm_receive_test", - "audio_coding:acm_send_test", - "audio_coding:builtin_audio_decoder_factory", - "audio_coding:cng", - "audio_coding:isac_fix", - "audio_coding:neteq", - "audio_coding:neteq_test_support", - "audio_coding:neteq_unittest_tools", - "audio_coding:pcm16b", - "audio_coding:red", - "audio_coding:webrtc_opus", - "audio_conference_mixer", - "audio_device", - "audio_mixer", - "audio_processing", - "audio_processing:audioproc_test_utils", - "bitrate_controller", - "media_file", - "pacing", - "remote_bitrate_estimator", - "remote_bitrate_estimator:bwe_simulator_lib", - "rtp_rtcp", - "utility", - "video_capture", - "video_coding", - "video_coding:video_codecs_test_framework", - "video_coding:webrtc_vp8", - "video_coding:webrtc_vp9", - "video_processing", - "//testing/gmock", - "//testing/gtest", - "//third_party/gflags", + "audio_coding:audio_coding_unittests", + "audio_device:audio_device_unittests", + "audio_mixer:audio_mixer_unittests", + "audio_processing:audio_processing_unittests", + "bitrate_controller:bitrate_controller_unittests", + "congestion_controller:congestion_controller_unittests", + "desktop_capture:desktop_capture_unittests", + "media_file:media_file_unittests", + "pacing:pacing_unittests", + "remote_bitrate_estimator:remote_bitrate_estimator_unittests", + "rtp_rtcp:rtp_rtcp_unittests", + "utility:utility_unittests", + "video_coding:video_coding_unittests", + "video_processing:video_processing_unittests", ] data = modules_unittests_resources @@ -700,34 +282,12 @@ if (rtc_include_tests) { "//testing/android/native_test:native_test_support", "//webrtc/sdk/android:libjingle_peerconnection_java", ] - - # Need to disable error due to the line in - # base/android/jni_android.h triggering it: - # const BASE_EXPORT jobject GetApplicationContext() - # error: type qualifiers ignored on function return type - cflags = [ "-Wno-ignored-qualifiers" ] - sources += [ - "audio_device/android/audio_device_unittest.cc", - "audio_device/android/audio_manager_unittest.cc", - "audio_device/android/ensure_initialized.cc", - "audio_device/android/ensure_initialized.h", - ] shard_timeout = 900 } if (is_ios) { info_plist = "//webrtc/test/ios/Info.plist" deps += [ ":modules_unittests_bundle_data" ] - configs += [ - "..:common_objc", - "//build/config/compiler:enable_arc", - ] - - sources += [ "audio_device/ios/objc/RTCAudioSessionTest.mm" ] - - if (target_cpu != "x64") { - sources += [ "audio_device/ios/audio_device_unittest_ios.cc" ] - } - + configs += [ "..:common_objc" ] ldflags = [ "-ObjC" ] } } diff --git a/webrtc/modules/audio_coding/BUILD.gn b/webrtc/modules/audio_coding/BUILD.gn index 3b852d32cf..2cfd159be0 100644 --- a/webrtc/modules/audio_coding/BUILD.gn +++ b/webrtc/modules/audio_coding/BUILD.gn @@ -1457,8 +1457,6 @@ if (rtc_include_tests) { "neteq/tools/input_audio_file.cc", "neteq/tools/input_audio_file.h", "neteq/tools/neteq_input.h", - "neteq/tools/neteq_packet_source_input.cc", - "neteq/tools/neteq_packet_source_input.h", "neteq/tools/neteq_replacement_input.cc", "neteq/tools/neteq_replacement_input.h", "neteq/tools/output_audio_file.h", @@ -1498,6 +1496,10 @@ if (rtc_include_tests) { ] if (rtc_enable_protobuf) { + sources += [ + "neteq/tools/neteq_packet_source_input.cc", + "neteq/tools/neteq_packet_source_input.h", + ] deps += [ ":rtc_event_log_source" ] } } @@ -1918,4 +1920,137 @@ if (rtc_include_tests) { suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] } } + + rtc_source_set("audio_coding_unittests") { + testonly = true + + sources = [ + "acm2/acm_receiver_unittest.cc", + "acm2/audio_coding_module_unittest.cc", + "acm2/call_statistics_unittest.cc", + "acm2/codec_manager_unittest.cc", + "acm2/rent_a_codec_unittest.cc", + "audio_network_adaptor/audio_network_adaptor_impl_unittest.cc", + "audio_network_adaptor/bitrate_controller_unittest.cc", + "audio_network_adaptor/channel_controller_unittest.cc", + "audio_network_adaptor/controller_manager_unittest.cc", + "audio_network_adaptor/dtx_controller_unittest.cc", + "audio_network_adaptor/fec_controller_unittest.cc", + "audio_network_adaptor/frame_length_controller_unittest.cc", + "audio_network_adaptor/mock/mock_controller.h", + "audio_network_adaptor/mock/mock_controller_manager.h", + "codecs/audio_decoder_factory_unittest.cc", + "codecs/cng/audio_encoder_cng_unittest.cc", + "codecs/cng/cng_unittest.cc", + "codecs/ilbc/ilbc_unittest.cc", + "codecs/isac/fix/source/filterbanks_unittest.cc", + "codecs/isac/fix/source/filters_unittest.cc", + "codecs/isac/fix/source/lpc_masking_model_unittest.cc", + "codecs/isac/fix/source/transform_unittest.cc", + "codecs/isac/main/source/audio_encoder_isac_unittest.cc", + "codecs/isac/main/source/isac_unittest.cc", + "codecs/isac/unittest.cc", + "codecs/legacy_encoded_audio_frame_unittest.cc", + "codecs/mock/mock_audio_encoder.cc", + "codecs/opus/audio_encoder_opus_unittest.cc", + "codecs/opus/opus_unittest.cc", + "codecs/red/audio_encoder_copy_red_unittest.cc", + "neteq/audio_multi_vector_unittest.cc", + "neteq/audio_vector_unittest.cc", + "neteq/background_noise_unittest.cc", + "neteq/buffer_level_filter_unittest.cc", + "neteq/comfort_noise_unittest.cc", + "neteq/decision_logic_unittest.cc", + "neteq/decoder_database_unittest.cc", + "neteq/delay_manager_unittest.cc", + "neteq/delay_peak_detector_unittest.cc", + "neteq/dsp_helper_unittest.cc", + "neteq/dtmf_buffer_unittest.cc", + "neteq/dtmf_tone_generator_unittest.cc", + "neteq/expand_unittest.cc", + "neteq/merge_unittest.cc", + "neteq/mock/mock_audio_decoder.h", + "neteq/mock/mock_buffer_level_filter.h", + "neteq/mock/mock_decoder_database.h", + "neteq/mock/mock_delay_manager.h", + "neteq/mock/mock_delay_peak_detector.h", + "neteq/mock/mock_dtmf_buffer.h", + "neteq/mock/mock_dtmf_tone_generator.h", + "neteq/mock/mock_expand.h", + "neteq/mock/mock_external_decoder_pcm16b.h", + "neteq/mock/mock_packet_buffer.h", + "neteq/mock/mock_red_payload_splitter.h", + "neteq/nack_tracker_unittest.cc", + "neteq/neteq_external_decoder_unittest.cc", + "neteq/neteq_impl_unittest.cc", + "neteq/neteq_network_stats_unittest.cc", + "neteq/neteq_stereo_unittest.cc", + "neteq/neteq_unittest.cc", + "neteq/normal_unittest.cc", + "neteq/packet_buffer_unittest.cc", + "neteq/post_decode_vad_unittest.cc", + "neteq/random_vector_unittest.cc", + "neteq/red_payload_splitter_unittest.cc", + "neteq/sync_buffer_unittest.cc", + "neteq/tick_timer_unittest.cc", + "neteq/time_stretch_unittest.cc", + "neteq/timestamp_scaler_unittest.cc", + "neteq/tools/input_audio_file_unittest.cc", + "neteq/tools/packet_unittest.cc", + ] + + deps = [ + ":acm_receive_test", + ":acm_send_test", + ":audio_coding", + ":audio_decoder_interface", + ":audio_encoder_interface", + ":audio_format_conversion", + ":audio_network_adaptor", + ":builtin_audio_decoder_factory", + ":cng", + ":g711", + ":ilbc", + ":isac_c", + ":isac_fix", + ":neteq", + ":neteq_test_support", + ":neteq_unittest_tools", + ":pcm16b", + ":red", + ":rent_a_codec", + ":webrtc_opus", + "../..:webrtc_common", + "../../base:rtc_base", + "../../base:rtc_base_approved", + "../../base:rtc_base_tests_utils", + "../../common_audio", + "../../system_wrappers:system_wrappers", + "../../test:field_trial", + "../../test:rtp_test_utils", + "../../test:test_common", + "../../test:test_support", + "//testing/gmock", + "//testing/gtest", + "//third_party/gflags", + ] + + defines = audio_coding_defines + + if (rtc_enable_protobuf) { + defines += [ + "WEBRTC_AUDIO_NETWORK_ADAPTOR_DEBUG_DUMP", + "WEBRTC_NETEQ_UNITTEST_BITEXACT", + ] + deps += [ + ":ana_config_proto", + ":neteq_unittest_proto", + ] + } + + if (!build_with_chromium && is_clang) { + # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). + suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] + } + } } diff --git a/webrtc/modules/audio_conference_mixer/BUILD.gn b/webrtc/modules/audio_conference_mixer/BUILD.gn index 2792a656e0..3c6f3d34d7 100644 --- a/webrtc/modules/audio_conference_mixer/BUILD.gn +++ b/webrtc/modules/audio_conference_mixer/BUILD.gn @@ -46,3 +46,21 @@ rtc_static_library("audio_conference_mixer") { "../audio_processing", ] } + +if (rtc_include_tests) { + rtc_source_set("audio_conference_mixer_unittests") { + testonly = true + sources = [ + "test/audio_conference_mixer_unittest.cc", + ] + deps = [ + ":audio_conference_mixer", + "../../test:test_support", + "//testing/gmock", + ] + if (!build_with_chromium && is_clang) { + # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). + suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] + } + } +} diff --git a/webrtc/modules/audio_device/BUILD.gn b/webrtc/modules/audio_device/BUILD.gn index ab9406e13f..e2b510cd72 100644 --- a/webrtc/modules/audio_device/BUILD.gn +++ b/webrtc/modules/audio_device/BUILD.gn @@ -265,6 +265,50 @@ config("mock_audio_device_config") { } if (rtc_include_tests) { + rtc_source_set("audio_device_unittests") { + testonly = true + sources = [ + "fine_audio_buffer_unittest.cc", + ] + deps = [ + ":audio_device", + ":mock_audio_device", + "../../base:rtc_base_approved", + "../../system_wrappers:system_wrappers", + "../../test:test_support", + "../utility:utility", + "//testing/gmock", + ] + if (is_android) { + # Need to disable error due to the line in + # base/android/jni_android.h triggering it: + # const BASE_EXPORT jobject GetApplicationContext() + # error: type qualifiers ignored on function return type + cflags = [ "-Wno-ignored-qualifiers" ] + sources += [ + "android/audio_device_unittest.cc", + "android/audio_manager_unittest.cc", + "android/ensure_initialized.cc", + "android/ensure_initialized.h", + ] + deps += [ + "../../../base", + "//webrtc/sdk/android:libjingle_peerconnection_java", + ] + } + if (is_ios) { + sources += [ "ios/objc/RTCAudioSessionTest.mm" ] + configs += [ "//build/config/compiler:enable_arc" ] + if (target_cpu != "x64") { + sources += [ "ios/audio_device_unittest_ios.cc" ] + } + } + if (!build_with_chromium && is_clang) { + # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). + suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] + } + } + rtc_source_set("mock_audio_device") { testonly = true sources = [ @@ -277,28 +321,28 @@ if (rtc_include_tests) { ] all_dependent_configs = [ ":mock_audio_device_config" ] } -} -# These tests do not work on ios, see -# https://bugs.chromium.org/p/webrtc/issues/detail?id=4755 -if (rtc_include_tests && !is_ios) { - rtc_executable("audio_device_tests") { - testonly = true - sources = [ - "test/audio_device_test_api.cc", - "test/audio_device_test_defines.h", - ] - deps = [ - ":audio_device", - "../..:webrtc_common", - "../../system_wrappers", - "../../test:test_main", - "../../test:test_support", - "../rtp_rtcp", - "../utility", - "//testing/gtest", - ] - public_configs = [ ":audio_device_config" ] + if (!is_ios) { + # These tests do not work on ios, see + # https://bugs.chromium.org/p/webrtc/issues/detail?id=4755 + rtc_executable("audio_device_tests") { + testonly = true + sources = [ + "test/audio_device_test_api.cc", + "test/audio_device_test_defines.h", + ] + deps = [ + ":audio_device", + "../..:webrtc_common", + "../../system_wrappers", + "../../test:test_main", + "../../test:test_support", + "../rtp_rtcp", + "../utility", + "//testing/gtest", + ] + public_configs = [ ":audio_device_config" ] + } } } diff --git a/webrtc/modules/audio_mixer/BUILD.gn b/webrtc/modules/audio_mixer/BUILD.gn index b4c900d150..25c782bc9b 100644 --- a/webrtc/modules/audio_mixer/BUILD.gn +++ b/webrtc/modules/audio_mixer/BUILD.gn @@ -58,3 +58,33 @@ rtc_static_library("audio_frame_manipulator") { "../../base:rtc_base_approved", ] } + +if (rtc_include_tests) { + rtc_source_set("audio_mixer_unittests") { + # When enabled, fails with error audio_mixer_impl_unittest.cc includes a + # private header. Fie default_output_rate_calculator.h is private to the + # target :audio_mixer_impl + check_includes = false + testonly = true + sources = [ + "audio_frame_manipulator_unittest.cc", + "audio_mixer_impl_unittest.cc", + ] + deps = [ + ":audio_frame_manipulator", + ":audio_mixer_impl", + "../../api:audio_mixer_api", + "../../base:rtc_base", + "../../base:rtc_base_approved", + "../../test:test_support", + "//testing/gmock", + ] + + # TODO(jschuh): bugs.webrtc.org/1348: fix this warning. + configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] + if (!build_with_chromium && is_clang) { + # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). + suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] + } + } +} diff --git a/webrtc/modules/audio_processing/BUILD.gn b/webrtc/modules/audio_processing/BUILD.gn index 4178a08a76..d7879976fd 100644 --- a/webrtc/modules/audio_processing/BUILD.gn +++ b/webrtc/modules/audio_processing/BUILD.gn @@ -415,6 +415,130 @@ if (rtc_include_tests) { } } + rtc_source_set("audio_processing_unittests") { + testonly = true + sources = [ + "aec/echo_cancellation_unittest.cc", + "aec/system_delay_unittest.cc", + "agc/agc_manager_direct_unittest.cc", + "agc/loudness_histogram_unittest.cc", + "agc/mock_agc.h", + "audio_buffer_unittest.cc", + "beamformer/array_util_unittest.cc", + "beamformer/complex_matrix_unittest.cc", + "beamformer/covariance_matrix_generator_unittest.cc", + "beamformer/matrix_unittest.cc", + "beamformer/mock_nonlinear_beamformer.h", + "beamformer/nonlinear_beamformer_unittest.cc", + "config_unittest.cc", + "echo_cancellation_impl_unittest.cc", + "splitting_filter_unittest.cc", + "transient/dyadic_decimator_unittest.cc", + "transient/file_utils.cc", + "transient/file_utils.h", + "transient/file_utils_unittest.cc", + "transient/moving_moments_unittest.cc", + "transient/transient_detector_unittest.cc", + "transient/transient_suppressor_unittest.cc", + "transient/wpd_node_unittest.cc", + "transient/wpd_tree_unittest.cc", + "utility/block_mean_calculator_unittest.cc", + "utility/delay_estimator_unittest.cc", + "vad/gmm_unittest.cc", + "vad/pitch_based_vad_unittest.cc", + "vad/pitch_internal_unittest.cc", + "vad/pole_zero_filter_unittest.cc", + "vad/standalone_vad_unittest.cc", + "vad/vad_audio_proc_unittest.cc", + "vad/vad_circular_buffer_unittest.cc", + "vad/voice_activity_detector_unittest.cc", + ] + + deps = [ + ":audio_processing", + ":audioproc_debug_proto", + ":audioproc_test_utils", + "../..:webrtc_common", + "../../base:gtest_prod", + "../../base:rtc_base", + "../../base:rtc_base_approved", + "../../common_audio:common_audio", + "../../system_wrappers:system_wrappers", + "../../test:test_support", + "../audio_coding:neteq_unittest_tools", + "//testing/gmock", + "//testing/gtest", + ] + + defines = [] + + if (apm_debug_dump) { + defines += [ "WEBRTC_APM_DEBUG_DUMP=1" ] + } else { + defines += [ "WEBRTC_APM_DEBUG_DUMP=0" ] + } + + if (rtc_enable_intelligibility_enhancer) { + defines += [ "WEBRTC_INTELLIGIBILITY_ENHANCER=1" ] + sources += [ + "intelligibility/intelligibility_enhancer_unittest.cc", + "intelligibility/intelligibility_utils_unittest.cc", + ] + } else { + defines += [ "WEBRTC_INTELLIGIBILITY_ENHANCER=0" ] + } + + if (rtc_prefer_fixed_point) { + defines += [ "WEBRTC_AUDIOPROC_FIXED_PROFILE" ] + } else { + defines += [ "WEBRTC_AUDIOPROC_FLOAT_PROFILE" ] + } + + if (rtc_enable_protobuf) { + defines += [ "WEBRTC_AUDIOPROC_DEBUG_DUMP" ] + deps += [ + ":audioproc_protobuf_utils", + ":audioproc_unittest_proto", + ] + sources += [ + "aec3/block_framer_unittest.cc", + "aec3/block_processor_unittest.cc", + "aec3/cascaded_biquad_filter_unittest.cc", + "aec3/echo_canceller3_unittest.cc", + "aec3/frame_blocker_unittest.cc", + "aec3/mock/mock_block_processor.h", + "audio_processing_impl_locking_unittest.cc", + "audio_processing_impl_unittest.cc", + "audio_processing_unittest.cc", + "echo_cancellation_bit_exact_unittest.cc", + "echo_control_mobile_unittest.cc", + "echo_detector/circular_buffer_unittest.cc", + "echo_detector/mean_variance_estimator_unittest.cc", + "echo_detector/moving_max_unittest.cc", + "echo_detector/normalized_covariance_estimator_unittest.cc", + "gain_control_unittest.cc", + "level_controller/level_controller_unittest.cc", + "level_estimator_unittest.cc", + "low_cut_filter_unittest.cc", + "noise_suppression_unittest.cc", + "residual_echo_detector_unittest.cc", + "rms_level_unittest.cc", + "test/bitexactness_tools.cc", + "test/bitexactness_tools.h", + "test/debug_dump_replayer.cc", + "test/debug_dump_replayer.h", + "test/debug_dump_test.cc", + "test/test_utils.h", + "voice_detection_unittest.cc", + ] + } + + if ((!build_with_chromium || is_win) && is_clang) { + # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). + suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] + } + } + rtc_source_set("audio_processing_perf_tests") { # Has problems with autogenerated targets on Android and iOS # Dependency chain (there may also be others): diff --git a/webrtc/modules/bitrate_controller/BUILD.gn b/webrtc/modules/bitrate_controller/BUILD.gn index 1bc8cc4c92..b2747db26c 100644 --- a/webrtc/modules/bitrate_controller/BUILD.gn +++ b/webrtc/modules/bitrate_controller/BUILD.gn @@ -42,3 +42,24 @@ rtc_static_library("bitrate_controller") { "../rtp_rtcp", ] } + +if (rtc_include_tests) { + rtc_source_set("bitrate_controller_unittests") { + testonly = true + sources = [ + "bitrate_controller_unittest.cc", + "send_side_bandwidth_estimation_unittest.cc", + ] + deps = [ + ":bitrate_controller", + "../../test:field_trial", + "../../test:test_support", + "../remote_bitrate_estimator:remote_bitrate_estimator", + "//testing/gmock", + ] + if (!build_with_chromium && is_clang) { + # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). + suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] + } + } +} diff --git a/webrtc/modules/congestion_controller/BUILD.gn b/webrtc/modules/congestion_controller/BUILD.gn index 16794a16fe..03e0d5c93f 100644 --- a/webrtc/modules/congestion_controller/BUILD.gn +++ b/webrtc/modules/congestion_controller/BUILD.gn @@ -55,3 +55,38 @@ rtc_static_library("congestion_controller") { "../utility", ] } + +if (rtc_include_tests) { + rtc_source_set("congestion_controller_unittests") { + testonly = true + sources = [ + "congestion_controller_unittest.cc", + "delay_based_bwe_unittest.cc", + "delay_based_bwe_unittest_helper.cc", + "delay_based_bwe_unittest_helper.h", + "median_slope_estimator_unittest.cc", + "probe_bitrate_estimator_unittest.cc", + "probe_controller_unittest.cc", + "probing_interval_estimator_unittest.cc", + "transport_feedback_adapter_unittest.cc", + "trendline_estimator_unittest.cc", + ] + deps = [ + ":congestion_controller", + "../../base:rtc_base_approved", + "../../system_wrappers:system_wrappers", + "../../test:field_trial", + "../../test:test_support", + "../bitrate_controller:bitrate_controller", + "../pacing:pacing", + "../remote_bitrate_estimator:remote_bitrate_estimator", + "../remote_bitrate_estimator:remote_bitrate_estimator_unittests", + "../rtp_rtcp:rtp_rtcp", + "//testing/gmock", + ] + if (!build_with_chromium && is_clang) { + # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). + suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] + } + } +} diff --git a/webrtc/modules/desktop_capture/BUILD.gn b/webrtc/modules/desktop_capture/BUILD.gn index 4920611bec..67ec8cea37 100644 --- a/webrtc/modules/desktop_capture/BUILD.gn +++ b/webrtc/modules/desktop_capture/BUILD.gn @@ -33,6 +33,51 @@ rtc_static_library("primitives") { } if (rtc_include_tests) { + rtc_source_set("desktop_capture_unittests") { + testonly = true + sources = [] + deps = [] + if (rtc_desktop_capture_supported || is_android) { + deps += [ + ":desktop_capture", + ":primitives", + "../..:webrtc_common", + "../../base:rtc_base_approved", + "../../system_wrappers:system_wrappers", + "../../test:test_support", + "//testing/gmock", + ] + sources += [ + "desktop_region_unittest.cc", + "differ_block_unittest.cc", + ] + } + if (rtc_desktop_capture_supported) { + sources += [ + "desktop_and_cursor_composer_unittest.cc", + "desktop_capturer_differ_wrapper_unittest.cc", + "desktop_frame_rotation_unittest.cc", + "mouse_cursor_monitor_unittest.cc", + "rgba_color_unittest.cc", + "screen_capturer_helper_unittest.cc", + "screen_capturer_mac_unittest.cc", + "screen_capturer_unittest.cc", + "test_utils.cc", + "test_utils.h", + "test_utils_unittest.cc", + "win/cursor_unittest.cc", + "win/cursor_unittest_resources.h", + "win/cursor_unittest_resources.rc", + "window_capturer_unittest.cc", + ] + deps += [ ":desktop_capture_mock" ] + } + if (!build_with_chromium && is_clang) { + # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). + suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] + } + } + source_set("rgba_color") { testonly = true diff --git a/webrtc/modules/media_file/BUILD.gn b/webrtc/modules/media_file/BUILD.gn index f4e93c9034..8003cd8160 100644 --- a/webrtc/modules/media_file/BUILD.gn +++ b/webrtc/modules/media_file/BUILD.gn @@ -39,3 +39,27 @@ rtc_static_library("media_file") { "../../system_wrappers", ] } + +if (rtc_include_tests) { + rtc_source_set("media_file_unittests") { + testonly = true + sources = [ + "media_file_unittest.cc", + ] + deps = [ + ":media_file", + "../../system_wrappers:system_wrappers", + "../../test:test_support", + ] + if (is_win) { + cflags = [ + # TODO(kjellander): bugs.webrtc.org/261: Fix this warning. + "/wd4373", # virtual function override. + ] + } + if (!build_with_chromium && is_clang) { + # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). + suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] + } + } +} diff --git a/webrtc/modules/pacing/BUILD.gn b/webrtc/modules/pacing/BUILD.gn index 09b856b9c9..0a357c00d0 100644 --- a/webrtc/modules/pacing/BUILD.gn +++ b/webrtc/modules/pacing/BUILD.gn @@ -32,3 +32,31 @@ rtc_static_library("pacing") { "../rtp_rtcp", ] } + +if (rtc_include_tests) { + rtc_source_set("pacing_unittests") { + testonly = true + sources = [ + "alr_detector_unittest.cc", + "bitrate_prober_unittest.cc", + "paced_sender_unittest.cc", + "packet_router_unittest.cc", + ] + deps = [ + ":pacing", + "../../base:rtc_base_approved", + "../../system_wrappers:system_wrappers", + "../../test:test_support", + "../rtp_rtcp", + "../rtp_rtcp:rtp_rtcp_unittests", + "//testing/gmock", + ] + + # TODO(jschuh): bugs.webrtc.org/1348: fix this warning. + configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] + if (!build_with_chromium && is_clang) { + # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). + suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] + } + } +} diff --git a/webrtc/modules/remote_bitrate_estimator/BUILD.gn b/webrtc/modules/remote_bitrate_estimator/BUILD.gn index 7ddb0bb1e8..81028f6b63 100644 --- a/webrtc/modules/remote_bitrate_estimator/BUILD.gn +++ b/webrtc/modules/remote_bitrate_estimator/BUILD.gn @@ -141,4 +141,48 @@ if (rtc_include_tests) { suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] } } + + rtc_source_set("remote_bitrate_estimator_unittests") { + testonly = true + sources = [ + "aimd_rate_control_unittest.cc", + "include/mock/mock_remote_bitrate_estimator.h", + "include/mock/mock_remote_bitrate_observer.h", + "inter_arrival_unittest.cc", + "overuse_detector_unittest.cc", + "remote_bitrate_estimator_abs_send_time_unittest.cc", + "remote_bitrate_estimator_single_stream_unittest.cc", + "remote_bitrate_estimator_unittest_helper.cc", + "remote_bitrate_estimator_unittest_helper.h", + "remote_estimator_proxy_unittest.cc", + "send_time_history_unittest.cc", + "test/bwe_test_framework_unittest.cc", + "test/bwe_unittest.cc", + "test/estimators/nada_unittest.cc", + "test/metric_recorder_unittest.cc", + ] + deps = [ + ":bwe_simulator_lib", + ":remote_bitrate_estimator", + "../..:webrtc_common", + "../../base:rtc_base", + "../../base:rtc_base_approved", + "../../system_wrappers:system_wrappers", + "../../test:field_trial", + "../../test:test_support", + "../pacing:pacing", + "../rtp_rtcp:rtp_rtcp", + "//testing/gmock", + ] + if (is_win) { + cflags = [ + # TODO(kjellander): bugs.webrtc.org/261: Fix this warning. + "/wd4373", # virtual function override. + ] + } + if (!build_with_chromium && is_clang) { + # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). + suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] + } + } } diff --git a/webrtc/modules/rtp_rtcp/BUILD.gn b/webrtc/modules/rtp_rtcp/BUILD.gn index e806f070a1..9b236218b3 100644 --- a/webrtc/modules/rtp_rtcp/BUILD.gn +++ b/webrtc/modules/rtp_rtcp/BUILD.gn @@ -210,4 +210,93 @@ if (rtc_include_tests) { "//webrtc/test:test_main", ] } # test_packet_masks_metrics + + rtc_source_set("rtp_rtcp_unittests") { + testonly = true + sources = [ + "mocks/mock_rtp_rtcp.h", + "source/byte_io_unittest.cc", + "source/fec_test_helper.cc", + "source/fec_test_helper.h", + "source/flexfec_header_reader_writer_unittest.cc", + "source/flexfec_receiver_unittest.cc", + "source/flexfec_sender_unittest.cc", + "source/nack_rtx_unittest.cc", + "source/packet_loss_stats_unittest.cc", + "source/playout_delay_oracle_unittest.cc", + "source/receive_statistics_unittest.cc", + "source/remote_ntp_time_estimator_unittest.cc", + "source/rtcp_packet/app_unittest.cc", + "source/rtcp_packet/bye_unittest.cc", + "source/rtcp_packet/common_header_unittest.cc", + "source/rtcp_packet/compound_packet_unittest.cc", + "source/rtcp_packet/dlrr_unittest.cc", + "source/rtcp_packet/extended_jitter_report_unittest.cc", + "source/rtcp_packet/extended_reports_unittest.cc", + "source/rtcp_packet/fir_unittest.cc", + "source/rtcp_packet/nack_unittest.cc", + "source/rtcp_packet/pli_unittest.cc", + "source/rtcp_packet/rapid_resync_request_unittest.cc", + "source/rtcp_packet/receiver_report_unittest.cc", + "source/rtcp_packet/remb_unittest.cc", + "source/rtcp_packet/report_block_unittest.cc", + "source/rtcp_packet/rpsi_unittest.cc", + "source/rtcp_packet/rrtr_unittest.cc", + "source/rtcp_packet/sdes_unittest.cc", + "source/rtcp_packet/sender_report_unittest.cc", + "source/rtcp_packet/sli_unittest.cc", + "source/rtcp_packet/target_bitrate_unittest.cc", + "source/rtcp_packet/tmmbn_unittest.cc", + "source/rtcp_packet/tmmbr_unittest.cc", + "source/rtcp_packet/transport_feedback_unittest.cc", + "source/rtcp_packet/voip_metric_unittest.cc", + "source/rtcp_packet_unittest.cc", + "source/rtcp_receiver_unittest.cc", + "source/rtcp_sender_unittest.cc", + "source/rtcp_utility_unittest.cc", + "source/rtp_fec_unittest.cc", + "source/rtp_format_h264_unittest.cc", + "source/rtp_format_vp8_test_helper.cc", + "source/rtp_format_vp8_test_helper.h", + "source/rtp_format_vp8_unittest.cc", + "source/rtp_format_vp9_unittest.cc", + "source/rtp_header_extension_unittest.cc", + "source/rtp_packet_history_unittest.cc", + "source/rtp_packet_unittest.cc", + "source/rtp_payload_registry_unittest.cc", + "source/rtp_rtcp_impl_unittest.cc", + "source/rtp_sender_unittest.cc", + "source/rtp_utility_unittest.cc", + "source/time_util_unittest.cc", + "source/ulpfec_generator_unittest.cc", + "source/ulpfec_header_reader_writer_unittest.cc", + "source/ulpfec_receiver_unittest.cc", + "source/vp8_partition_aggregator_unittest.cc", + "test/testAPI/test_api.cc", + "test/testAPI/test_api.h", + "test/testAPI/test_api_audio.cc", + "test/testAPI/test_api_rtcp.cc", + "test/testAPI/test_api_video.cc", + ] + deps = [ + ":rtp_rtcp", + "../..:webrtc_common", + "../../api:transport_api", + "../../base:rtc_base_approved", + "../../common_video:common_video", + "../../system_wrappers:system_wrappers", + "../../test:field_trial", + "../../test:rtp_test_utils", + "../../test:test_common", + "../../test:test_support", + "//testing/gmock", + ] + + # TODO(jschuh): bugs.webrtc.org/1348: fix this warning. + configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] + if (!build_with_chromium && is_clang) { + # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). + suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] + } + } } diff --git a/webrtc/modules/utility/BUILD.gn b/webrtc/modules/utility/BUILD.gn index 48cbf793ed..5b6a232adc 100644 --- a/webrtc/modules/utility/BUILD.gn +++ b/webrtc/modules/utility/BUILD.gn @@ -42,3 +42,18 @@ rtc_static_library("utility") { "../media_file", ] } + +if (rtc_include_tests) { + rtc_source_set("utility_unittests") { + testonly = true + sources = [ + "source/process_thread_impl_unittest.cc", + ] + deps = [ + ":utility", + "../../base:rtc_task_queue", + "../../test:test_support", + "//testing/gmock", + ] + } +} diff --git a/webrtc/modules/video_coding/BUILD.gn b/webrtc/modules/video_coding/BUILD.gn index f70a314f92..f84936ad79 100644 --- a/webrtc/modules/video_coding/BUILD.gn +++ b/webrtc/modules/video_coding/BUILD.gn @@ -310,4 +310,88 @@ if (rtc_include_tests) { "../../test:test_support", ] } + rtc_source_set("video_coding_unittests") { + testonly = true + sources = [ + "codecs/test/packet_manipulator_unittest.cc", + "codecs/test/stats_unittest.cc", + "codecs/test/videoprocessor_unittest.cc", + "codecs/vp8/default_temporal_layers_unittest.cc", + "codecs/vp8/reference_picture_selection_unittest.cc", + "codecs/vp8/screenshare_layers_unittest.cc", + "codecs/vp8/simulcast_encoder_adapter_unittest.cc", + "codecs/vp8/simulcast_unittest.cc", + "codecs/vp8/simulcast_unittest.h", + "decoding_state_unittest.cc", + "frame_buffer2_unittest.cc", + "h264_sprop_parameter_sets_unittest.cc", + "h264_sps_pps_tracker_unittest.cc", + "histogram_unittest.cc", + "include/mock/mock_vcm_callbacks.h", + "jitter_buffer_unittest.cc", + "jitter_estimator_tests.cc", + "nack_module_unittest.cc", + "protection_bitrate_calculator_unittest.cc", + "receiver_unittest.cc", + "rtp_frame_reference_finder_unittest.cc", + "sequence_number_util_unittest.cc", + "session_info_unittest.cc", + "test/stream_generator.cc", + "test/stream_generator.h", + "timing_unittest.cc", + "utility/default_video_bitrate_allocator_unittest.cc", + "utility/frame_dropper_unittest.cc", + "utility/ivf_file_writer_unittest.cc", + "utility/moving_average_unittest.cc", + "utility/quality_scaler_unittest.cc", + "utility/simulcast_rate_allocator_unittest.cc", + "video_coding_robustness_unittest.cc", + "video_packet_buffer_unittest.cc", + "video_receiver_unittest.cc", + "video_sender_unittest.cc", + ] + if (rtc_libvpx_build_vp9) { + sources += [ "codecs/vp9/vp9_screenshare_layers_unittest.cc" ] + } + if (rtc_use_h264) { + sources += [ "codecs/h264/h264_encoder_impl_unittest.cc" ] + } + deps = [ + ":video_codecs_test_framework", + ":video_coding", + ":video_coding_utility", + ":webrtc_h264", + ":webrtc_vp8", + ":webrtc_vp9", + "../..:webrtc_common", + "../../api:video_frame_api", + "../../base:rtc_base", + "../../base:rtc_base_approved", + "../../base:rtc_task_queue", + "../../common_video:common_video", + "../../system_wrappers:metrics_default", + "../../system_wrappers:system_wrappers", + "../../test:field_trial", + "../../test:test_support", + "../../test:video_test_common", + "../rtp_rtcp:rtp_rtcp", + "//testing/gmock", + ] + if (rtc_build_libvpx) { + deps += [ rtc_libvpx_dir ] + } + if (is_win) { + cflags = [ + # TODO(kjellander): bugs.webrtc.org/261: Fix this warning. + "/wd4373", # virtual function override. + ] + } + + # TODO(jschuh): bugs.webrtc.org/1348: fix this warning. + configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] + if (!build_with_chromium && is_clang) { + # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). + suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] + } + } } diff --git a/webrtc/modules/video_processing/BUILD.gn b/webrtc/modules/video_processing/BUILD.gn index 5ab3f457ec..5da0ae89ee 100644 --- a/webrtc/modules/video_processing/BUILD.gn +++ b/webrtc/modules/video_processing/BUILD.gn @@ -89,3 +89,22 @@ if (rtc_build_with_neon) { } } } + +if (rtc_include_tests) { + rtc_source_set("video_processing_unittests") { + testonly = true + sources = [ + "test/denoiser_test.cc", + ] + deps = [ + ":video_processing", + "../../common_video:common_video", + "../../test:test_support", + "../../test:video_test_common", + ] + if (!build_with_chromium && is_clang) { + # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). + suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] + } + } +} diff --git a/webrtc/test/BUILD.gn b/webrtc/test/BUILD.gn index e8ad02d408..5ad85fce24 100644 --- a/webrtc/test/BUILD.gn +++ b/webrtc/test/BUILD.gn @@ -140,6 +140,7 @@ rtc_source_set("test_support") { "testsupport/perf_test.h", "testsupport/trace_to_stderr.cc", "testsupport/trace_to_stderr.h", + "testsupport/unittest_utils.h", ] deps = [ @@ -221,7 +222,6 @@ rtc_test("test_support_unittests") { "testsupport/metrics/video_metrics_unittest.cc", "testsupport/packet_reader_unittest.cc", "testsupport/perf_test_unittest.cc", - "testsupport/unittest_utils.h", ] # TODO(jschuh): Bug 1348: fix this warning. @@ -333,6 +333,7 @@ rtc_source_set("test_common") { "../modules/audio_mixer:audio_mixer_impl", "../modules/audio_processing", "../modules/media_file", + "../modules/video_capture:video_capture", "../modules/video_capture:video_capture_module", "../video", "//testing/gmock",