31dc55171b444952febfb647851cae45dd01a880
[platform/framework/web/crosswalk.git] / src / third_party / libjingle / source / talk / libjingle_tests.gyp
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       'dependencies': [
108         'gunit',
109         'libjingle.gyp:libjingle',
110         'libjingle_unittest_main',
111       ],
112       'sources': [
113         'base/asynchttprequest_unittest.cc',
114         'base/atomicops_unittest.cc',
115         'base/autodetectproxy_unittest.cc',
116         'base/bandwidthsmoother_unittest.cc',
117         'base/base64_unittest.cc',
118         'base/basictypes_unittest.cc',
119         'base/bind_unittest.cc',
120         'base/buffer_unittest.cc',
121         'base/bytebuffer_unittest.cc',
122         'base/byteorder_unittest.cc',
123         'base/callback_unittest.cc',
124         'base/cpumonitor_unittest.cc',
125         'base/crc32_unittest.cc',
126         'base/criticalsection_unittest.cc',
127         'base/event_unittest.cc',
128         'base/filelock_unittest.cc',
129         'base/fileutils_unittest.cc',
130         'base/helpers_unittest.cc',
131         'base/httpbase_unittest.cc',
132         'base/httpcommon_unittest.cc',
133         'base/httpserver_unittest.cc',
134         'base/ipaddress_unittest.cc',
135         'base/logging_unittest.cc',
136         'base/md5digest_unittest.cc',
137         'base/messagedigest_unittest.cc',
138         'base/messagequeue_unittest.cc',
139         'base/multipart_unittest.cc',
140         'base/nat_unittest.cc',
141         'base/network_unittest.cc',
142         'base/nullsocketserver_unittest.cc',
143         'base/optionsfile_unittest.cc',
144         'base/pathutils_unittest.cc',
145         'base/physicalsocketserver_unittest.cc',
146         'base/profiler_unittest.cc',
147         'base/proxy_unittest.cc',
148         'base/proxydetect_unittest.cc',
149         'base/ratelimiter_unittest.cc',
150         'base/ratetracker_unittest.cc',
151         'base/referencecountedsingletonfactory_unittest.cc',
152         'base/rollingaccumulator_unittest.cc',
153         'base/scopedptrcollection_unittest.cc',
154         'base/sha1digest_unittest.cc',
155         'base/sharedexclusivelock_unittest.cc',
156         'base/signalthread_unittest.cc',
157         'base/sigslot_unittest.cc',
158         'base/socket_unittest.cc',
159         'base/socket_unittest.h',
160         'base/socketaddress_unittest.cc',
161         'base/stream_unittest.cc',
162         'base/stringencode_unittest.cc',
163         'base/stringutils_unittest.cc',
164         # TODO(ronghuawu): Reenable this test.
165         # 'base/systeminfo_unittest.cc',
166         'base/task_unittest.cc',
167         'base/testclient_unittest.cc',
168         'base/thread_unittest.cc',
169         'base/timeutils_unittest.cc',
170         'base/urlencode_unittest.cc',
171         'base/versionparsing_unittest.cc',
172         'base/virtualsocket_unittest.cc',
173         # TODO(ronghuawu): Reenable this test.
174         # 'base/windowpicker_unittest.cc',
175         'xmllite/qname_unittest.cc',
176         'xmllite/xmlbuilder_unittest.cc',
177         'xmllite/xmlelement_unittest.cc',
178         'xmllite/xmlnsstack_unittest.cc',
179         'xmllite/xmlparser_unittest.cc',
180         'xmllite/xmlprinter_unittest.cc',
181         'xmpp/fakexmppclient.h',
182         'xmpp/hangoutpubsubclient_unittest.cc',
183         'xmpp/jid_unittest.cc',
184         'xmpp/mucroomconfigtask_unittest.cc',
185         'xmpp/mucroomdiscoverytask_unittest.cc',
186         'xmpp/mucroomlookuptask_unittest.cc',
187         'xmpp/mucroomuniquehangoutidtask_unittest.cc',
188         'xmpp/pingtask_unittest.cc',
189         'xmpp/pubsubclient_unittest.cc',
190         'xmpp/pubsubtasks_unittest.cc',
191         'xmpp/util_unittest.cc',
192         'xmpp/util_unittest.h',
193         'xmpp/xmppengine_unittest.cc',
194         'xmpp/xmpplogintask_unittest.cc',
195         'xmpp/xmppstanzaparser_unittest.cc',
196       ],  # sources
197       'conditions': [
198         ['OS=="linux"', {
199           'sources': [
200             'base/latebindingsymboltable_unittest.cc',
201             # TODO(ronghuawu): Reenable this test.
202             # 'base/linux_unittest.cc',
203             'base/linuxfdwalk_unittest.cc',
204           ],
205         }],
206         ['OS=="win"', {
207           'sources': [
208             'base/win32_unittest.cc',
209             'base/win32regkey_unittest.cc',
210             'base/win32socketserver_unittest.cc',
211             'base/win32toolhelp_unittest.cc',
212             'base/win32window_unittest.cc',
213             'base/win32windowpicker_unittest.cc',
214             'base/winfirewall_unittest.cc',
215           ],
216           'sources!': [
217             # TODO(ronghuawu): Fix TestUdpReadyToSendIPv6 on windows bot
218             # then reenable these tests.
219             'base/physicalsocketserver_unittest.cc',
220             'base/socket_unittest.cc',
221             'base/win32socketserver_unittest.cc',
222             'base/win32windowpicker_unittest.cc',
223           ],
224         }],
225         ['OS=="mac"', {
226           'sources': [
227             'base/macsocketserver_unittest.cc',
228             'base/macutils_unittest.cc',
229             'base/macwindowpicker_unittest.cc',
230           ],
231         }],
232         ['os_posix==1', {
233           'sources': [
234             'base/sslidentity_unittest.cc',
235             'base/sslstreamadapter_unittest.cc',
236           ],
237         }],
238       ],  # conditions
239     },  # target libjingle_unittest
240     {
241       'target_name': 'libjingle_sound_unittest',
242       'type': 'executable',
243       'dependencies': [
244         'gunit',
245         'libjingle.gyp:libjingle_sound',
246         'libjingle_unittest_main',
247       ],
248       'sources': [
249         'sound/automaticallychosensoundsystem_unittest.cc',
250       ],
251     },  # target libjingle_sound_unittest
252     {
253       'target_name': 'libjingle_media_unittest',
254       'type': 'executable',
255       'dependencies': [
256         'gunit',
257         'libjingle.gyp:libjingle_media',
258         'libjingle_unittest_main',
259       ],
260       # TODO(ronghuawu): Avoid the copies.
261       # https://code.google.com/p/libjingle/issues/detail?id=398
262       'copies': [
263         {
264           'destination': '<(DEPTH)/../talk/media/testdata',
265           'files': [
266             'media/testdata/1.frame_plus_1.byte',
267             'media/testdata/captured-320x240-2s-48.frames',
268             'media/testdata/h264-svc-99-640x360.rtpdump',
269             'media/testdata/video.rtpdump',
270             'media/testdata/voice.rtpdump',
271           ],
272         },
273       ],
274       'sources': [
275         # TODO(ronghuawu): Reenable this test.
276         # 'media/base/capturemanager_unittest.cc',
277         'media/base/codec_unittest.cc',
278         'media/base/filemediaengine_unittest.cc',
279         'media/base/rtpdataengine_unittest.cc',
280         'media/base/rtpdump_unittest.cc',
281         'media/base/rtputils_unittest.cc',
282         'media/base/testutils.cc',
283         'media/base/testutils.h',
284         'media/base/videocapturer_unittest.cc',
285         'media/base/videocommon_unittest.cc',
286         'media/base/videoengine_unittest.h',
287         'media/devices/dummydevicemanager_unittest.cc',
288         'media/devices/filevideocapturer_unittest.cc',
289         # TODO(jiayl): Enable the SCTP test once the memcheck and tsan bots
290         # failures are fixed (issue 2846).
291         #'media/sctp/sctpdataengine_unittest.cc',
292         'media/webrtc/webrtcpassthroughrender_unittest.cc',
293         'media/webrtc/webrtcvideocapturer_unittest.cc',
294         # Omitted because depends on non-open-source testdata files.
295         # 'media/base/videoframe_unittest.h',
296         # 'media/webrtc/webrtcvideoframe_unittest.cc',
297
298         # Disabled because some tests fail.
299         # TODO(ronghuawu): Reenable these tests.
300         # 'media/devices/devicemanager_unittest.cc',
301         'media/webrtc/webrtcvideoengine_unittest.cc',
302         'media/webrtc/webrtcvoiceengine_unittest.cc',
303       ],
304       'conditions': [
305         ['OS=="win"', {
306           'msvs_settings': {
307             'VCLinkerTool': {
308               'AdditionalDependencies': [
309                 # TODO(ronghuawu): Since we've included strmiids in
310                 # libjingle_media target, we shouldn't need this here.
311                 # Find out why it doesn't work without this.
312                 'strmiids.lib',
313               ],
314             },
315           },
316         }],
317         ['OS=="ios"', {
318           'sources!': [
319             'media/sctp/sctpdataengine_unittest.cc',
320           ],
321         }],
322       ],
323     },  # target libjingle_media_unittest
324     {
325       'target_name': 'libjingle_p2p_unittest',
326       'type': 'executable',
327       'dependencies': [
328         '<(DEPTH)/third_party/libsrtp/libsrtp.gyp:libsrtp',
329         'gunit',
330         'libjingle.gyp:libjingle',
331         'libjingle.gyp:libjingle_p2p',
332         'libjingle_unittest_main',
333       ],
334       'include_dirs': [
335         '<(DEPTH)/third_party/libsrtp/srtp',
336       ],
337       'sources': [
338         'p2p/base/dtlstransportchannel_unittest.cc',
339         'p2p/base/fakesession.h',
340         'p2p/base/p2ptransportchannel_unittest.cc',
341         'p2p/base/port_unittest.cc',
342         'p2p/base/portallocatorsessionproxy_unittest.cc',
343         'p2p/base/pseudotcp_unittest.cc',
344         'p2p/base/relayport_unittest.cc',
345         'p2p/base/relayserver_unittest.cc',
346         'p2p/base/session_unittest.cc',
347         'p2p/base/stun_unittest.cc',
348         'p2p/base/stunport_unittest.cc',
349         'p2p/base/stunrequest_unittest.cc',
350         'p2p/base/stunserver_unittest.cc',
351         'p2p/base/testrelayserver.h',
352         'p2p/base/teststunserver.h',
353         'p2p/base/testturnserver.h',
354         'p2p/base/transport_unittest.cc',
355         'p2p/base/transportdescriptionfactory_unittest.cc',
356         'p2p/client/connectivitychecker_unittest.cc',
357         'p2p/client/fakeportallocator.h',
358         'p2p/client/portallocator_unittest.cc',
359         'session/media/channel_unittest.cc',
360         'session/media/channelmanager_unittest.cc',
361         'session/media/currentspeakermonitor_unittest.cc',
362         'session/media/mediarecorder_unittest.cc',
363         'session/media/mediamessages_unittest.cc',
364         'session/media/mediasession_unittest.cc',
365         'session/media/mediasessionclient_unittest.cc',
366         'session/media/rtcpmuxfilter_unittest.cc',
367         'session/media/srtpfilter_unittest.cc',
368         'session/media/ssrcmuxfilter_unittest.cc',
369       ],
370       'conditions': [
371         ['OS=="win"', {
372           'msvs_settings': {
373             'VCLinkerTool': {
374               'AdditionalDependencies': [
375                 'strmiids.lib',
376               ],
377             },
378           },
379         }],
380       ],
381     },  # target libjingle_p2p_unittest
382     {
383       'target_name': 'libjingle_peerconnection_unittest',
384       'type': 'executable',
385       'dependencies': [
386         'gunit',
387         'libjingle.gyp:libjingle',
388         'libjingle.gyp:libjingle_p2p',
389         'libjingle.gyp:libjingle_peerconnection',
390         'libjingle_unittest_main',
391       ],
392       # TODO(ronghuawu): Reenable below unit tests that require gmock.
393       'sources': [
394         # 'app/webrtc/datachannel_unittest.cc',
395         'app/webrtc/dtmfsender_unittest.cc',
396         'app/webrtc/jsepsessiondescription_unittest.cc',
397         'app/webrtc/localaudiosource_unittest.cc',
398         # 'app/webrtc/mediastream_unittest.cc',
399         # 'app/webrtc/mediastreamhandler_unittest.cc',
400         'app/webrtc/mediastreamsignaling_unittest.cc',
401         'app/webrtc/peerconnection_unittest.cc',
402         'app/webrtc/peerconnectionendtoend_unittest.cc',
403         'app/webrtc/peerconnectionfactory_unittest.cc',
404         'app/webrtc/peerconnectioninterface_unittest.cc',
405         # 'app/webrtc/peerconnectionproxy_unittest.cc',
406         'app/webrtc/remotevideocapturer_unittest.cc',
407         'app/webrtc/sctputils.cc',
408         'app/webrtc/test/fakeaudiocapturemodule.cc',
409         'app/webrtc/test/fakeaudiocapturemodule.h',
410         'app/webrtc/test/fakeaudiocapturemodule_unittest.cc',
411         'app/webrtc/test/fakeconstraints.h',
412         'app/webrtc/test/fakedatachannelprovider.h',
413         'app/webrtc/test/fakedtlsidentityservice.h',
414         'app/webrtc/test/fakemediastreamsignaling.h',
415         'app/webrtc/test/fakeperiodicvideocapturer.h',
416         'app/webrtc/test/fakevideotrackrenderer.h',
417         'app/webrtc/test/mockpeerconnectionobservers.h',
418         'app/webrtc/test/peerconnectiontestwrapper.h',
419         'app/webrtc/test/peerconnectiontestwrapper.cc',
420         'app/webrtc/test/testsdpstrings.h',
421         'app/webrtc/videosource_unittest.cc',
422         'app/webrtc/videotrack_unittest.cc',
423         'app/webrtc/webrtcsdp_unittest.cc',
424         'app/webrtc/webrtcsession_unittest.cc',
425       ],
426     },  # target libjingle_peerconnection_unittest
427   ],
428   'conditions': [
429     ['OS=="linux"', {
430       'targets': [
431         {
432           'target_name': 'libjingle_peerconnection_test_jar',
433           'type': 'none',
434           'actions': [
435             {
436               'variables': {
437                 'java_src_dir': 'app/webrtc/javatests/src',
438                 'java_files': [
439                   'app/webrtc/javatests/src/org/webrtc/PeerConnectionTest.java',
440                 ],
441               },
442               'action_name': 'create_jar',
443               'inputs': [
444                 'build/build_jar.sh',
445                 '<@(java_files)',
446                 '<(PRODUCT_DIR)/libjingle_peerconnection.jar',
447                 '<(DEPTH)/third_party/junit/junit-4.11.jar',
448               ],
449               'outputs': [
450                 '<(PRODUCT_DIR)/libjingle_peerconnection_test.jar',
451               ],
452               'action': [
453                 'build/build_jar.sh', '<(java_home)', '<@(_outputs)',
454                 '<(INTERMEDIATE_DIR)',
455                 '<(java_src_dir):<(PRODUCT_DIR)/libjingle_peerconnection.jar:<(DEPTH)/third_party/junit/junit-4.11.jar',
456                 '<@(java_files)'
457               ],
458             },
459           ],
460         },
461         {
462           'target_name': 'libjingle_peerconnection_java_unittest',
463           'type': 'none',
464           'actions': [
465             {
466               'action_name': 'copy libjingle_peerconnection_java_unittest',
467               'inputs': [
468                 'app/webrtc/javatests/libjingle_peerconnection_java_unittest.sh',
469                 '<(PRODUCT_DIR)/libjingle_peerconnection_test_jar',
470                 '<(DEPTH)/third_party/junit/junit-4.11.jar',
471               ],
472               'outputs': [
473                 '<(PRODUCT_DIR)/libjingle_peerconnection_java_unittest',
474               ],
475               'action': [
476                 'bash', '-c',
477                 'rm -f <(PRODUCT_DIR)/libjingle_peerconnection_java_unittest && '
478                 'sed -e "s@GYP_JAVA_HOME@<(java_home)@" '
479                 '< app/webrtc/javatests/libjingle_peerconnection_java_unittest.sh '
480                 '> <(PRODUCT_DIR)/libjingle_peerconnection_java_unittest && '
481                 'cp <(DEPTH)/third_party/junit/junit-4.11.jar <(PRODUCT_DIR) && '
482                 'chmod u+x <(PRODUCT_DIR)/libjingle_peerconnection_java_unittest'
483               ],
484             },
485           ],
486         },
487       ],
488     }],
489     ['OS=="ios" or (OS=="mac" and target_arch!="ia32" and mac_sdk>="10.7")', {
490       # The >=10.7 above is required to make ARC link cleanly (e.g. as
491       # opposed to _compile_ cleanly, which the library under test
492       # does just fine on 10.6 too).
493       'targets': [
494         {
495         'target_name': 'libjingle_peerconnection_objc_test',
496           'variables': {
497             'infoplist_file': './app/webrtc/objctests/Info.plist',
498           },
499           'type': 'executable',
500           'mac_bundle': 1,
501           'mac_bundle_resources': [
502             '<(infoplist_file)',
503           ],
504           # The plist is listed above so that it appears in XCode's file list,
505           # but we don't actually want to bundle it.
506           'mac_bundle_resources!': [
507             '<(infoplist_file)',
508           ],
509           'xcode_settings': {
510             'CLANG_ENABLE_OBJC_ARC': 'YES',
511             'INFOPLIST_FILE': '<(infoplist_file)',
512           },
513           'dependencies': [
514             'gunit',
515             'libjingle.gyp:libjingle_peerconnection_objc',
516           ],
517           'FRAMEWORK_SEARCH_PATHS': [
518             '$(inherited)',
519             '$(SDKROOT)/Developer/Library/Frameworks',
520             '$(DEVELOPER_LIBRARY_DIR)/Frameworks',
521           ],
522           'sources': [
523             'app/webrtc/objctests/RTCPeerConnectionSyncObserver.h',
524             'app/webrtc/objctests/RTCPeerConnectionSyncObserver.m',
525             'app/webrtc/objctests/RTCPeerConnectionTest.mm',
526             'app/webrtc/objctests/RTCSessionDescriptionSyncObserver.h',
527             'app/webrtc/objctests/RTCSessionDescriptionSyncObserver.m',
528           ],
529           'conditions': [
530             ['OS=="mac" or OS=="ios"', {
531               'sources': [
532                 # TODO(fischman): figure out if this works for ios or if it
533                 # needs a GUI driver.
534                 'app/webrtc/objctests/mac/main.mm',
535               ],
536             }],
537           ],
538         },  # target libjingle_peerconnection_objc_test
539       ],
540     }],
541     ['test_isolation_mode != "noop"', {
542       'targets': [
543         {
544           'target_name': 'libjingle_media_unittest_run',
545           'type': 'none',
546           'dependencies': [
547             'libjingle_media_unittest',
548           ],
549           'includes': [
550             'build/isolate.gypi',
551             'libjingle_media_unittest.isolate',
552           ],
553           'sources': [
554             'libjingle_media_unittest.isolate',
555           ],
556         },
557         {
558           'target_name': 'libjingle_p2p_unittest_run',
559           'type': 'none',
560           'dependencies': [
561             'libjingle_p2p_unittest',
562           ],
563           'includes': [
564             'build/isolate.gypi',
565             'libjingle_p2p_unittest.isolate',
566           ],
567           'sources': [
568             'libjingle_p2p_unittest.isolate',
569           ],
570         },
571         {
572           'target_name': 'libjingle_peerconnection_unittest_run',
573           'type': 'none',
574           'dependencies': [
575             'libjingle_peerconnection_unittest',
576           ],
577           'includes': [
578             'build/isolate.gypi',
579             'libjingle_peerconnection_unittest.isolate',
580           ],
581           'sources': [
582             'libjingle_peerconnection_unittest.isolate',
583           ],
584         },
585         {
586           'target_name': 'libjingle_sound_unittest_run',
587           'type': 'none',
588           'dependencies': [
589             'libjingle_sound_unittest',
590           ],
591           'includes': [
592             'build/isolate.gypi',
593             'libjingle_sound_unittest.isolate',
594           ],
595           'sources': [
596             'libjingle_sound_unittest.isolate',
597           ],
598         },
599         {
600           'target_name': 'libjingle_unittest_run',
601           'type': 'none',
602           'dependencies': [
603             'libjingle_unittest',
604           ],
605           'includes': [
606             'build/isolate.gypi',
607             'libjingle_unittest.isolate',
608           ],
609           'sources': [
610             'libjingle_unittest.isolate',
611           ],
612         },
613       ],
614     }],
615   ],
616 }