1# Copyright (c) 2013 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{ 9 'targets': [ 10 { 11 'target_name': 'rtc_unittests', 12 'type': '<(gtest_target_type)', 13 'dependencies': [ 14 'base/base.gyp:rtc_base', 15 'base/base_tests.gyp:rtc_base_tests_utils', 16 'base/base_tests.gyp:rtc_base_tests', 17 'libjingle/xmllite/xmllite.gyp:rtc_xmllite', 18 'libjingle/xmpp/xmpp.gyp:rtc_xmpp', 19 'p2p/p2p.gyp:rtc_p2p', 20 'p2p/p2p.gyp:libstunprober', 21 'rtc_p2p_unittest', 22 'rtc_sound_tests', 23 'rtc_xmllite_unittest', 24 'rtc_xmpp_unittest', 25 'sound/sound.gyp:rtc_sound', 26 '<(DEPTH)/testing/gtest.gyp:gtest', 27 '<(DEPTH)/testing/gmock.gyp:gmock', 28 ], 29 'conditions': [ 30 ['OS=="android"', { 31 'dependencies': [ 32 '<(DEPTH)/testing/android/native_test.gyp:native_test_native_code', 33 ], 34 }], 35 ['OS=="ios"', { 36 'dependencies': [ 37 'api/api_tests.gyp:rtc_api_objc_test', 38 ] 39 }] 40 ], 41 }, 42 { 43 'target_name': 'webrtc_tests', 44 'type': 'none', 45 'dependencies': [ 46 'video_engine_tests', 47 'video_loopback', 48 'video_replay', 49 'webrtc_perf_tests', 50 'webrtc_nonparallel_tests', 51 ], 52 }, 53 { 54 'target_name': 'video_quality_test', 55 'type': 'static_library', 56 'sources': [ 57 'video/video_quality_test.cc', 58 'video/video_quality_test.h', 59 ], 60 'dependencies': [ 61 '<(DEPTH)/testing/gtest.gyp:gtest', 62 '<(webrtc_root)/modules/modules.gyp:video_render', 63 '<(webrtc_root)/modules/modules.gyp:video_capture_module_internal_impl', 64 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers', 65 'webrtc', 66 ], 67 'conditions': [ 68 ['OS=="android"', { 69 'dependencies!': [ 70 '<(webrtc_root)/modules/modules.gyp:video_capture_module_internal_impl', 71 ], 72 }], 73 ], 74 }, 75 { 76 'target_name': 'video_loopback', 77 'type': 'executable', 78 'sources': [ 79 'test/mac/run_test.mm', 80 'test/run_test.cc', 81 'test/run_test.h', 82 'video/video_loopback.cc', 83 ], 84 'conditions': [ 85 ['OS=="mac"', { 86 'sources!': [ 87 'test/run_test.cc', 88 ], 89 }], 90 ], 91 'dependencies': [ 92 'video_quality_test', 93 '<(DEPTH)/testing/gtest.gyp:gtest', 94 '<(DEPTH)/third_party/gflags/gflags.gyp:gflags', 95 'test/webrtc_test_common.gyp:webrtc_test_common', 96 'test/webrtc_test_common.gyp:webrtc_test_renderer', 97 'test/test.gyp:test_main', 98 'webrtc', 99 ], 100 }, 101 { 102 'target_name': 'screenshare_loopback', 103 'type': 'executable', 104 'sources': [ 105 'test/mac/run_test.mm', 106 'test/run_test.cc', 107 'test/run_test.h', 108 'video/screenshare_loopback.cc', 109 ], 110 'conditions': [ 111 ['OS=="mac"', { 112 'sources!': [ 113 'test/run_test.cc', 114 ], 115 }], 116 ], 117 'dependencies': [ 118 'video_quality_test', 119 '<(DEPTH)/testing/gtest.gyp:gtest', 120 '<(DEPTH)/third_party/gflags/gflags.gyp:gflags', 121 'test/webrtc_test_common.gyp:webrtc_test_common', 122 'test/webrtc_test_common.gyp:webrtc_test_renderer', 123 'test/test.gyp:test_main', 124 'webrtc', 125 ], 126 }, 127 { 128 'target_name': 'video_replay', 129 'type': 'executable', 130 'sources': [ 131 'test/mac/run_test.mm', 132 'test/run_test.cc', 133 'test/run_test.h', 134 'video/replay.cc', 135 ], 136 'conditions': [ 137 ['OS=="mac"', { 138 'sources!': [ 139 'test/run_test.cc', 140 ], 141 }], 142 ], 143 'dependencies': [ 144 '<(DEPTH)/testing/gtest.gyp:gtest', 145 '<(DEPTH)/third_party/gflags/gflags.gyp:gflags', 146 'test/webrtc_test_common.gyp:webrtc_test_common', 147 'test/webrtc_test_common.gyp:webrtc_test_renderer', 148 '<(webrtc_root)/modules/modules.gyp:video_capture', 149 '<(webrtc_root)/modules/modules.gyp:video_render', 150 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers_default', 151 'webrtc', 152 ], 153 }, 154 { 155 # TODO(solenberg): Rename to webrtc_call_tests. 156 'target_name': 'video_engine_tests', 157 'type': '<(gtest_target_type)', 158 'sources': [ 159 'audio/audio_receive_stream_unittest.cc', 160 'audio/audio_send_stream_unittest.cc', 161 'audio/audio_state_unittest.cc', 162 'call/bitrate_allocator_unittest.cc', 163 'call/bitrate_estimator_tests.cc', 164 'call/call_unittest.cc', 165 'call/packet_injection_tests.cc', 166 'test/common_unittest.cc', 167 'test/testsupport/metrics/video_metrics_unittest.cc', 168 'video/call_stats_unittest.cc', 169 'video/encoder_state_feedback_unittest.cc', 170 'video/end_to_end_tests.cc', 171 'video/overuse_frame_detector_unittest.cc', 172 'video/payload_router_unittest.cc', 173 'video/report_block_stats_unittest.cc', 174 'video/send_statistics_proxy_unittest.cc', 175 'video/stream_synchronization_unittest.cc', 176 'video/video_capture_input_unittest.cc', 177 'video/video_decoder_unittest.cc', 178 'video/video_encoder_unittest.cc', 179 'video/video_send_stream_tests.cc', 180 'video/vie_codec_unittest.cc', 181 'video/vie_remb_unittest.cc', 182 ], 183 'dependencies': [ 184 '<(DEPTH)/testing/gmock.gyp:gmock', 185 '<(DEPTH)/testing/gtest.gyp:gtest', 186 '<(webrtc_root)/common.gyp:webrtc_common', 187 '<(webrtc_root)/modules/modules.gyp:rtp_rtcp', 188 '<(webrtc_root)/modules/modules.gyp:video_capture', 189 '<(webrtc_root)/modules/modules.gyp:video_render', 190 '<(webrtc_root)/test/test.gyp:channel_transport', 191 '<(webrtc_root)/voice_engine/voice_engine.gyp:voice_engine', 192 'test/metrics.gyp:metrics', 193 'test/test.gyp:test_main', 194 'test/webrtc_test_common.gyp:webrtc_test_common', 195 'webrtc', 196 ], 197 'conditions': [ 198 ['OS=="android"', { 199 'dependencies': [ 200 '<(DEPTH)/testing/android/native_test.gyp:native_test_native_code', 201 ], 202 }], 203 ['enable_protobuf==1', { 204 'defines': [ 205 'ENABLE_RTC_EVENT_LOG', 206 ], 207 'dependencies': [ 208 'webrtc.gyp:rtc_event_log', 209 'webrtc.gyp:rtc_event_log_proto', 210 ], 211 'sources': [ 212 'call/rtc_event_log_unittest.cc', 213 ], 214 }], 215 ], 216 }, 217 { 218 'target_name': 'webrtc_perf_tests', 219 'type': '<(gtest_target_type)', 220 'sources': [ 221 'call/call_perf_tests.cc', 222 'call/rampup_tests.cc', 223 'call/rampup_tests.h', 224 'modules/audio_coding/neteq/test/neteq_performance_unittest.cc', 225 'modules/audio_processing/audio_processing_performance_unittest.cc', 226 'modules/remote_bitrate_estimator/remote_bitrate_estimators_test.cc', 227 'video/full_stack.cc', 228 ], 229 'dependencies': [ 230 '<(DEPTH)/testing/gmock.gyp:gmock', 231 '<(DEPTH)/testing/gtest.gyp:gtest', 232 '<(webrtc_root)/modules/modules.gyp:audio_processing', 233 '<(webrtc_root)/modules/modules.gyp:audioproc_test_utils', 234 '<(webrtc_root)/modules/modules.gyp:video_capture', 235 '<(webrtc_root)/test/test.gyp:channel_transport', 236 '<(webrtc_root)/voice_engine/voice_engine.gyp:voice_engine', 237 'video_quality_test', 238 'modules/modules.gyp:neteq_test_support', 239 'modules/modules.gyp:bwe_simulator', 240 'modules/modules.gyp:rtp_rtcp', 241 'test/test.gyp:test_main', 242 'test/webrtc_test_common.gyp:webrtc_test_common', 243 'test/webrtc_test_common.gyp:webrtc_test_renderer', 244 'webrtc', 245 ], 246 'conditions': [ 247 ['OS=="android"', { 248 'dependencies': [ 249 '<(DEPTH)/testing/android/native_test.gyp:native_test_native_code', 250 ], 251 }], 252 ], 253 }, 254 { 255 'target_name': 'webrtc_nonparallel_tests', 256 'type': '<(gtest_target_type)', 257 'sources': [ 258 'base/nullsocketserver_unittest.cc', 259 'base/physicalsocketserver_unittest.cc', 260 'base/socket_unittest.cc', 261 'base/socket_unittest.h', 262 'base/socketaddress_unittest.cc', 263 'base/virtualsocket_unittest.cc', 264 ], 265 'defines': [ 266 'GTEST_RELATIVE_PATH', 267 ], 268 'dependencies': [ 269 '<(DEPTH)/testing/gtest.gyp:gtest', 270 'base/base.gyp:rtc_base', 271 'test/test.gyp:test_main', 272 ], 273 'conditions': [ 274 ['OS=="android"', { 275 'dependencies': [ 276 '<(DEPTH)/testing/android/native_test.gyp:native_test_native_code', 277 ], 278 }], 279 ['OS=="win"', { 280 'sources': [ 281 'base/win32socketserver_unittest.cc', 282 ], 283 'sources!': [ 284 # TODO(ronghuawu): Fix TestUdpReadyToSendIPv6 on windows bot 285 # then reenable these tests. 286 # TODO(pbos): Move test disabling to ifdefs within the test files 287 # instead of here. 288 'base/physicalsocketserver_unittest.cc', 289 'base/socket_unittest.cc', 290 'base/win32socketserver_unittest.cc', 291 ], 292 }], 293 ['OS=="mac"', { 294 'sources': [ 295 'base/macsocketserver_unittest.cc', 296 ], 297 }], 298 ['OS=="ios" or (OS=="mac" and target_arch!="ia32")', { 299 'defines': [ 300 'CARBON_DEPRECATED=YES', 301 ], 302 }], 303 ], 304 }, 305 ], 306 'conditions': [ 307 ['OS=="android"', { 308 'targets': [ 309 { 310 'target_name': 'rtc_unittests_apk_target', 311 'type': 'none', 312 'dependencies': [ 313 '<(apk_tests_path):rtc_unittests_apk', 314 ], 315 }, 316 { 317 'target_name': 'video_engine_tests_apk_target', 318 'type': 'none', 319 'dependencies': [ 320 '<(apk_tests_path):video_engine_tests_apk', 321 ], 322 }, 323 { 324 'target_name': 'webrtc_perf_tests_apk_target', 325 'type': 'none', 326 'dependencies': [ 327 '<(apk_tests_path):webrtc_perf_tests_apk', 328 ], 329 }, 330 { 331 'target_name': 'webrtc_nonparallel_tests_apk_target', 332 'type': 'none', 333 'dependencies': [ 334 '<(apk_tests_path):webrtc_nonparallel_tests_apk', 335 ], 336 }, 337 ], 338 }], 339 ['test_isolation_mode != "noop"', { 340 'targets': [ 341 { 342 'target_name': 'rtc_unittests_run', 343 'type': 'none', 344 'dependencies': [ 345 'rtc_unittests', 346 ], 347 'includes': [ 348 'build/isolate.gypi', 349 ], 350 'sources': [ 351 'rtc_unittests.isolate', 352 ], 353 }, 354 { 355 'target_name': 'video_engine_tests_run', 356 'type': 'none', 357 'dependencies': [ 358 'video_engine_tests', 359 ], 360 'includes': [ 361 'build/isolate.gypi', 362 ], 363 'sources': [ 364 'video_engine_tests.isolate', 365 ], 366 }, 367 { 368 'target_name': 'webrtc_nonparallel_tests_run', 369 'type': 'none', 370 'dependencies': [ 371 'webrtc_nonparallel_tests', 372 ], 373 'includes': [ 374 'build/isolate.gypi', 375 ], 376 'sources': [ 377 'webrtc_nonparallel_tests.isolate', 378 ], 379 }, 380 { 381 'target_name': 'webrtc_perf_tests_run', 382 'type': 'none', 383 'dependencies': [ 384 'webrtc_perf_tests', 385 ], 386 'includes': [ 387 'build/isolate.gypi', 388 ], 389 'sources': [ 390 'webrtc_perf_tests.isolate', 391 ], 392 }, 393 ], 394 }], 395 ], 396} 397