1 # 2 # libjingle 3 # Copyright 2012, Google Inc. 4 # 5 # Redistribution and use in source and binary forms, with or without 6 # modification, are permitted provided that the following conditions are met: 7 # 8 # 1. Redistributions of source code must retain the above copyright notice, 9 # this list of conditions and the following disclaimer. 10 # 2. Redistributions in binary form must reproduce the above copyright notice, 11 # this list of conditions and the following disclaimer in the documentation 12 # and/or other materials provided with the distribution. 13 # 3. The name of the author may not be used to endorse or promote products 14 # derived from this software without specific prior written permission. 15 # 16 # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 17 # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18 # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 19 # EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 21 # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 22 # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 23 # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 24 # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 25 # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 # 27 28 { 29 'includes': ['build/common.gypi'], 30 'targets': [ 31 { 32 # TODO(ronghuawu): Use gtest.gyp from chromium. 33 'target_name': 'gunit', 34 'type': 'static_library', 35 'sources': [ 36 '<(DEPTH)/testing/gtest/src/gtest-all.cc', 37 ], 38 'include_dirs': [ 39 '<(DEPTH)/testing/gtest/include', 40 '<(DEPTH)/testing/gtest', 41 ], 42 'defines': ['_VARIADIC_MAX=10'], 43 'direct_dependent_settings': { 44 'defines': [ 45 '_VARIADIC_MAX=10', 46 ], 47 'include_dirs': [ 48 '<(DEPTH)/testing/gtest/include', 49 ], 50 }, 51 'conditions': [ 52 ['OS=="android"', { 53 'include_dirs': [ 54 '<(android_ndk_include)', 55 ] 56 }], 57 ], 58 }, # target gunit 59 { 60 'target_name': 'libjingle_unittest_main', 61 'type': 'static_library', 62 'dependencies': [ 63 '<(DEPTH)/third_party/libyuv/libyuv.gyp:libyuv', 64 'gunit', 65 ], 66 'direct_dependent_settings': { 67 'include_dirs': [ 68 '<(DEPTH)/third_party/libyuv/include', 69 ], 70 }, 71 'sources': [ 72 'base/unittest_main.cc', 73 # Also use this as a convenient dumping ground for misc files that are 74 # included by multiple targets below. 75 'base/fakecpumonitor.h', 76 'base/fakenetwork.h', 77 'base/fakesslidentity.h', 78 'base/faketaskrunner.h', 79 'base/gunit.h', 80 'base/testbase64.h', 81 'base/testechoserver.h', 82 'base/win32toolhelp.h', 83 'media/base/fakecapturemanager.h', 84 'media/base/fakemediaengine.h', 85 'media/base/fakemediaprocessor.h', 86 'media/base/fakenetworkinterface.h', 87 'media/base/fakertp.h', 88 'media/base/fakevideocapturer.h', 89 'media/base/fakevideorenderer.h', 90 'media/base/nullvideoframe.h', 91 'media/base/nullvideorenderer.h', 92 'media/base/testutils.cc', 93 'media/base/testutils.h', 94 'media/devices/fakedevicemanager.h', 95 'media/webrtc/dummyinstantiation.cc', 96 'media/webrtc/fakewebrtccommon.h', 97 'media/webrtc/fakewebrtcdeviceinfo.h', 98 'media/webrtc/fakewebrtcvcmfactory.h', 99 'media/webrtc/fakewebrtcvideocapturemodule.h', 100 'media/webrtc/fakewebrtcvideoengine.h', 101 'media/webrtc/fakewebrtcvoiceengine.h', 102 ], 103 }, # target libjingle_unittest_main 104 { 105 'target_name': 'libjingle_unittest', 106 'type': 'executable', 107 'includes': [ 'build/ios_tests.gypi', ], 108 'dependencies': [ 109 'gunit', 110 'libjingle.gyp:libjingle', 111 'libjingle_unittest_main', 112 ], 113 'sources': [ 114 'base/asynchttprequest_unittest.cc', 115 'base/atomicops_unittest.cc', 116 'base/autodetectproxy_unittest.cc', 117 'base/bandwidthsmoother_unittest.cc', 118 'base/base64_unittest.cc', 119 'base/basictypes_unittest.cc', 120 'base/bind_unittest.cc', 121 'base/buffer_unittest.cc', 122 'base/bytebuffer_unittest.cc', 123 'base/byteorder_unittest.cc', 124 'base/callback_unittest.cc', 125 'base/cpumonitor_unittest.cc', 126 'base/crc32_unittest.cc', 127 'base/criticalsection_unittest.cc', 128 'base/event_unittest.cc', 129 'base/filelock_unittest.cc', 130 'base/fileutils_unittest.cc', 131 'base/helpers_unittest.cc', 132 'base/httpbase_unittest.cc', 133 'base/httpcommon_unittest.cc', 134 'base/httpserver_unittest.cc', 135 'base/ipaddress_unittest.cc', 136 'base/logging_unittest.cc', 137 'base/md5digest_unittest.cc', 138 'base/messagedigest_unittest.cc', 139 'base/messagequeue_unittest.cc', 140 'base/multipart_unittest.cc', 141 'base/nat_unittest.cc', 142 'base/network_unittest.cc', 143 'base/nullsocketserver_unittest.cc', 144 'base/optionsfile_unittest.cc', 145 'base/pathutils_unittest.cc', 146 'base/physicalsocketserver_unittest.cc', 147 'base/profiler_unittest.cc', 148 'base/proxy_unittest.cc', 149 'base/proxydetect_unittest.cc', 150 'base/ratelimiter_unittest.cc', 151 'base/ratetracker_unittest.cc', 152 'base/referencecountedsingletonfactory_unittest.cc', 153 'base/rollingaccumulator_unittest.cc', 154 'base/scopedptrcollection_unittest.cc', 155 'base/sha1digest_unittest.cc', 156 'base/sharedexclusivelock_unittest.cc', 157 'base/signalthread_unittest.cc', 158 'base/sigslot_unittest.cc', 159 'base/socket_unittest.cc', 160 'base/socket_unittest.h', 161 'base/socketaddress_unittest.cc', 162 'base/stream_unittest.cc', 163 'base/stringencode_unittest.cc', 164 'base/stringutils_unittest.cc', 165 # TODO(ronghuawu): Reenable this test. 166 # 'base/systeminfo_unittest.cc', 167 'base/task_unittest.cc', 168 'base/testclient_unittest.cc', 169 'base/thread_unittest.cc', 170 'base/timeutils_unittest.cc', 171 'base/urlencode_unittest.cc', 172 'base/versionparsing_unittest.cc', 173 'base/virtualsocket_unittest.cc', 174 # TODO(ronghuawu): Reenable this test. 175 # 'base/windowpicker_unittest.cc', 176 'xmllite/qname_unittest.cc', 177 'xmllite/xmlbuilder_unittest.cc', 178 'xmllite/xmlelement_unittest.cc', 179 'xmllite/xmlnsstack_unittest.cc', 180 'xmllite/xmlparser_unittest.cc', 181 'xmllite/xmlprinter_unittest.cc', 182 'xmpp/fakexmppclient.h', 183 'xmpp/hangoutpubsubclient_unittest.cc', 184 'xmpp/jid_unittest.cc', 185 'xmpp/mucroomconfigtask_unittest.cc', 186 'xmpp/mucroomdiscoverytask_unittest.cc', 187 'xmpp/mucroomlookuptask_unittest.cc', 188 'xmpp/mucroomuniquehangoutidtask_unittest.cc', 189 'xmpp/pingtask_unittest.cc', 190 'xmpp/pubsubclient_unittest.cc', 191 'xmpp/pubsubtasks_unittest.cc', 192 'xmpp/util_unittest.cc', 193 'xmpp/util_unittest.h', 194 'xmpp/xmppengine_unittest.cc', 195 'xmpp/xmpplogintask_unittest.cc', 196 'xmpp/xmppstanzaparser_unittest.cc', 197 ], # sources 198 'conditions': [ 199 ['OS=="linux"', { 200 'sources': [ 201 'base/latebindingsymboltable_unittest.cc', 202 # TODO(ronghuawu): Reenable this test. 203 # 'base/linux_unittest.cc', 204 'base/linuxfdwalk_unittest.cc', 205 ], 206 }], 207 ['OS=="win"', { 208 'sources': [ 209 'base/win32_unittest.cc', 210 'base/win32regkey_unittest.cc', 211 'base/win32socketserver_unittest.cc', 212 'base/win32toolhelp_unittest.cc', 213 'base/win32window_unittest.cc', 214 'base/win32windowpicker_unittest.cc', 215 'base/winfirewall_unittest.cc', 216 ], 217 'sources!': [ 218 # TODO(ronghuawu): Fix TestUdpReadyToSendIPv6 on windows bot 219 # then reenable these tests. 220 'base/physicalsocketserver_unittest.cc', 221 'base/socket_unittest.cc', 222 'base/win32socketserver_unittest.cc', 223 'base/win32windowpicker_unittest.cc', 224 ], 225 }], 226 ['OS=="mac"', { 227 'sources': [ 228 'base/macsocketserver_unittest.cc', 229 'base/macutils_unittest.cc', 230 'base/macwindowpicker_unittest.cc', 231 ], 232 }], 233 ['os_posix==1', { 234 'sources': [ 235 'base/sslidentity_unittest.cc', 236 'base/sslstreamadapter_unittest.cc', 237 ], 238 }], 239 ], # conditions 240 }, # target libjingle_unittest 241 { 242 'target_name': 'libjingle_sound_unittest', 243 'type': 'executable', 244 'dependencies': [ 245 'gunit', 246 'libjingle.gyp:libjingle_sound', 247 'libjingle_unittest_main', 248 ], 249 'sources': [ 250 'sound/automaticallychosensoundsystem_unittest.cc', 251 ], 252 }, # target libjingle_sound_unittest 253 { 254 'target_name': 'libjingle_media_unittest', 255 'type': 'executable', 256 'dependencies': [ 257 'gunit', 258 'libjingle.gyp:libjingle_media', 259 'libjingle_unittest_main', 260 ], 261 # TODO(ronghuawu): Avoid the copies. 262 # https://code.google.com/p/libjingle/issues/detail?id=398 263 'copies': [ 264 { 265 'destination': '<(DEPTH)/../talk/media/testdata', 266 'files': [ 267 'media/testdata/1.frame_plus_1.byte', 268 'media/testdata/captured-320x240-2s-48.frames', 269 'media/testdata/h264-svc-99-640x360.rtpdump', 270 'media/testdata/video.rtpdump', 271 'media/testdata/voice.rtpdump', 272 ], 273 }, 274 ], 275 'sources': [ 276 # TODO(ronghuawu): Reenable this test. 277 # 'media/base/capturemanager_unittest.cc', 278 'media/base/codec_unittest.cc', 279 'media/base/filemediaengine_unittest.cc', 280 'media/base/rtpdataengine_unittest.cc', 281 'media/base/rtpdump_unittest.cc', 282 'media/base/rtputils_unittest.cc', 283 'media/base/testutils.cc', 284 'media/base/testutils.h', 285 'media/base/videocapturer_unittest.cc', 286 'media/base/videocommon_unittest.cc', 287 'media/base/videoengine_unittest.h', 288 'media/devices/dummydevicemanager_unittest.cc', 289 'media/devices/filevideocapturer_unittest.cc', 290 'media/sctp/sctpdataengine_unittest.cc', 291 'media/webrtc/webrtcpassthroughrender_unittest.cc', 292 'media/webrtc/webrtcvideocapturer_unittest.cc', 293 # Omitted because depends on non-open-source testdata files. 294 # 'media/base/videoframe_unittest.h', 295 # 'media/webrtc/webrtcvideoframe_unittest.cc', 296 297 # Disabled because some tests fail. 298 # TODO(ronghuawu): Reenable these tests. 299 # 'media/devices/devicemanager_unittest.cc', 300 'media/webrtc/webrtcvideoengine_unittest.cc', 301 'media/webrtc/webrtcvideoengine2_unittest.cc', 302 'media/webrtc/webrtcvideoengine2_unittest.h', 303 'media/webrtc/webrtcvoiceengine_unittest.cc', 304 ], 305 'conditions': [ 306 ['OS=="win"', { 307 'msvs_settings': { 308 'VCLinkerTool': { 309 'AdditionalDependencies': [ 310 # TODO(ronghuawu): Since we've included strmiids in 311 # libjingle_media target, we shouldn't need this here. 312 # Find out why it doesn't work without this. 313 'strmiids.lib', 314 ], 315 }, 316 }, 317 }], 318 ['OS=="ios"', { 319 'sources!': [ 320 'media/sctp/sctpdataengine_unittest.cc', 321 ], 322 }], 323 ], 324 }, # target libjingle_media_unittest 325 { 326 'target_name': 'libjingle_p2p_unittest', 327 'type': 'executable', 328 'dependencies': [ 329 '<(DEPTH)/third_party/libsrtp/libsrtp.gyp:libsrtp', 330 'gunit', 331 'libjingle.gyp:libjingle', 332 'libjingle.gyp:libjingle_p2p', 333 'libjingle_unittest_main', 334 ], 335 'include_dirs': [ 336 '<(DEPTH)/third_party/libsrtp/srtp', 337 ], 338 'sources': [ 339 'p2p/base/dtlstransportchannel_unittest.cc', 340 'p2p/base/fakesession.h', 341 'p2p/base/p2ptransportchannel_unittest.cc', 342 'p2p/base/port_unittest.cc', 343 'p2p/base/portallocatorsessionproxy_unittest.cc', 344 'p2p/base/pseudotcp_unittest.cc', 345 'p2p/base/relayport_unittest.cc', 346 'p2p/base/relayserver_unittest.cc', 347 'p2p/base/session_unittest.cc', 348 'p2p/base/stun_unittest.cc', 349 'p2p/base/stunport_unittest.cc', 350 'p2p/base/stunrequest_unittest.cc', 351 'p2p/base/stunserver_unittest.cc', 352 'p2p/base/testrelayserver.h', 353 'p2p/base/teststunserver.h', 354 'p2p/base/testturnserver.h', 355 'p2p/base/transport_unittest.cc', 356 'p2p/base/transportdescriptionfactory_unittest.cc', 357 'p2p/client/connectivitychecker_unittest.cc', 358 'p2p/client/fakeportallocator.h', 359 'p2p/client/portallocator_unittest.cc', 360 'session/media/bundlefilter_unittest.cc', 361 'session/media/channel_unittest.cc', 362 'session/media/channelmanager_unittest.cc', 363 'session/media/currentspeakermonitor_unittest.cc', 364 'session/media/mediarecorder_unittest.cc', 365 'session/media/mediamessages_unittest.cc', 366 'session/media/mediasession_unittest.cc', 367 'session/media/mediasessionclient_unittest.cc', 368 'session/media/rtcpmuxfilter_unittest.cc', 369 'session/media/srtpfilter_unittest.cc', 370 ], 371 'conditions': [ 372 ['OS=="win"', { 373 'msvs_settings': { 374 'VCLinkerTool': { 375 'AdditionalDependencies': [ 376 'strmiids.lib', 377 ], 378 }, 379 }, 380 }], 381 ], 382 }, # target libjingle_p2p_unittest 383 { 384 'target_name': 'libjingle_peerconnection_unittest', 385 'type': 'executable', 386 'dependencies': [ 387 '<(DEPTH)/testing/gmock.gyp:gmock', 388 'gunit', 389 'libjingle.gyp:libjingle', 390 'libjingle.gyp:libjingle_p2p', 391 'libjingle.gyp:libjingle_peerconnection', 392 'libjingle_unittest_main', 393 ], 394 'direct_dependent_settings': { 395 'include_dirs': [ 396 '<(DEPTH)/testing/gmock/include', 397 ], 398 }, 399 'sources': [ 400 'app/webrtc/datachannel_unittest.cc', 401 'app/webrtc/dtmfsender_unittest.cc', 402 'app/webrtc/jsepsessiondescription_unittest.cc', 403 'app/webrtc/localaudiosource_unittest.cc', 404 'app/webrtc/mediastream_unittest.cc', 405 'app/webrtc/mediastreamhandler_unittest.cc', 406 'app/webrtc/mediastreamsignaling_unittest.cc', 407 'app/webrtc/peerconnection_unittest.cc', 408 'app/webrtc/peerconnectionendtoend_unittest.cc', 409 'app/webrtc/peerconnectionfactory_unittest.cc', 410 'app/webrtc/peerconnectioninterface_unittest.cc', 411 # 'app/webrtc/peerconnectionproxy_unittest.cc', 412 'app/webrtc/remotevideocapturer_unittest.cc', 413 'app/webrtc/sctputils.cc', 414 'app/webrtc/statscollector_unittest.cc', 415 'app/webrtc/test/fakeaudiocapturemodule.cc', 416 'app/webrtc/test/fakeaudiocapturemodule.h', 417 'app/webrtc/test/fakeaudiocapturemodule_unittest.cc', 418 'app/webrtc/test/fakeconstraints.h', 419 'app/webrtc/test/fakedatachannelprovider.h', 420 'app/webrtc/test/fakedtlsidentityservice.h', 421 'app/webrtc/test/fakemediastreamsignaling.h', 422 'app/webrtc/test/fakeperiodicvideocapturer.h', 423 'app/webrtc/test/fakevideotrackrenderer.h', 424 'app/webrtc/test/mockpeerconnectionobservers.h', 425 'app/webrtc/test/peerconnectiontestwrapper.h', 426 'app/webrtc/test/peerconnectiontestwrapper.cc', 427 'app/webrtc/test/testsdpstrings.h', 428 'app/webrtc/videosource_unittest.cc', 429 'app/webrtc/videotrack_unittest.cc', 430 'app/webrtc/webrtcsdp_unittest.cc', 431 'app/webrtc/webrtcsession_unittest.cc', 432 ], 433 'conditions': [ 434 ['OS=="android"', { 435 # We want gmock features that use tr1::tuple, but we currently 436 # don't support the variadic templates used by libstdc++'s 437 # implementation. gmock supports this scenario by providing its 438 # own implementation but we must opt in to it. 439 'defines': [ 440 'GTEST_USE_OWN_TR1_TUPLE=1', 441 # GTEST_USE_OWN_TR1_TUPLE only works if GTEST_HAS_TR1_TUPLE is set. 442 # gmock r625 made it so that GTEST_HAS_TR1_TUPLE is set to 0 443 # automatically on android, so it has to be set explicitly here. 444 'GTEST_HAS_TR1_TUPLE=1', 445 ], 446 }], 447 ], 448 }, # target libjingle_peerconnection_unittest 449 ], 450 'conditions': [ 451 ['OS=="linux"', { 452 'targets': [ 453 { 454 'target_name': 'libjingle_peerconnection_test_jar', 455 'type': 'none', 456 'actions': [ 457 { 458 'variables': { 459 'java_src_dir': 'app/webrtc/javatests/src', 460 'java_files': [ 461 'app/webrtc/javatests/src/org/webrtc/PeerConnectionTest.java', 462 ], 463 }, 464 'action_name': 'create_jar', 465 'inputs': [ 466 'build/build_jar.sh', 467 '<@(java_files)', 468 '<(PRODUCT_DIR)/libjingle_peerconnection.jar', 469 '<(DEPTH)/third_party/junit/junit-4.11.jar', 470 ], 471 'outputs': [ 472 '<(PRODUCT_DIR)/libjingle_peerconnection_test.jar', 473 ], 474 'action': [ 475 'build/build_jar.sh', '<(java_home)', '<@(_outputs)', 476 '<(INTERMEDIATE_DIR)', 477 '<(java_src_dir):<(PRODUCT_DIR)/libjingle_peerconnection.jar:<(DEPTH)/third_party/junit/junit-4.11.jar', 478 '<@(java_files)' 479 ], 480 }, 481 ], 482 }, 483 { 484 'target_name': 'libjingle_peerconnection_java_unittest', 485 'type': 'none', 486 'actions': [ 487 { 488 'action_name': 'copy libjingle_peerconnection_java_unittest', 489 'inputs': [ 490 'app/webrtc/javatests/libjingle_peerconnection_java_unittest.sh', 491 '<(PRODUCT_DIR)/libjingle_peerconnection_test_jar', 492 '<(DEPTH)/third_party/junit/junit-4.11.jar', 493 ], 494 'outputs': [ 495 '<(PRODUCT_DIR)/libjingle_peerconnection_java_unittest', 496 ], 497 'action': [ 498 'bash', '-c', 499 'rm -f <(PRODUCT_DIR)/libjingle_peerconnection_java_unittest && ' 500 'sed -e "s@GYP_JAVA_HOME@<(java_home)@" ' 501 '< app/webrtc/javatests/libjingle_peerconnection_java_unittest.sh ' 502 '> <(PRODUCT_DIR)/libjingle_peerconnection_java_unittest && ' 503 'cp <(DEPTH)/third_party/junit/junit-4.11.jar <(PRODUCT_DIR) && ' 504 'chmod u+x <(PRODUCT_DIR)/libjingle_peerconnection_java_unittest' 505 ], 506 }, 507 ], 508 }, 509 ], 510 }], 511 ['OS=="ios" or (OS=="mac" and target_arch!="ia32" and mac_sdk>="10.7")', { 512 # The >=10.7 above is required to make ARC link cleanly (e.g. as 513 # opposed to _compile_ cleanly, which the library under test 514 # does just fine on 10.6 too). 515 'targets': [ 516 { 517 'target_name': 'libjingle_peerconnection_objc_test', 518 'type': 'executable', 519 'includes': [ 'build/ios_tests.gypi', ], 520 'dependencies': [ 521 'gunit', 522 'libjingle.gyp:libjingle_peerconnection_objc', 523 ], 524 'sources': [ 525 'app/webrtc/objctests/RTCPeerConnectionSyncObserver.h', 526 'app/webrtc/objctests/RTCPeerConnectionSyncObserver.m', 527 'app/webrtc/objctests/RTCPeerConnectionTest.mm', 528 'app/webrtc/objctests/RTCSessionDescriptionSyncObserver.h', 529 'app/webrtc/objctests/RTCSessionDescriptionSyncObserver.m', 530 # TODO(fischman): figure out if this works for ios or if it 531 # needs a GUI driver. 532 'app/webrtc/objctests/mac/main.mm', 533 ], 534 'FRAMEWORK_SEARCH_PATHS': [ 535 '$(inherited)', 536 '$(SDKROOT)/Developer/Library/Frameworks', 537 '$(DEVELOPER_LIBRARY_DIR)/Frameworks', 538 ], 539 540 # TODO(fischman): there is duplication here with 541 # build/ios_tests.gypi, because for historical reasons the 542 # mac x64 bots expect this unittest to be in a bundle 543 # directory (.app). Once the bots don't expect this 544 # anymore, remove this duplication. 545 'variables': { 546 'infoplist_file': 'build/ios_test.plist', 547 }, 548 'mac_bundle': 1, 549 'mac_bundle_resources': [ 550 '<(infoplist_file)', 551 ], 552 # The plist is listed above so that it appears in XCode's file list, 553 # but we don't actually want to bundle it. 554 'mac_bundle_resources!': [ 555 '<(infoplist_file)', 556 ], 557 'xcode_settings': { 558 'CLANG_ENABLE_OBJC_ARC': 'YES', 559 # common.gypi enables this for mac but we want this to be disabled 560 # like it is for ios. 561 'CLANG_WARN_OBJC_MISSING_PROPERTY_SYNTHESIS': 'NO', 562 'INFOPLIST_FILE': '<(infoplist_file)', 563 }, 564 'conditions': [ 565 ['OS=="mac"', { 566 'xcode_settings': { 567 # Need to build against 10.7 framework for full ARC support 568 # on OSX. 569 'MACOSX_DEPLOYMENT_TARGET' : '10.7', 570 }, 571 }], 572 ], 573 }, # target libjingle_peerconnection_objc_test 574 ], 575 }], 576 ['test_isolation_mode != "noop"', { 577 'targets': [ 578 { 579 'target_name': 'libjingle_media_unittest_run', 580 'type': 'none', 581 'dependencies': [ 582 'libjingle_media_unittest', 583 ], 584 'includes': [ 585 'build/isolate.gypi', 586 'libjingle_media_unittest.isolate', 587 ], 588 'sources': [ 589 'libjingle_media_unittest.isolate', 590 ], 591 }, 592 { 593 'target_name': 'libjingle_p2p_unittest_run', 594 'type': 'none', 595 'dependencies': [ 596 'libjingle_p2p_unittest', 597 ], 598 'includes': [ 599 'build/isolate.gypi', 600 'libjingle_p2p_unittest.isolate', 601 ], 602 'sources': [ 603 'libjingle_p2p_unittest.isolate', 604 ], 605 }, 606 { 607 'target_name': 'libjingle_peerconnection_unittest_run', 608 'type': 'none', 609 'dependencies': [ 610 'libjingle_peerconnection_unittest', 611 ], 612 'includes': [ 613 'build/isolate.gypi', 614 'libjingle_peerconnection_unittest.isolate', 615 ], 616 'sources': [ 617 'libjingle_peerconnection_unittest.isolate', 618 ], 619 }, 620 { 621 'target_name': 'libjingle_sound_unittest_run', 622 'type': 'none', 623 'dependencies': [ 624 'libjingle_sound_unittest', 625 ], 626 'includes': [ 627 'build/isolate.gypi', 628 'libjingle_sound_unittest.isolate', 629 ], 630 'sources': [ 631 'libjingle_sound_unittest.isolate', 632 ], 633 }, 634 { 635 'target_name': 'libjingle_unittest_run', 636 'type': 'none', 637 'dependencies': [ 638 'libjingle_unittest', 639 ], 640 'includes': [ 641 'build/isolate.gypi', 642 'libjingle_unittest.isolate', 643 ], 644 'sources': [ 645 'libjingle_unittest.isolate', 646 ], 647 }, 648 ], 649 }], 650 ], 651 } 652