blob: 73aebaaac332734cf0f944a34ccbd8dd265758f9 [file] [log] [blame]
hjonaa32c3e2015-12-13 19:58:11 -08001# Copyright (c) 2015 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{
10 'includes': [ '../build/common.gypi', ],
Henrik Kjellander15583c12016-02-10 10:53:12 +010011 'targets': [
12 {
13 'target_name': 'peerconnection_unittests',
14 'type': '<(gtest_target_type)',
15 'dependencies': [
16 '<(DEPTH)/testing/gmock.gyp:gmock',
17 '<(webrtc_root)/api/api.gyp:libjingle_peerconnection',
18 '<(webrtc_root)/base/base_tests.gyp:rtc_base_tests_utils',
19 '<(webrtc_root)/common.gyp:webrtc_common',
kjellander00984ff2016-03-31 07:23:49 -070020 '<(webrtc_root)/media/media.gyp:rtc_unittest_main',
kjellander@webrtc.org9b8df252016-02-12 06:47:59 +010021 '<(webrtc_root)/pc/pc.gyp:rtc_pc',
kjellander98bba392016-06-01 05:28:54 -070022 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:metrics_default',
Henrik Kjellander15583c12016-02-10 10:53:12 +010023 ],
Henrik Kjellander15583c12016-02-10 10:53:12 +010024 'defines': [
25 # Feature selection.
26 'HAVE_SCTP',
27 ],
28 'sources': [
29 'datachannel_unittest.cc',
Henrik Kjellander15583c12016-02-10 10:53:12 +010030 'dtmfsender_unittest.cc',
31 'fakemetricsobserver.cc',
32 'fakemetricsobserver.h',
33 'jsepsessiondescription_unittest.cc',
34 'localaudiosource_unittest.cc',
perkjf0dcfe22016-03-10 18:32:00 +010035 'mediaconstraintsinterface_unittest.cc',
Henrik Kjellander15583c12016-02-10 10:53:12 +010036 'mediastream_unittest.cc',
37 'peerconnection_unittest.cc',
38 'peerconnectionendtoend_unittest.cc',
39 'peerconnectionfactory_unittest.cc',
40 'peerconnectioninterface_unittest.cc',
kjellandere532aec2016-04-17 20:08:20 -070041 'proxy_unittest.cc',
Henrik Kjellander15583c12016-02-10 10:53:12 +010042 'rtpsenderreceiver_unittest.cc',
43 'statscollector_unittest.cc',
44 'test/fakeaudiocapturemodule.cc',
45 'test/fakeaudiocapturemodule.h',
46 'test/fakeaudiocapturemodule_unittest.cc',
47 'test/fakeconstraints.h',
48 'test/fakedatachannelprovider.h',
Henrik Kjellander15583c12016-02-10 10:53:12 +010049 'test/fakeperiodicvideocapturer.h',
Henrik Boströmd79599d2016-06-01 13:58:50 +020050 'test/fakertccertificategenerator.h',
Henrik Kjellander15583c12016-02-10 10:53:12 +010051 'test/fakevideotrackrenderer.h',
hbosb24b1ce2016-08-16 01:19:43 -070052 'test/mock_peerconnection.h',
53 'test/mock_webrtcsession.h',
Henrik Kjellander15583c12016-02-10 10:53:12 +010054 'test/mockpeerconnectionobservers.h',
55 'test/peerconnectiontestwrapper.h',
56 'test/peerconnectiontestwrapper.cc',
57 'test/testsdpstrings.h',
perkja3ede6c2016-03-08 01:27:48 +010058 'videocapturertracksource_unittest.cc',
Henrik Kjellander15583c12016-02-10 10:53:12 +010059 'videotrack_unittest.cc',
60 'webrtcsdp_unittest.cc',
61 'webrtcsession_unittest.cc',
62 ],
63 # TODO(kjellander): Make the code compile without disabling these flags.
64 # See https://bugs.chromium.org/p/webrtc/issues/detail?id=3307
65 'cflags': [
66 '-Wno-sign-compare',
67 ],
68 'cflags!': [
69 '-Wextra',
70 ],
71 'cflags_cc!': [
Henrik Kjellander15583c12016-02-10 10:53:12 +010072 '-Woverloaded-virtual',
73 ],
74 'msvs_disabled_warnings': [
75 4245, # conversion from 'int' to 'size_t', signed/unsigned mismatch.
76 4267, # conversion from 'size_t' to 'int', possible loss of data.
77 4389, # signed/unsigned mismatch.
78 ],
79 'conditions': [
80 ['clang==1', {
81 # TODO(kjellander): Make the code compile without disabling these flags.
82 # See https://bugs.chromium.org/p/webrtc/issues/detail?id=3307
83 'cflags!': [
84 '-Wextra',
85 ],
86 'xcode_settings': {
87 'WARNING_CFLAGS!': ['-Wextra'],
88 },
89 }],
90 ['OS=="android"', {
91 'sources': [
92 'test/androidtestinitializer.cc',
93 'test/androidtestinitializer.h',
94 ],
95 'dependencies': [
96 '<(DEPTH)/testing/android/native_test.gyp:native_test_native_code',
97 '<(webrtc_root)/api/api.gyp:libjingle_peerconnection_jni',
98 ],
99 }],
100 ['OS=="win" and clang==1', {
101 'msvs_settings': {
102 'VCCLCompilerTool': {
103 'AdditionalOptions': [
104 # Disable warnings failing when compiling with Clang on Windows.
105 # https://bugs.chromium.org/p/webrtc/issues/detail?id=5366
106 '-Wno-sign-compare',
107 '-Wno-unused-function',
108 ],
109 },
110 },
111 }],
mikescarlett9bc517f2016-04-29 18:30:55 -0700112 ['use_quic==1', {
113 'dependencies': [
114 '<(DEPTH)/third_party/libquic/libquic.gyp:libquic',
115 ],
116 'sources': [
117 'quicdatachannel_unittest.cc',
118 'quicdatatransport_unittest.cc',
119 ],
120 'export_dependent_settings': [
121 '<(DEPTH)/third_party/libquic/libquic.gyp:libquic',
122 ],
123 }],
Henrik Kjellander15583c12016-02-10 10:53:12 +0100124 ], # conditions
125 }, # target peerconnection_unittests
126 ], # targets
hjonaa32c3e2015-12-13 19:58:11 -0800127 'conditions': [
Henrik Kjellander15583c12016-02-10 10:53:12 +0100128 ['OS=="android"', {
129 'targets': [
130 {
131 'target_name': 'libjingle_peerconnection_android_unittest',
132 'type': 'none',
133 'dependencies': [
kjellander442e6ee2016-06-20 01:34:06 -0700134 '<(webrtc_root)/api/api_java.gyp:libjingle_peerconnection_java',
Henrik Kjellander15583c12016-02-10 10:53:12 +0100135 ],
136 'variables': {
137 'apk_name': 'libjingle_peerconnection_android_unittest',
138 'java_in_dir': 'androidtests',
139 'resource_dir': 'androidtests/res',
140 'native_lib_target': 'libjingle_peerconnection_so',
141 'is_test_apk': 1,
agrievebabf8ee2016-04-08 06:54:23 -0700142 'test_type': 'instrumentation',
143 'tested_apk_path': '',
Henrik Kjellander15583c12016-02-10 10:53:12 +0100144 'never_lint': 1,
145 },
agrievebabf8ee2016-04-08 06:54:23 -0700146 'includes': [
147 '../../build/java_apk.gypi',
148 '../../build/android/test_runner.gypi',
149 ],
Henrik Kjellander15583c12016-02-10 10:53:12 +0100150 },
151 ], # targets
152 }], # OS=="android"
Henrik Kjellander15583c12016-02-10 10:53:12 +0100153 ['OS=="android"', {
154 'targets': [
155 {
156 'target_name': 'peerconnection_unittests_apk_target',
157 'type': 'none',
158 'dependencies': [
kjellander208d1982016-05-31 04:01:38 -0700159 '<(android_tests_path):peerconnection_unittests_apk',
Henrik Kjellander15583c12016-02-10 10:53:12 +0100160 ],
161 },
162 ],
kjellandere532aec2016-04-17 20:08:20 -0700163 'conditions': [
164 ['test_isolation_mode != "noop"',
165 {
166 'targets': [
167 {
168 'target_name': 'peerconnection_unittests_apk_run',
169 'type': 'none',
170 'dependencies': [
kjellander208d1982016-05-31 04:01:38 -0700171 '<(android_tests_path):peerconnection_unittests_apk',
kjellandere532aec2016-04-17 20:08:20 -0700172 ],
173 'includes': [
174 '../build/isolate.gypi',
175 ],
176 'sources': [
177 'peerconnection_unittests_apk.isolate',
178 ],
179 },
180 ]
181 }
182 ],
183 ],
Henrik Kjellander15583c12016-02-10 10:53:12 +0100184 }], # OS=="android"
185 ['test_isolation_mode != "noop"', {
186 'targets': [
187 {
188 'target_name': 'peerconnection_unittests_run',
189 'type': 'none',
190 'dependencies': [
191 'peerconnection_unittests',
192 ],
193 'includes': [
194 '../build/isolate.gypi',
195 ],
196 'sources': [
197 'peerconnection_unittests.isolate',
198 ],
199 },
200 ], # targets
201 }], # test_isolation_mode != "noop"
202 ], # conditions
hjonaa32c3e2015-12-13 19:58:11 -0800203}