blob: 9120541041bfe02ab728b5b4ed3365f3f97b5fee [file] [log] [blame]
kjellanderfb114242016-06-13 00:19:48 -07001# Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
2#
3# Use of this source code is governed by a BSD-style license
4# that can be found in the LICENSE file in the root of the source
5# tree. An additional intellectual property rights grant can be found
6# in the file PATENTS. All contributing project authors may
7# be found in the AUTHORS file in the root of the source tree.
8
9import("../build/webrtc.gni")
10import("audio_coding/audio_coding.gni")
kjellanderfb114242016-06-13 00:19:48 -070011
12declare_args() {
13 # Desktop capturer is supported only on Windows, OSX and Linux.
zijiehe98903d22016-11-10 21:57:10 -080014 rtc_desktop_capture_supported = is_win || is_mac || is_linux
kjellanderfb114242016-06-13 00:19:48 -070015}
16
17group("modules") {
kjellander705ecc52016-09-15 00:53:26 -070018 public_deps = [
kjellanderfb114242016-06-13 00:19:48 -070019 "audio_coding",
20 "audio_conference_mixer",
21 "audio_device",
kjellander6ceab082016-10-28 05:44:03 -070022 "audio_mixer",
kjellanderfb114242016-06-13 00:19:48 -070023 "audio_processing",
24 "bitrate_controller",
kjellander6ceab082016-10-28 05:44:03 -070025 "congestion_controller",
kjellanderfb114242016-06-13 00:19:48 -070026 "desktop_capture",
27 "media_file",
kjellander6ceab082016-10-28 05:44:03 -070028 "pacing",
29 "remote_bitrate_estimator",
kjellanderfb114242016-06-13 00:19:48 -070030 "rtp_rtcp",
31 "utility",
kjellander6ceab082016-10-28 05:44:03 -070032 "video_capture",
kjellanderfb114242016-06-13 00:19:48 -070033 "video_coding",
34 "video_processing",
35 ]
36}
37
38if (rtc_include_tests) {
ehmaldonado3a7f35b2016-09-14 05:10:01 -070039 modules_tests_resources = [
40 "//resources/audio_coding/testfile32kHz.pcm",
41 "//resources/audio_coding/teststereo32kHz.pcm",
42 "//resources/foreman_cif.yuv",
43 "//resources/paris_qcif.yuv",
44 ]
kjellander32c4a202016-08-30 02:53:49 -070045
46 if (is_ios) {
47 bundle_data("modules_tests_bundle_data") {
48 testonly = true
49 sources = modules_tests_resources
50 outputs = [
51 "{{bundle_resources_dir}}/{{source_file_part}}",
52 ]
53 }
54 }
55
ehmaldonado38a21322016-09-02 04:10:34 -070056 rtc_test("modules_tests") {
ehmaldonadof98dc102016-08-03 10:46:47 -070057 testonly = true
58
ehmaldonadof98dc102016-08-03 10:46:47 -070059 videoprocessor_defines = []
60 if (rtc_use_h264) {
61 videoprocessor_defines += [ "WEBRTC_VIDEOPROCESSOR_H264_TESTS" ]
62 }
63
64 defines = audio_coding_defines + videoprocessor_defines
65
66 deps = [
67 "..:webrtc_common",
68 "../common_video",
69 "../modules/audio_coding",
kwibergda2bf4e2016-10-24 13:47:09 -070070 "../modules/audio_coding:audio_format_conversion",
ehmaldonadof98dc102016-08-03 10:46:47 -070071 "../modules/rtp_rtcp",
72 "../modules/utility",
73 "../modules/video_coding",
74 "../modules/video_coding:video_codecs_test_framework",
75 "../system_wrappers",
76 "../test:test_support",
77 "../test:test_support_main",
zijiehe6be0a652016-10-27 16:50:35 -070078 "//testing/gmock",
ehmaldonadof98dc102016-08-03 10:46:47 -070079 "//testing/gtest",
80 ]
81
82 sources = [
83 "audio_coding/test/APITest.cc",
84 "audio_coding/test/Channel.cc",
85 "audio_coding/test/EncodeDecodeTest.cc",
86 "audio_coding/test/PCMFile.cc",
87 "audio_coding/test/PacketLossTest.cc",
88 "audio_coding/test/RTPFile.cc",
89 "audio_coding/test/TestAllCodecs.cc",
90 "audio_coding/test/TestRedFec.cc",
91 "audio_coding/test/TestStereo.cc",
92 "audio_coding/test/TestVADDTX.cc",
93 "audio_coding/test/Tester.cc",
94 "audio_coding/test/TwoWayCommunication.cc",
95 "audio_coding/test/iSACTest.cc",
96 "audio_coding/test/opus_test.cc",
97 "audio_coding/test/target_delay_unittest.cc",
98 "audio_coding/test/utility.cc",
99 "rtp_rtcp/test/testFec/test_fec.cc",
100 "video_coding/codecs/test/videoprocessor_integrationtest.cc",
101 "video_coding/codecs/vp8/test/vp8_impl_unittest.cc",
102 ]
103
zijiehe6be0a652016-10-27 16:50:35 -0700104 if (rtc_desktop_capture_supported) {
zijiehe372719b2016-11-11 17:18:34 -0800105 deps += [
106 "desktop_capture:desktop_capture_mock",
107 "desktop_capture:screen_drawer",
108 ]
zijiehe54fd5792016-11-02 14:49:35 -0700109 sources += [
110 "desktop_capture/screen_capturer_integration_test.cc",
111 "desktop_capture/screen_drawer_unittest.cc",
112 ]
zijiehe6be0a652016-10-27 16:50:35 -0700113 }
114
ehmaldonado3a7f35b2016-09-14 05:10:01 -0700115 data = modules_tests_resources
116
ehmaldonadof98dc102016-08-03 10:46:47 -0700117 if (is_android) {
118 deps += [ "//testing/android/native_test:native_test_native_code" ]
sakal714dd4e2016-08-15 02:29:11 -0700119 shard_timeout = 900
ehmaldonadof98dc102016-08-03 10:46:47 -0700120 }
kjellander32c4a202016-08-30 02:53:49 -0700121
122 if (is_ios) {
123 deps += [ ":modules_tests_bundle_data" ]
ehmaldonadof98dc102016-08-03 10:46:47 -0700124 }
125
kjellandere40a7ee2016-10-16 23:56:12 -0700126 if (!build_with_chromium && is_clang) {
ehmaldonadof98dc102016-08-03 10:46:47 -0700127 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
ehmaldonado38a21322016-09-02 04:10:34 -0700128 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
ehmaldonadof98dc102016-08-03 10:46:47 -0700129 }
130 if (is_win) {
131 cflags = [
132 # TODO(phoglund): get rid of 4373 supression when
133 # http://code.google.com/p/webrtc/issues/detail?id=261 is solved.
134 # legacy warning for ignoring const / volatile in signatures.
135 "/wd4373",
136 ]
137 }
138 }
139
ehmaldonado3a7f35b2016-09-14 05:10:01 -0700140 modules_unittests_resources = [
141 "//data/audio_processing/output_data_fixed.pb",
142 "//data/audio_processing/output_data_float.pb",
143 "//data/audio_processing/output_data_mac.pb",
144 "//data/voice_engine/audio_tiny48.wav",
145 "//resources/att-downlink.rx",
146 "//resources/att-uplink.rx",
147 "//resources/audio_coding/neteq_opus.rtp",
148 "//resources/audio_coding/neteq_universal_new.rtp",
149 "//resources/audio_coding/speech_mono_16kHz.pcm",
150 "//resources/audio_coding/speech_mono_32_48kHz.pcm",
151 "//resources/audio_coding/testfile32kHz.pcm",
152 "//resources/audio_coding/teststereo32kHz.pcm",
153 "//resources/audio_device/audio_short16.pcm",
154 "//resources/audio_device/audio_short44.pcm",
155 "//resources/audio_device/audio_short48.pcm",
156 "//resources/audio_processing/agc/agc_audio.pcm",
157 "//resources/audio_processing/agc/agc_no_circular_buffer.dat",
158 "//resources/audio_processing/agc/agc_pitch_gain.dat",
159 "//resources/audio_processing/agc/agc_pitch_lag.dat",
160 "//resources/audio_processing/agc/agc_spectral_peak.dat",
161 "//resources/audio_processing/agc/agc_vad.dat",
162 "//resources/audio_processing/agc/agc_voicing_prob.dat",
163 "//resources/audio_processing/agc/agc_with_circular_buffer.dat",
164 "//resources/audio_processing/transient/ajm-macbook-1-spke16m.pcm",
165 "//resources/audio_processing/transient/audio16kHz.pcm",
166 "//resources/audio_processing/transient/audio32kHz.pcm",
167 "//resources/audio_processing/transient/audio48kHz.pcm",
168 "//resources/audio_processing/transient/audio8kHz.pcm",
169 "//resources/audio_processing/transient/detect16kHz.dat",
170 "//resources/audio_processing/transient/detect32kHz.dat",
171 "//resources/audio_processing/transient/detect48kHz.dat",
172 "//resources/audio_processing/transient/detect8kHz.dat",
173 "//resources/audio_processing/transient/double-utils.dat",
174 "//resources/audio_processing/transient/float-utils.dat",
175 "//resources/audio_processing/transient/suppressed16kHz.pcm",
176 "//resources/audio_processing/transient/suppressed32kHz.pcm",
177 "//resources/audio_processing/transient/suppressed8kHz.pcm",
178 "//resources/audio_processing/transient/wpd0.dat",
179 "//resources/audio_processing/transient/wpd1.dat",
180 "//resources/audio_processing/transient/wpd2.dat",
181 "//resources/audio_processing/transient/wpd3.dat",
182 "//resources/audio_processing/transient/wpd4.dat",
183 "//resources/audio_processing/transient/wpd5.dat",
184 "//resources/audio_processing/transient/wpd6.dat",
185 "//resources/audio_processing/transient/wpd7.dat",
186 "//resources/deflicker_before_cif_short.yuv",
187 "//resources/far16_stereo.pcm",
188 "//resources/far32_stereo.pcm",
189 "//resources/far44_stereo.pcm",
190 "//resources/far48_stereo.pcm",
191 "//resources/far8_stereo.pcm",
192 "//resources/foremanColorEnhanced_cif_short.yuv",
193 "//resources/foreman_cif.yuv",
194 "//resources/foreman_cif_short.yuv",
195 "//resources/near16_stereo.pcm",
196 "//resources/near32_stereo.pcm",
197 "//resources/near44_stereo.pcm",
198 "//resources/near48_stereo.pcm",
199 "//resources/near8_stereo.pcm",
200 "//resources/ref03.aecdump",
201 "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_IncreasingChoke1_0_AST.bin",
202 "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_IncreasingChoke1_0_TOF.bin",
203 "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_IncreasingChoke1_1_AST.bin",
204 "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_IncreasingChoke1_1_TOF.bin",
205 "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_IncreasingChoke2_0_AST.bin",
206 "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_IncreasingChoke2_0_TOF.bin",
207 "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_IncreasingChoke2_1_AST.bin",
208 "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_IncreasingChoke2_1_TOF.bin",
209 "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_IncreasingDelay1_0_AST.bin",
210 "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_IncreasingDelay1_0_TOF.bin",
211 "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_IncreasingLoss1_0_AST.bin",
212 "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_IncreasingLoss1_0_TOF.bin",
213 "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_Multi1_1_AST.bin",
214 "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_Multi1_1_TOF.bin",
215 "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_SteadyChoke_0_AST.bin",
216 "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_SteadyChoke_0_TOF.bin",
217 "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_SteadyChoke_1_AST.bin",
218 "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_SteadyChoke_1_TOF.bin",
219 "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_SteadyDelay_0_AST.bin",
220 "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_SteadyDelay_0_TOF.bin",
221 "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_SteadyLoss_0_AST.bin",
222 "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_SteadyLoss_0_TOF.bin",
223 "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_UnlimitedSpeed_0_AST.bin",
224 "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_UnlimitedSpeed_0_TOF.bin",
225 "//resources/short_mixed_mono_48.dat",
226 "//resources/short_mixed_mono_48_arm.dat",
227 "//resources/short_mixed_mono_48.pcm",
228 "//resources/short_mixed_stereo_48.dat",
229 "//resources/short_mixed_stereo_48.pcm",
230 "//resources/sprint-downlink.rx",
231 "//resources/sprint-uplink.rx",
232 "//resources/synthetic-trace.rx",
233 "//resources/tmobile-downlink.rx",
234 "//resources/tmobile-uplink.rx",
235 "//resources/utility/encapsulated_pcm16b_8khz.wav",
236 "//resources/utility/encapsulated_pcmu_8khz.wav",
237 "//resources/verizon3g-downlink.rx",
238 "//resources/verizon3g-uplink.rx",
239 "//resources/verizon4g-downlink.rx",
240 "//resources/verizon4g-uplink.rx",
241 ]
kjellander32c4a202016-08-30 02:53:49 -0700242
243 if (is_ios) {
244 bundle_data("modules_unittests_bundle_data") {
245 testonly = true
246 sources = modules_unittests_resources
247 outputs = [
248 "{{bundle_resources_dir}}/{{source_file_part}}",
249 ]
250 }
251 }
252
minyue4aec1d42016-09-21 23:01:26 -0700253 rtc_source_set("audio_network_adaptor_unittests") {
254 # Put sources for unittests of audio network adaptor in a separate
255 # rtc_source_set to solve name collision on bitrate_controller_unittest.cc.
256 testonly = true
257 sources = [
258 "audio_coding/audio_network_adaptor/audio_network_adaptor_impl_unittest.cc",
259 "audio_coding/audio_network_adaptor/bitrate_controller_unittest.cc",
260 "audio_coding/audio_network_adaptor/channel_controller_unittest.cc",
261 "audio_coding/audio_network_adaptor/controller_manager_unittest.cc",
262 "audio_coding/audio_network_adaptor/dtx_controller_unittest.cc",
minyued0ede442016-09-22 06:20:50 -0700263 "audio_coding/audio_network_adaptor/fec_controller_unittest.cc",
minyue4aec1d42016-09-21 23:01:26 -0700264 "audio_coding/audio_network_adaptor/frame_length_controller_unittest.cc",
265 "audio_coding/audio_network_adaptor/mock/mock_controller.h",
266 "audio_coding/audio_network_adaptor/mock/mock_controller_manager.h",
magjedd7ac0a92016-11-18 01:31:16 -0800267 "audio_coding/audio_network_adaptor/smoothing_filter_unittest.cc",
minyue4aec1d42016-09-21 23:01:26 -0700268 ]
269 deps = [
270 "audio_coding:audio_network_adaptor",
271 "//testing/gmock",
272 "//testing/gtest",
273 ]
minyuea1d9ad02016-10-02 14:53:37 -0700274 if (rtc_enable_protobuf) {
275 deps += [ "audio_coding:ana_config_proto" ]
276 defines = [ "WEBRTC_AUDIO_NETWORK_ADAPTOR_DEBUG_DUMP" ]
277 }
kjellandere40a7ee2016-10-16 23:56:12 -0700278 if (!build_with_chromium && is_clang) {
minyue4aec1d42016-09-21 23:01:26 -0700279 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
280 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
281 }
282 }
283
ehmaldonado38a21322016-09-02 04:10:34 -0700284 rtc_test("modules_unittests") {
kjellanderfb114242016-06-13 00:19:48 -0700285 testonly = true
286
287 defines = audio_coding_defines
ossu7f40ba42016-09-21 05:50:37 -0700288 deps = []
kjellanderfb114242016-06-13 00:19:48 -0700289 sources = [
henrik.lundin2504c0a2016-10-06 01:31:32 -0700290 "audio_coding/acm2/acm_receiver_unittest.cc",
291 "audio_coding/acm2/audio_coding_module_unittest.cc",
kjellanderfb114242016-06-13 00:19:48 -0700292 "audio_coding/acm2/call_statistics_unittest.cc",
293 "audio_coding/acm2/codec_manager_unittest.cc",
kjellanderfb114242016-06-13 00:19:48 -0700294 "audio_coding/acm2/rent_a_codec_unittest.cc",
295 "audio_coding/codecs/audio_decoder_factory_unittest.cc",
296 "audio_coding/codecs/cng/audio_encoder_cng_unittest.cc",
297 "audio_coding/codecs/cng/cng_unittest.cc",
kwiberg619a2112016-08-24 02:46:44 -0700298 "audio_coding/codecs/ilbc/ilbc_unittest.cc",
kjellanderfb114242016-06-13 00:19:48 -0700299 "audio_coding/codecs/isac/fix/source/filterbanks_unittest.cc",
300 "audio_coding/codecs/isac/fix/source/filters_unittest.cc",
301 "audio_coding/codecs/isac/fix/source/lpc_masking_model_unittest.cc",
302 "audio_coding/codecs/isac/fix/source/transform_unittest.cc",
303 "audio_coding/codecs/isac/main/source/audio_encoder_isac_unittest.cc",
304 "audio_coding/codecs/isac/main/source/isac_unittest.cc",
305 "audio_coding/codecs/isac/unittest.cc",
ossu0d526d52016-09-21 01:57:31 -0700306 "audio_coding/codecs/legacy_encoded_audio_frame_unittest.cc",
kjellanderfb114242016-06-13 00:19:48 -0700307 "audio_coding/codecs/mock/mock_audio_encoder.cc",
308 "audio_coding/codecs/opus/audio_encoder_opus_unittest.cc",
309 "audio_coding/codecs/opus/opus_unittest.cc",
310 "audio_coding/codecs/red/audio_encoder_copy_red_unittest.cc",
311 "audio_coding/neteq/audio_classifier_unittest.cc",
312 "audio_coding/neteq/audio_multi_vector_unittest.cc",
313 "audio_coding/neteq/audio_vector_unittest.cc",
314 "audio_coding/neteq/background_noise_unittest.cc",
315 "audio_coding/neteq/buffer_level_filter_unittest.cc",
316 "audio_coding/neteq/comfort_noise_unittest.cc",
317 "audio_coding/neteq/decision_logic_unittest.cc",
318 "audio_coding/neteq/decoder_database_unittest.cc",
319 "audio_coding/neteq/delay_manager_unittest.cc",
320 "audio_coding/neteq/delay_peak_detector_unittest.cc",
321 "audio_coding/neteq/dsp_helper_unittest.cc",
322 "audio_coding/neteq/dtmf_buffer_unittest.cc",
323 "audio_coding/neteq/dtmf_tone_generator_unittest.cc",
324 "audio_coding/neteq/expand_unittest.cc",
325 "audio_coding/neteq/merge_unittest.cc",
326 "audio_coding/neteq/mock/mock_audio_decoder.h",
kjellanderfb114242016-06-13 00:19:48 -0700327 "audio_coding/neteq/mock/mock_buffer_level_filter.h",
328 "audio_coding/neteq/mock/mock_decoder_database.h",
329 "audio_coding/neteq/mock/mock_delay_manager.h",
330 "audio_coding/neteq/mock/mock_delay_peak_detector.h",
331 "audio_coding/neteq/mock/mock_dtmf_buffer.h",
332 "audio_coding/neteq/mock/mock_dtmf_tone_generator.h",
333 "audio_coding/neteq/mock/mock_expand.h",
334 "audio_coding/neteq/mock/mock_external_decoder_pcm16b.h",
335 "audio_coding/neteq/mock/mock_packet_buffer.h",
ossua70695a2016-09-22 02:06:28 -0700336 "audio_coding/neteq/mock/mock_red_payload_splitter.h",
kjellanderfb114242016-06-13 00:19:48 -0700337 "audio_coding/neteq/nack_tracker_unittest.cc",
338 "audio_coding/neteq/neteq_external_decoder_unittest.cc",
339 "audio_coding/neteq/neteq_impl_unittest.cc",
340 "audio_coding/neteq/neteq_network_stats_unittest.cc",
341 "audio_coding/neteq/neteq_stereo_unittest.cc",
342 "audio_coding/neteq/neteq_unittest.cc",
343 "audio_coding/neteq/normal_unittest.cc",
344 "audio_coding/neteq/packet_buffer_unittest.cc",
kjellanderfb114242016-06-13 00:19:48 -0700345 "audio_coding/neteq/post_decode_vad_unittest.cc",
346 "audio_coding/neteq/random_vector_unittest.cc",
ossua70695a2016-09-22 02:06:28 -0700347 "audio_coding/neteq/red_payload_splitter_unittest.cc",
kjellanderfb114242016-06-13 00:19:48 -0700348 "audio_coding/neteq/sync_buffer_unittest.cc",
349 "audio_coding/neteq/tick_timer_unittest.cc",
350 "audio_coding/neteq/time_stretch_unittest.cc",
351 "audio_coding/neteq/timestamp_scaler_unittest.cc",
352 "audio_coding/neteq/tools/input_audio_file_unittest.cc",
353 "audio_coding/neteq/tools/packet_unittest.cc",
354 "audio_conference_mixer/test/audio_conference_mixer_unittest.cc",
355 "audio_device/fine_audio_buffer_unittest.cc",
aleloi4b8bfb82016-10-12 02:14:59 -0700356 "audio_mixer/audio_frame_manipulator_unittest.cc",
aleloi116ec6d2016-10-12 06:07:07 -0700357 "audio_mixer/audio_mixer_impl_unittest.cc",
kjellanderfb114242016-06-13 00:19:48 -0700358 "audio_processing/aec/echo_cancellation_unittest.cc",
359 "audio_processing/aec/system_delay_unittest.cc",
360 "audio_processing/agc/agc_manager_direct_unittest.cc",
kjellanderfb114242016-06-13 00:19:48 -0700361 "audio_processing/agc/loudness_histogram_unittest.cc",
362 "audio_processing/agc/mock_agc.h",
Alejandro Luebsa181c9a2016-06-30 15:33:37 -0700363 "audio_processing/audio_buffer_unittest.cc",
kjellanderfb114242016-06-13 00:19:48 -0700364 "audio_processing/beamformer/array_util_unittest.cc",
365 "audio_processing/beamformer/complex_matrix_unittest.cc",
366 "audio_processing/beamformer/covariance_matrix_generator_unittest.cc",
367 "audio_processing/beamformer/matrix_unittest.cc",
368 "audio_processing/beamformer/mock_nonlinear_beamformer.h",
369 "audio_processing/beamformer/nonlinear_beamformer_unittest.cc",
solenberg88499ec2016-09-07 07:34:41 -0700370 "audio_processing/config_unittest.cc",
kjellanderfb114242016-06-13 00:19:48 -0700371 "audio_processing/echo_cancellation_impl_unittest.cc",
kjellanderfb114242016-06-13 00:19:48 -0700372 "audio_processing/splitting_filter_unittest.cc",
373 "audio_processing/transient/dyadic_decimator_unittest.cc",
374 "audio_processing/transient/file_utils.cc",
375 "audio_processing/transient/file_utils.h",
376 "audio_processing/transient/file_utils_unittest.cc",
377 "audio_processing/transient/moving_moments_unittest.cc",
378 "audio_processing/transient/transient_detector_unittest.cc",
379 "audio_processing/transient/transient_suppressor_unittest.cc",
380 "audio_processing/transient/wpd_node_unittest.cc",
381 "audio_processing/transient/wpd_tree_unittest.cc",
382 "audio_processing/utility/block_mean_calculator_unittest.cc",
383 "audio_processing/utility/delay_estimator_unittest.cc",
384 "audio_processing/vad/gmm_unittest.cc",
385 "audio_processing/vad/pitch_based_vad_unittest.cc",
386 "audio_processing/vad/pitch_internal_unittest.cc",
387 "audio_processing/vad/pole_zero_filter_unittest.cc",
388 "audio_processing/vad/standalone_vad_unittest.cc",
389 "audio_processing/vad/vad_audio_proc_unittest.cc",
390 "audio_processing/vad/vad_circular_buffer_unittest.cc",
391 "audio_processing/vad/voice_activity_detector_unittest.cc",
392 "bitrate_controller/bitrate_controller_unittest.cc",
393 "bitrate_controller/send_side_bandwidth_estimation_unittest.cc",
394 "congestion_controller/congestion_controller_unittest.cc",
stefan5e12d362016-07-11 01:44:02 -0700395 "congestion_controller/delay_based_bwe_unittest.cc",
396 "congestion_controller/delay_based_bwe_unittest_helper.cc",
397 "congestion_controller/delay_based_bwe_unittest_helper.h",
philipelbf8a2c92016-08-10 19:00:39 +0200398 "congestion_controller/probe_bitrate_estimator_unittest.cc",
Irfan Sheriffb2540bb2016-09-12 12:28:54 -0700399 "congestion_controller/probe_controller_unittest.cc",
michaelt4a4b3cf2016-11-17 01:18:43 -0800400 "congestion_controller/probing_interval_estimator_unittest.cc",
Stefan Holmer280de9e2016-09-30 10:06:51 +0200401 "congestion_controller/transport_feedback_adapter_unittest.cc",
tereliusafaef8b2016-11-17 03:48:18 -0800402 "congestion_controller/trendline_estimator_unittest.cc",
kjellanderfb114242016-06-13 00:19:48 -0700403 "media_file/media_file_unittest.cc",
404 "module_common_types_unittest.cc",
isheriff31687812016-10-04 08:43:09 -0700405 "pacing/alr_detector_unittest.cc",
kjellanderfb114242016-06-13 00:19:48 -0700406 "pacing/bitrate_prober_unittest.cc",
407 "pacing/paced_sender_unittest.cc",
408 "pacing/packet_router_unittest.cc",
michaelt4a4b3cf2016-11-17 01:18:43 -0800409 "remote_bitrate_estimator/aimd_rate_control_unittest.cc",
kjellanderfb114242016-06-13 00:19:48 -0700410 "remote_bitrate_estimator/include/mock/mock_remote_bitrate_estimator.h",
411 "remote_bitrate_estimator/include/mock/mock_remote_bitrate_observer.h",
412 "remote_bitrate_estimator/inter_arrival_unittest.cc",
413 "remote_bitrate_estimator/overuse_detector_unittest.cc",
414 "remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time_unittest.cc",
415 "remote_bitrate_estimator/remote_bitrate_estimator_single_stream_unittest.cc",
416 "remote_bitrate_estimator/remote_bitrate_estimator_unittest_helper.cc",
417 "remote_bitrate_estimator/remote_bitrate_estimator_unittest_helper.h",
418 "remote_bitrate_estimator/remote_estimator_proxy_unittest.cc",
419 "remote_bitrate_estimator/send_time_history_unittest.cc",
420 "remote_bitrate_estimator/test/bwe_test_framework_unittest.cc",
421 "remote_bitrate_estimator/test/bwe_unittest.cc",
422 "remote_bitrate_estimator/test/estimators/nada_unittest.cc",
423 "remote_bitrate_estimator/test/metric_recorder_unittest.cc",
kjellanderfb114242016-06-13 00:19:48 -0700424 "rtp_rtcp/source/byte_io_unittest.cc",
kjellanderfb114242016-06-13 00:19:48 -0700425 "rtp_rtcp/source/fec_test_helper.cc",
426 "rtp_rtcp/source/fec_test_helper.h",
brandtr0496de22016-10-03 00:43:25 -0700427 "rtp_rtcp/source/flexfec_header_reader_writer_unittest.cc",
brandtra8b38552016-10-10 16:44:57 -0700428 "rtp_rtcp/source/flexfec_receiver_unittest.cc",
brandtrc295e002016-11-03 09:22:33 -0700429 "rtp_rtcp/source/flexfec_sender_unittest.cc",
kjellanderfb114242016-06-13 00:19:48 -0700430 "rtp_rtcp/source/mock/mock_rtp_payload_strategy.h",
431 "rtp_rtcp/source/nack_rtx_unittest.cc",
432 "rtp_rtcp/source/packet_loss_stats_unittest.cc",
isheriff8df4d0e2016-08-18 07:53:36 -0700433 "rtp_rtcp/source/playout_delay_oracle_unittest.cc",
kjellanderfb114242016-06-13 00:19:48 -0700434 "rtp_rtcp/source/receive_statistics_unittest.cc",
435 "rtp_rtcp/source/remote_ntp_time_estimator_unittest.cc",
kjellanderfb114242016-06-13 00:19:48 -0700436 "rtp_rtcp/source/rtcp_packet/app_unittest.cc",
437 "rtp_rtcp/source/rtcp_packet/bye_unittest.cc",
438 "rtp_rtcp/source/rtcp_packet/common_header_unittest.cc",
439 "rtp_rtcp/source/rtcp_packet/compound_packet_unittest.cc",
440 "rtp_rtcp/source/rtcp_packet/dlrr_unittest.cc",
441 "rtp_rtcp/source/rtcp_packet/extended_jitter_report_unittest.cc",
442 "rtp_rtcp/source/rtcp_packet/extended_reports_unittest.cc",
443 "rtp_rtcp/source/rtcp_packet/fir_unittest.cc",
444 "rtp_rtcp/source/rtcp_packet/nack_unittest.cc",
445 "rtp_rtcp/source/rtcp_packet/pli_unittest.cc",
446 "rtp_rtcp/source/rtcp_packet/rapid_resync_request_unittest.cc",
447 "rtp_rtcp/source/rtcp_packet/receiver_report_unittest.cc",
448 "rtp_rtcp/source/rtcp_packet/remb_unittest.cc",
449 "rtp_rtcp/source/rtcp_packet/report_block_unittest.cc",
450 "rtp_rtcp/source/rtcp_packet/rpsi_unittest.cc",
451 "rtp_rtcp/source/rtcp_packet/rrtr_unittest.cc",
452 "rtp_rtcp/source/rtcp_packet/sdes_unittest.cc",
453 "rtp_rtcp/source/rtcp_packet/sender_report_unittest.cc",
454 "rtp_rtcp/source/rtcp_packet/sli_unittest.cc",
sprangb84ad632016-11-01 02:50:12 -0700455 "rtp_rtcp/source/rtcp_packet/target_bitrate_unittest.cc",
kjellanderfb114242016-06-13 00:19:48 -0700456 "rtp_rtcp/source/rtcp_packet/tmmbn_unittest.cc",
457 "rtp_rtcp/source/rtcp_packet/tmmbr_unittest.cc",
458 "rtp_rtcp/source/rtcp_packet/transport_feedback_unittest.cc",
459 "rtp_rtcp/source/rtcp_packet/voip_metric_unittest.cc",
460 "rtp_rtcp/source/rtcp_packet_unittest.cc",
461 "rtp_rtcp/source/rtcp_receiver_unittest.cc",
462 "rtp_rtcp/source/rtcp_sender_unittest.cc",
463 "rtp_rtcp/source/rtcp_utility_unittest.cc",
464 "rtp_rtcp/source/rtp_fec_unittest.cc",
465 "rtp_rtcp/source/rtp_format_h264_unittest.cc",
466 "rtp_rtcp/source/rtp_format_vp8_test_helper.cc",
467 "rtp_rtcp/source/rtp_format_vp8_test_helper.h",
468 "rtp_rtcp/source/rtp_format_vp8_unittest.cc",
469 "rtp_rtcp/source/rtp_format_vp9_unittest.cc",
470 "rtp_rtcp/source/rtp_header_extension_unittest.cc",
471 "rtp_rtcp/source/rtp_packet_history_unittest.cc",
472 "rtp_rtcp/source/rtp_packet_unittest.cc",
473 "rtp_rtcp/source/rtp_payload_registry_unittest.cc",
474 "rtp_rtcp/source/rtp_rtcp_impl_unittest.cc",
475 "rtp_rtcp/source/rtp_sender_unittest.cc",
476 "rtp_rtcp/source/time_util_unittest.cc",
brandtr869e7cd2016-10-31 05:27:07 -0700477 "rtp_rtcp/source/ulpfec_generator_unittest.cc",
Rasmus Brandt78db1582016-09-21 09:19:34 +0200478 "rtp_rtcp/source/ulpfec_header_reader_writer_unittest.cc",
brandtrd55c3f62016-10-31 04:51:33 -0700479 "rtp_rtcp/source/ulpfec_receiver_unittest.cc",
kjellanderfb114242016-06-13 00:19:48 -0700480 "rtp_rtcp/source/vp8_partition_aggregator_unittest.cc",
481 "rtp_rtcp/test/testAPI/test_api.cc",
482 "rtp_rtcp/test/testAPI/test_api.h",
483 "rtp_rtcp/test/testAPI/test_api_audio.cc",
484 "rtp_rtcp/test/testAPI/test_api_rtcp.cc",
485 "rtp_rtcp/test/testAPI/test_api_video.cc",
486 "utility/source/audio_frame_operations_unittest.cc",
kwiberg9d7eb132016-08-16 04:08:30 -0700487 "utility/source/file_player_unittests.cc",
kjellanderfb114242016-06-13 00:19:48 -0700488 "utility/source/process_thread_impl_unittest.cc",
489 "video_coding/codecs/test/packet_manipulator_unittest.cc",
490 "video_coding/codecs/test/stats_unittest.cc",
491 "video_coding/codecs/test/videoprocessor_unittest.cc",
492 "video_coding/codecs/vp8/default_temporal_layers_unittest.cc",
493 "video_coding/codecs/vp8/reference_picture_selection_unittest.cc",
494 "video_coding/codecs/vp8/screenshare_layers_unittest.cc",
495 "video_coding/codecs/vp8/simulcast_encoder_adapter_unittest.cc",
496 "video_coding/codecs/vp8/simulcast_unittest.cc",
497 "video_coding/codecs/vp8/simulcast_unittest.h",
498 "video_coding/decoding_state_unittest.cc",
499 "video_coding/frame_buffer2_unittest.cc",
philipel34852cf2016-11-03 04:03:01 -0700500 "video_coding/h264_sps_pps_tracker_unittest.cc",
kjellanderfb114242016-06-13 00:19:48 -0700501 "video_coding/histogram_unittest.cc",
502 "video_coding/include/mock/mock_vcm_callbacks.h",
503 "video_coding/jitter_buffer_unittest.cc",
504 "video_coding/jitter_estimator_tests.cc",
kjellanderfb114242016-06-13 00:19:48 -0700505 "video_coding/nack_module_unittest.cc",
506 "video_coding/percentile_filter_unittest.cc",
507 "video_coding/protection_bitrate_calculator_unittest.cc",
508 "video_coding/receiver_unittest.cc",
philipel17deeb42016-08-11 15:09:26 +0200509 "video_coding/rtp_frame_reference_finder_unittest.cc",
kjellanderfb114242016-06-13 00:19:48 -0700510 "video_coding/sequence_number_util_unittest.cc",
511 "video_coding/session_info_unittest.cc",
512 "video_coding/test/stream_generator.cc",
513 "video_coding/test/stream_generator.h",
514 "video_coding/timing_unittest.cc",
Erik Språng08127a92016-11-16 16:41:30 +0100515 "video_coding/utility/default_video_bitrate_allocator_unittest.cc",
kjellanderfb114242016-06-13 00:19:48 -0700516 "video_coding/utility/frame_dropper_unittest.cc",
kjellanderfb114242016-06-13 00:19:48 -0700517 "video_coding/utility/ivf_file_writer_unittest.cc",
kthelgason194f40a2016-09-14 02:14:58 -0700518 "video_coding/utility/moving_average_unittest.cc",
kjellanderfb114242016-06-13 00:19:48 -0700519 "video_coding/utility/quality_scaler_unittest.cc",
Erik Språng78ce6192016-09-12 16:04:43 +0200520 "video_coding/utility/simulcast_rate_allocator_unittest.cc",
kjellanderfb114242016-06-13 00:19:48 -0700521 "video_coding/video_coding_robustness_unittest.cc",
522 "video_coding/video_packet_buffer_unittest.cc",
523 "video_coding/video_receiver_unittest.cc",
524 "video_coding/video_sender_unittest.cc",
525 "video_processing/test/denoiser_test.cc",
526 "video_processing/test/video_processing_unittest.cc",
527 "video_processing/test/video_processing_unittest.h",
528 ]
529
peahc4359462016-09-01 22:03:23 -0700530 if (apm_debug_dump) {
531 defines += [ "WEBRTC_APM_DEBUG_DUMP=1" ]
532 } else {
533 defines += [ "WEBRTC_APM_DEBUG_DUMP=0" ]
534 }
535
peah1bcfce52016-08-26 07:16:04 -0700536 if (rtc_enable_intelligibility_enhancer) {
537 defines += [ "WEBRTC_INTELLIGIBILITY_ENHANCER=1" ]
538 sources += [
539 "audio_processing/intelligibility/intelligibility_enhancer_unittest.cc",
540 "audio_processing/intelligibility/intelligibility_utils_unittest.cc",
541 ]
542 } else {
543 defines += [ "WEBRTC_INTELLIGIBILITY_ENHANCER=0" ]
544 }
545
kjellanderfb114242016-06-13 00:19:48 -0700546 if (rtc_libvpx_build_vp9) {
547 sources +=
548 [ "video_coding/codecs/vp9/vp9_screenshare_layers_unittest.cc" ]
549 }
550
551 if (rtc_desktop_capture_supported || is_android) {
552 deps += [ "desktop_capture" ]
553 sources += [
554 "desktop_capture/desktop_region_unittest.cc",
555 "desktop_capture/differ_block_unittest.cc",
kjellanderfb114242016-06-13 00:19:48 -0700556 ]
557 }
558
559 if (rtc_desktop_capture_supported) {
zijiehe54fd5792016-11-02 14:49:35 -0700560 deps += [ "desktop_capture:desktop_capture_mock" ]
kjellanderfb114242016-06-13 00:19:48 -0700561 sources += [
562 "desktop_capture/desktop_and_cursor_composer_unittest.cc",
zijiehe54fd5792016-11-02 14:49:35 -0700563 "desktop_capture/desktop_capturer_differ_wrapper_unittest.cc",
kjellanderfb114242016-06-13 00:19:48 -0700564 "desktop_capture/mouse_cursor_monitor_unittest.cc",
zijieheacc39c42016-09-21 12:23:15 -0700565 "desktop_capture/rgba_color_unittest.cc",
kjellanderfb114242016-06-13 00:19:48 -0700566 "desktop_capture/screen_capturer_helper_unittest.cc",
567 "desktop_capture/screen_capturer_mac_unittest.cc",
568 "desktop_capture/screen_capturer_mock_objects.h",
569 "desktop_capture/screen_capturer_unittest.cc",
570 "desktop_capture/win/cursor_unittest.cc",
571 "desktop_capture/win/cursor_unittest_resources.h",
572 "desktop_capture/win/cursor_unittest_resources.rc",
573 "desktop_capture/window_capturer_unittest.cc",
574 ]
575 }
576
577 if (rtc_prefer_fixed_point) {
578 defines += [ "WEBRTC_AUDIOPROC_FIXED_PROFILE" ]
579 } else {
580 defines += [ "WEBRTC_AUDIOPROC_FLOAT_PROFILE" ]
581 }
582
583 if (rtc_enable_protobuf) {
584 defines += [
585 "WEBRTC_AUDIOPROC_DEBUG_DUMP",
586 "WEBRTC_NETEQ_UNITTEST_BITEXACT",
587 ]
588 deps += [
589 "audio_coding:neteq_unittest_proto",
590 "audio_processing:audioproc_protobuf_utils",
591 "audio_processing:audioproc_unittest_proto",
592 ]
593 sources += [
594 "audio_processing/audio_processing_impl_locking_unittest.cc",
595 "audio_processing/audio_processing_impl_unittest.cc",
596 "audio_processing/audio_processing_unittest.cc",
597 "audio_processing/echo_cancellation_bit_exact_unittest.cc",
598 "audio_processing/echo_control_mobile_unittest.cc",
ivocaf27ed02016-10-28 07:04:03 -0700599 "audio_processing/echo_detector/circular_buffer_unittest.cc",
600 "audio_processing/echo_detector/mean_variance_estimator_unittest.cc",
601 "audio_processing/echo_detector/normalized_covariance_estimator_unittest.cc",
kjellanderfb114242016-06-13 00:19:48 -0700602 "audio_processing/gain_control_unittest.cc",
603 "audio_processing/high_pass_filter_unittest.cc",
peahe9a6acf2016-08-18 02:41:48 -0700604 "audio_processing/level_controller/level_controller_unittest.cc",
kjellanderfb114242016-06-13 00:19:48 -0700605 "audio_processing/level_estimator_unittest.cc",
606 "audio_processing/noise_suppression_unittest.cc",
ivocaf27ed02016-10-28 07:04:03 -0700607 "audio_processing/residual_echo_detector_unittest.cc",
kjellanderfb114242016-06-13 00:19:48 -0700608 "audio_processing/test/bitexactness_tools.cc",
609 "audio_processing/test/bitexactness_tools.h",
610 "audio_processing/test/debug_dump_replayer.cc",
611 "audio_processing/test/debug_dump_replayer.h",
612 "audio_processing/test/debug_dump_test.cc",
613 "audio_processing/test/test_utils.h",
614 "audio_processing/voice_detection_unittest.cc",
615 ]
616 }
617
618 if (rtc_build_libvpx) {
619 deps += [ rtc_libvpx_dir ]
620 }
621
kjellanderfb114242016-06-13 00:19:48 -0700622 # TODO(jschuh): bugs.webrtc.org/1348: fix this warning.
623 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
624
kjellandere40a7ee2016-10-16 23:56:12 -0700625 if (!build_with_chromium && is_clang) {
kjellanderfb114242016-06-13 00:19:48 -0700626 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
ehmaldonado38a21322016-09-02 04:10:34 -0700627 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
kjellanderfb114242016-06-13 00:19:48 -0700628 }
629
630 if (is_win) {
631 cflags = [
632 # TODO(kjellander): bugs.webrtc.org/261: Fix this warning.
633 "/wd4373", # virtual function override.
634 ]
635 }
636
637 deps += [
minyue4aec1d42016-09-21 23:01:26 -0700638 ":audio_network_adaptor_unittests",
kjellanderfb114242016-06-13 00:19:48 -0700639 "..:webrtc_common",
640 "../base:rtc_base", # TODO(kjellander): Cleanup in bugs.webrtc.org/3806.
641 "../common_audio",
642 "../common_video",
kjellander6ceab082016-10-28 05:44:03 -0700643 "../system_wrappers",
kjellanderfb114242016-06-13 00:19:48 -0700644 "../test:rtp_test_utils",
645 "../test:test_common",
aleloi201dfe92016-10-20 05:06:39 -0700646 "../test:test_support",
kjellanderfb114242016-06-13 00:19:48 -0700647 "../test:test_support_main",
kjellanderfb114242016-06-13 00:19:48 -0700648 "../test:video_test_common",
kjellanderfb114242016-06-13 00:19:48 -0700649 "audio_coding",
650 "audio_coding:acm_receive_test",
651 "audio_coding:acm_send_test",
652 "audio_coding:builtin_audio_decoder_factory",
653 "audio_coding:cng",
654 "audio_coding:isac_fix",
655 "audio_coding:neteq",
656 "audio_coding:neteq_test_support",
657 "audio_coding:neteq_unittest_tools",
658 "audio_coding:pcm16b",
659 "audio_coding:red",
660 "audio_coding:webrtc_opus",
661 "audio_conference_mixer",
662 "audio_device",
kjellander6ceab082016-10-28 05:44:03 -0700663 "audio_mixer",
kjellanderfb114242016-06-13 00:19:48 -0700664 "audio_processing",
665 "audio_processing:audioproc_test_utils",
666 "bitrate_controller",
667 "media_file",
668 "pacing",
669 "remote_bitrate_estimator",
terelius3dcfd642016-10-07 00:39:56 -0700670 "remote_bitrate_estimator:bwe_simulator_lib",
kjellanderfb114242016-06-13 00:19:48 -0700671 "rtp_rtcp",
672 "utility",
673 "video_capture",
674 "video_coding",
675 "video_coding:video_codecs_test_framework",
676 "video_coding:webrtc_vp8",
677 "video_coding:webrtc_vp9",
678 "video_processing",
679 "//testing/gmock",
680 "//testing/gtest",
681 "//third_party/gflags",
682 ]
683
ehmaldonado3a7f35b2016-09-14 05:10:01 -0700684 data = modules_unittests_resources
685
kjellanderfb114242016-06-13 00:19:48 -0700686 if (is_android) {
sakalbd59c712016-08-11 00:59:15 -0700687 deps += [
688 "//testing/android/native_test:native_test_support",
689 "//webrtc/api:libjingle_peerconnection_java",
690 ]
kjellanderfb114242016-06-13 00:19:48 -0700691
692 # Need to disable error due to the line in
693 # base/android/jni_android.h triggering it:
694 # const BASE_EXPORT jobject GetApplicationContext()
695 # error: type qualifiers ignored on function return type
696 cflags = [ "-Wno-ignored-qualifiers" ]
697 sources += [
698 "audio_device/android/audio_device_unittest.cc",
699 "audio_device/android/audio_manager_unittest.cc",
700 "audio_device/android/ensure_initialized.cc",
701 "audio_device/android/ensure_initialized.h",
702 ]
kjellander28a0ffd2016-08-24 07:48:42 -0700703 shard_timeout = 900
704 }
kjellanderfb114242016-06-13 00:19:48 -0700705 if (is_ios) {
kthelgasonc37e9832016-09-22 08:00:52 -0700706 info_plist = "//webrtc/test/ios/Info.plist"
kjellander32c4a202016-08-30 02:53:49 -0700707 deps += [ ":modules_unittests_bundle_data" ]
kjellanderfb114242016-06-13 00:19:48 -0700708 configs += [
709 "..:common_objc",
710 "//build/config/compiler:enable_arc",
711 ]
712
Kári Tristan Helgasoncbe74352016-11-09 10:43:26 +0100713 sources += [ "audio_device/ios/objc/RTCAudioSessionTest.mm" ]
kjellanderfb114242016-06-13 00:19:48 -0700714
Kári Tristan Helgason470c0882016-10-03 13:13:29 +0200715 if (target_cpu != "x64") {
716 sources += [ "audio_device/ios/audio_device_unittest_ios.cc" ]
717 }
718
kjellanderfb114242016-06-13 00:19:48 -0700719 ldflags = [ "-ObjC" ]
kjellanderfb114242016-06-13 00:19:48 -0700720 }
721 }
terelius3dcfd642016-10-07 00:39:56 -0700722
723 rtc_test("bwe_simulator") {
724 testonly = true
725
726 deps = []
727 sources = [
728 "remote_bitrate_estimator/bwe_simulations.cc",
729 ]
730
kjellandere40a7ee2016-10-16 23:56:12 -0700731 if (!build_with_chromium && is_clang) {
terelius3dcfd642016-10-07 00:39:56 -0700732 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
733 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
734 }
735
736 if (is_win) {
737 cflags = [
738 # TODO(kjellander): bugs.webrtc.org/261: Fix this warning.
739 "/wd4373", # virtual function override.
740 ]
741 }
742
743 deps += [
744 "..:webrtc_common",
745 "../base:rtc_base_approved",
746 "../test:test_common",
747 "../test:test_support_main",
748 "remote_bitrate_estimator:bwe_simulator_lib",
749 "video_capture",
750 "//testing/gmock",
751 "//testing/gtest",
752 "//third_party/gflags",
753 ]
754 }
kjellanderfb114242016-06-13 00:19:48 -0700755}