blob: cb5650dc8a5fa1fdf1b9f708d92535427ca64df3 [file] [log] [blame]
andrew@webrtc.org19eefdc2011-09-14 17:02:44 +00001# Copyright (c) 2011 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# TODO(andrew): consider moving test_support to src/base/test.
10{
11 'includes': [
andrew@webrtc.org81cf5e42012-06-27 01:41:54 +000012 '../build/common.gypi',
andrew@webrtc.org19eefdc2011-09-14 17:02:44 +000013 ],
14 'targets': [
15 {
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +000016 'target_name': 'channel_transport',
17 'type': 'static_library',
18 'dependencies': [
19 '<(DEPTH)/testing/gtest.gyp:gtest',
kwiberg@webrtc.orgac2d27d2015-02-26 13:59:22 +000020 '<(webrtc_root)/common.gyp:webrtc_common',
andresp@webrtc.org86e1e482015-01-14 09:30:52 +000021 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers',
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +000022 ],
23 'sources': [
24 'channel_transport/channel_transport.cc',
Henrik Kjellander1323fc32015-11-11 10:34:26 +010025 'channel_transport/channel_transport.h',
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +000026 'channel_transport/traffic_control_win.cc',
27 'channel_transport/traffic_control_win.h',
28 'channel_transport/udp_socket_manager_posix.cc',
29 'channel_transport/udp_socket_manager_posix.h',
30 'channel_transport/udp_socket_manager_wrapper.cc',
31 'channel_transport/udp_socket_manager_wrapper.h',
32 'channel_transport/udp_socket_posix.cc',
33 'channel_transport/udp_socket_posix.h',
34 'channel_transport/udp_socket_wrapper.cc',
35 'channel_transport/udp_socket_wrapper.h',
36 'channel_transport/udp_socket2_manager_win.cc',
37 'channel_transport/udp_socket2_manager_win.h',
38 'channel_transport/udp_socket2_win.cc',
39 'channel_transport/udp_socket2_win.h',
40 'channel_transport/udp_transport.h',
41 'channel_transport/udp_transport_impl.cc',
42 'channel_transport/udp_transport_impl.h',
43 ],
kjellander@webrtc.org66a99282016-02-18 20:30:14 +010044 'msvs_disabled_warnings': [
45 4302, # cast truncation
46 ],
kjellander7cae30c2015-12-16 14:05:29 -080047 'conditions': [
48 ['OS=="win" and clang==1', {
49 'msvs_settings': {
50 'VCCLCompilerTool': {
51 'AdditionalOptions': [
52 # Disable warnings failing when compiling with Clang on Windows.
53 # https://bugs.chromium.org/p/webrtc/issues/detail?id=5366
54 '-Wno-parentheses-equality',
55 '-Wno-reorder',
56 '-Wno-tautological-constant-out-of-range-compare',
57 '-Wno-unused-private-field',
58 ],
59 },
60 },
61 }],
62 ], # conditions.
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +000063 },
64 {
Peter Boström13f61df2016-01-04 22:36:38 +010065 'target_name': 'fake_video_frames',
pbos@webrtc.org724947b2013-12-11 16:26:16 +000066 'type': 'static_library',
67 'sources': [
Peter Boström13f61df2016-01-04 22:36:38 +010068 'fake_texture_frame.cc',
69 'fake_texture_frame.h',
pbos@webrtc.org724947b2013-12-11 16:26:16 +000070 'frame_generator.cc',
71 'frame_generator.h',
72 ],
73 'dependencies': [
74 '<(webrtc_root)/common_video/common_video.gyp:common_video',
75 ],
76 },
77 {
pbos@webrtc.orgaca58032014-10-27 18:01:03 +000078 'target_name': 'rtp_test_utils',
asapersson@webrtc.org0f2809a2014-02-21 08:14:45 +000079 'type': 'static_library',
80 'sources': [
81 'rtcp_packet_parser.cc',
82 'rtcp_packet_parser.h',
pbos@webrtc.orgaca58032014-10-27 18:01:03 +000083 'rtp_file_reader.cc',
84 'rtp_file_reader.h',
henrik.lundin@webrtc.org83317142014-12-01 11:25:04 +000085 'rtp_file_writer.cc',
86 'rtp_file_writer.h',
asapersson@webrtc.org0f2809a2014-02-21 08:14:45 +000087 ],
88 'dependencies': [
asapersson@webrtc.org37c05592015-01-28 13:58:27 +000089 '<(DEPTH)/testing/gtest.gyp:gtest',
kjellanderf6b55092016-02-07 23:04:26 -080090 '<(webrtc_root)/common.gyp:webrtc_common',
asapersson@webrtc.org0f2809a2014-02-21 08:14:45 +000091 '<(webrtc_root)/modules/modules.gyp:rtp_rtcp',
92 ],
93 },
94 {
andresp@webrtc.org60015d22014-05-16 09:39:51 +000095 'target_name': 'field_trial',
96 'type': 'static_library',
97 'sources': [
98 'field_trial.cc',
99 'field_trial.h',
100 ],
101 'dependencies': [
kwiberg@webrtc.orgac2d27d2015-02-26 13:59:22 +0000102 '<(webrtc_root)/common.gyp:webrtc_common',
phoglund37ebcf02016-01-08 05:04:57 -0800103 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:field_trial_default',
andresp@webrtc.org86e1e482015-01-14 09:30:52 +0000104 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers',
andresp@webrtc.org60015d22014-05-16 09:39:51 +0000105 ],
106 },
107 {
Åsa Persson352b2d72015-04-15 18:00:40 +0200108 'target_name': 'histogram',
109 'type': 'static_library',
110 'sources': [
111 'histogram.cc',
112 'histogram.h',
113 ],
114 'dependencies': [
115 '<(webrtc_root)/common.gyp:webrtc_common',
116 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers',
117 ],
118 },
119 {
andresp@webrtc.orga36ad692014-05-14 12:24:04 +0000120 'target_name': 'test_main',
121 'type': 'static_library',
122 'sources': [
123 'test_main.cc',
124 ],
125 'dependencies': [
andresp@webrtc.org60015d22014-05-16 09:39:51 +0000126 'field_trial',
Åsa Persson352b2d72015-04-15 18:00:40 +0200127 'histogram',
Peter Boström95192fb2015-10-29 12:41:56 +0100128 'test_support',
andresp@webrtc.org60015d22014-05-16 09:39:51 +0000129 '<(DEPTH)/testing/gtest.gyp:gtest',
130 '<(DEPTH)/third_party/gflags/gflags.gyp:gflags',
andresp@webrtc.orga36ad692014-05-14 12:24:04 +0000131 ],
132 },
133 {
andrew@webrtc.org19eefdc2011-09-14 17:02:44 +0000134 'target_name': 'test_support',
135 'type': 'static_library',
136 'dependencies': [
andrew@webrtc.org81cf5e42012-06-27 01:41:54 +0000137 '<(DEPTH)/testing/gtest.gyp:gtest',
138 '<(DEPTH)/testing/gmock.gyp:gmock',
kjellander988d31e2016-02-05 00:23:50 -0800139 '<(webrtc_root)/base/base.gyp:gtest_prod',
andresp@webrtc.org86e1e482015-01-14 09:30:52 +0000140 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers',
andrew@webrtc.org19eefdc2011-09-14 17:02:44 +0000141 ],
142 'sources': [
kjellander@webrtc.org7951e812011-10-13 12:24:41 +0000143 'testsupport/fileutils.cc',
andrew@webrtc.org2009f6b2012-11-20 00:20:20 +0000144 'testsupport/fileutils.h',
kjellander@webrtc.org5b97b122011-12-08 07:42:18 +0000145 'testsupport/frame_reader.cc',
andrew@webrtc.org2009f6b2012-11-20 00:20:20 +0000146 'testsupport/frame_reader.h',
kjellander@webrtc.org5b97b122011-12-08 07:42:18 +0000147 'testsupport/frame_writer.cc',
andrew@webrtc.org2009f6b2012-11-20 00:20:20 +0000148 'testsupport/frame_writer.h',
henrika1d34fe92015-06-16 10:04:20 +0200149 'testsupport/iosfileutils.mm',
kjellander@webrtc.org5b97b122011-12-08 07:42:18 +0000150 'testsupport/mock/mock_frame_reader.h',
151 'testsupport/mock/mock_frame_writer.h',
andrew@webrtc.org2009f6b2012-11-20 00:20:20 +0000152 'testsupport/packet_reader.cc',
153 'testsupport/packet_reader.h',
154 'testsupport/perf_test.cc',
155 'testsupport/perf_test.h',
andrew@webrtc.orgb87cc852013-03-25 16:23:37 +0000156 'testsupport/trace_to_stderr.cc',
157 'testsupport/trace_to_stderr.h',
kjellander@webrtc.org7951e812011-10-13 12:24:41 +0000158 ],
henrika1d34fe92015-06-16 10:04:20 +0200159 'conditions': [
160 ['OS=="ios"', {
161 'xcode_settings': {
162 'CLANG_ENABLE_OBJC_ARC': 'YES',
163 },
164 }],
Henrik Kjellander9589e2a2015-10-22 06:48:21 +0200165 ['use_x11==1', {
166 'dependencies': [
167 '<(DEPTH)/tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck',
168 ],
169 }],
henrika1d34fe92015-06-16 10:04:20 +0200170 ],
kjellander@webrtc.org7951e812011-10-13 12:24:41 +0000171 },
172 {
kjellander@webrtc.org1a8d08a2011-11-03 23:28:47 +0000173 # Depend on this target when you want to have test_support but also the
174 # main method needed for gtest to execute!
175 'target_name': 'test_support_main',
176 'type': 'static_library',
177 'dependencies': [
andresp@webrtc.org60015d22014-05-16 09:39:51 +0000178 'field_trial',
Åsa Persson352b2d72015-04-15 18:00:40 +0200179 'histogram',
kjellander@webrtc.org1a8d08a2011-11-03 23:28:47 +0000180 'test_support',
andresp@webrtc.org60015d22014-05-16 09:39:51 +0000181 '<(DEPTH)/testing/gmock.gyp:gmock',
182 '<(DEPTH)/testing/gtest.gyp:gtest',
183 '<(DEPTH)/third_party/gflags/gflags.gyp:gflags',
kjellander@webrtc.org1a8d08a2011-11-03 23:28:47 +0000184 ],
185 'sources': [
186 'run_all_unittests.cc',
andresp@webrtc.org60015d22014-05-16 09:39:51 +0000187 'test_suite.cc',
188 'test_suite.h',
kjellander@webrtc.org1a8d08a2011-11-03 23:28:47 +0000189 ],
190 },
191 {
phoglund@webrtc.org54e22eb2012-08-08 08:27:46 +0000192 # Depend on this target when you want to have test_support and a special
193 # main for mac which will run your test on a worker thread and consume
194 # events on the main thread. Useful if you want to access a webcam.
195 # This main will provide all the scaffolding and objective-c black magic
196 # for you. All you need to do is to implement a function in the
197 # run_threaded_main_mac.h file (ImplementThisToRunYourTest).
198 'target_name': 'test_support_main_threaded_mac',
199 'type': 'static_library',
200 'dependencies': [
201 'test_support',
202 ],
203 'sources': [
204 'testsupport/mac/run_threaded_main_mac.h',
205 'testsupport/mac/run_threaded_main_mac.mm',
206 ],
207 },
208 {
kjellander@webrtc.org7951e812011-10-13 12:24:41 +0000209 'target_name': 'test_support_unittests',
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000210 'type': '<(gtest_target_type)',
kjellander@webrtc.org7951e812011-10-13 12:24:41 +0000211 'dependencies': [
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +0000212 'channel_transport',
kjellander@webrtc.org1a8d08a2011-11-03 23:28:47 +0000213 'test_support_main',
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +0000214 '<(DEPTH)/testing/gmock.gyp:gmock',
andrew@webrtc.org81cf5e42012-06-27 01:41:54 +0000215 '<(DEPTH)/testing/gtest.gyp:gtest',
kjellander@webrtc.org7951e812011-10-13 12:24:41 +0000216 ],
kjellander@webrtc.org1a8d08a2011-11-03 23:28:47 +0000217 'sources': [
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +0000218 'channel_transport/udp_transport_unittest.cc',
219 'channel_transport/udp_socket_manager_unittest.cc',
220 'channel_transport/udp_socket_wrapper_unittest.cc',
kjellander@webrtc.org6f729e82014-09-02 15:13:55 +0000221 'testsupport/always_passing_unittest.cc',
kjellander@webrtc.org5b97b122011-12-08 07:42:18 +0000222 'testsupport/unittest_utils.h',
kjellander@webrtc.org7951e812011-10-13 12:24:41 +0000223 'testsupport/fileutils_unittest.cc',
kjellander@webrtc.org5b97b122011-12-08 07:42:18 +0000224 'testsupport/frame_reader_unittest.cc',
225 'testsupport/frame_writer_unittest.cc',
226 'testsupport/packet_reader_unittest.cc',
andrew@webrtc.org2009f6b2012-11-20 00:20:20 +0000227 'testsupport/perf_test_unittest.cc',
andrew@webrtc.org19eefdc2011-09-14 17:02:44 +0000228 ],
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +0000229 # Disable warnings to enable Win64 build, issue 1323.
230 'msvs_disabled_warnings': [
231 4267, # size_t to int truncation.
232 ],
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000233 'conditions': [
kjellander@webrtc.org3bd41562014-09-01 11:06:37 +0000234 ['OS=="android"', {
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000235 'dependencies': [
236 '<(DEPTH)/testing/android/native_test.gyp:native_test_native_code',
237 ],
238 }],
239 ],
andrew@webrtc.org19eefdc2011-09-14 17:02:44 +0000240 },
andrew@webrtc.org19eefdc2011-09-14 17:02:44 +0000241 ],
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000242 'conditions': [
kjellander@webrtc.org0372b932014-09-03 14:34:46 +0000243 ['include_tests==1 and OS=="android"', {
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000244 'targets': [
245 {
kjellander@webrtc.org0372b932014-09-03 14:34:46 +0000246 'target_name': 'test_support_unittests_apk_target',
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000247 'type': 'none',
248 'dependencies': [
kjellander@webrtc.org0372b932014-09-03 14:34:46 +0000249 '<(apk_tests_path):test_support_unittests_apk',
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000250 ],
251 },
252 ],
253 }],
kjellander@webrtc.org33654222013-08-22 07:57:00 +0000254 ['test_isolation_mode != "noop"', {
255 'targets': [
256 {
257 'target_name': 'test_support_unittests_run',
258 'type': 'none',
259 'dependencies': [
kjellander@webrtc.org33654222013-08-22 07:57:00 +0000260 'test_support_unittests',
261 ],
262 'includes': [
kjellander@webrtc.org2a973172013-10-02 19:31:16 +0000263 '../build/isolate.gypi',
kjellander@webrtc.org33654222013-08-22 07:57:00 +0000264 ],
265 'sources': [
266 'test_support_unittests.isolate',
267 ],
268 },
269 ],
270 }],
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000271 ],
andrew@webrtc.org19eefdc2011-09-14 17:02:44 +0000272}