blob: 1fdc609b23b20e9aeda37435a7e60c576e31b8b7 [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',
20 '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
21 ],
22 'sources': [
23 'channel_transport/channel_transport.cc',
24 'channel_transport/include/channel_transport.h',
25 'channel_transport/traffic_control_win.cc',
26 'channel_transport/traffic_control_win.h',
27 'channel_transport/udp_socket_manager_posix.cc',
28 'channel_transport/udp_socket_manager_posix.h',
29 'channel_transport/udp_socket_manager_wrapper.cc',
30 'channel_transport/udp_socket_manager_wrapper.h',
31 'channel_transport/udp_socket_posix.cc',
32 'channel_transport/udp_socket_posix.h',
33 'channel_transport/udp_socket_wrapper.cc',
34 'channel_transport/udp_socket_wrapper.h',
35 'channel_transport/udp_socket2_manager_win.cc',
36 'channel_transport/udp_socket2_manager_win.h',
37 'channel_transport/udp_socket2_win.cc',
38 'channel_transport/udp_socket2_win.h',
39 'channel_transport/udp_transport.h',
40 'channel_transport/udp_transport_impl.cc',
41 'channel_transport/udp_transport_impl.h',
42 ],
43 },
44 {
andrew@webrtc.org19eefdc2011-09-14 17:02:44 +000045 'target_name': 'test_support',
46 'type': 'static_library',
kjellander@webrtc.org5b97b122011-12-08 07:42:18 +000047 'include_dirs': [
kjellander@webrtc.orgb2d74972013-01-26 16:36:40 +000048 # TODO(kjellander): Remove this by making all includes use full paths.
kjellander@webrtc.org5b97b122011-12-08 07:42:18 +000049 '.',
50 ],
andrew@webrtc.org19eefdc2011-09-14 17:02:44 +000051 'dependencies': [
andrew@webrtc.org81cf5e42012-06-27 01:41:54 +000052 '<(DEPTH)/testing/gtest.gyp:gtest',
53 '<(DEPTH)/testing/gmock.gyp:gmock',
andrew@webrtc.orgc1ffd332013-03-22 17:13:23 +000054 '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
andrew@webrtc.org19eefdc2011-09-14 17:02:44 +000055 ],
kjellander@webrtc.org1a8d08a2011-11-03 23:28:47 +000056 'all_dependent_settings': {
kjellander@webrtc.org7951e812011-10-13 12:24:41 +000057 'include_dirs': [
kjellander@webrtc.orgb2d74972013-01-26 16:36:40 +000058 # TODO(kjellander): Remove this by making all includes use full paths.
kjellander@webrtc.org7951e812011-10-13 12:24:41 +000059 '.',
60 ],
61 },
andrew@webrtc.org19eefdc2011-09-14 17:02:44 +000062 'sources': [
63 'test_suite.cc',
64 'test_suite.h',
henrike@webrtc.org34773d92013-07-08 14:55:23 +000065 'testsupport/android/root_path_android.cc',
66 'testsupport/android/root_path_android_chromium.cc',
kjellander@webrtc.org7951e812011-10-13 12:24:41 +000067 'testsupport/fileutils.cc',
andrew@webrtc.org2009f6b2012-11-20 00:20:20 +000068 'testsupport/fileutils.h',
kjellander@webrtc.org5b97b122011-12-08 07:42:18 +000069 'testsupport/frame_reader.cc',
andrew@webrtc.org2009f6b2012-11-20 00:20:20 +000070 'testsupport/frame_reader.h',
kjellander@webrtc.org5b97b122011-12-08 07:42:18 +000071 'testsupport/frame_writer.cc',
andrew@webrtc.org2009f6b2012-11-20 00:20:20 +000072 'testsupport/frame_writer.h',
kjellander@webrtc.org51198f12012-02-21 17:53:46 +000073 'testsupport/gtest_prod_util.h',
phoglund@webrtc.orgd0054682013-01-09 16:53:42 +000074 'testsupport/gtest_disable.h',
kjellander@webrtc.org5b97b122011-12-08 07:42:18 +000075 'testsupport/mock/mock_frame_reader.h',
76 'testsupport/mock/mock_frame_writer.h',
andrew@webrtc.org2009f6b2012-11-20 00:20:20 +000077 'testsupport/packet_reader.cc',
78 'testsupport/packet_reader.h',
79 'testsupport/perf_test.cc',
80 'testsupport/perf_test.h',
andrew@webrtc.orgb87cc852013-03-25 16:23:37 +000081 'testsupport/trace_to_stderr.cc',
82 'testsupport/trace_to_stderr.h',
kjellander@webrtc.org7951e812011-10-13 12:24:41 +000083 ],
henrike@webrtc.org34773d92013-07-08 14:55:23 +000084 'conditions': [
85 # TODO(henrike): remove build_with_chromium==1 when the bots are using
86 # Chromium's buildbots.
87 ['build_with_chromium==1 and OS=="android" and gtest_target_type=="shared_library"', {
88 'dependencies': [
89 '<(DEPTH)/base/base.gyp:base',
90 ],
91 'sources!': [
92 'testsupport/android/root_path_android.cc',
93 ],
94 # WebRTC tests use resource files for testing. These files are not
95 # hosted in WebRTC. The script ensures that the needed resources
96 # are downloaded. In stand alone WebRTC the script is called by
97 # the DEPS file. In Chromium, i.e. here, the files are pulled down
98 # only if tests requiring the resources are being built.
99 'actions': [
100 {
101 'action_name': 'get_resources',
102 'inputs': ['<(webrtc_root)/tools/update_resources.py'],
103 'outputs': ['../../resources'],
104 'action': ['python',
105 '<(webrtc_root)/tools/update_resources.py',
106 '-p ../../../'],
107 }],
108 }, {
109 'sources!': [
110 'testsupport/android/root_path_android_chromium.cc',
111 ],
112 }],
113 ],
kjellander@webrtc.org7951e812011-10-13 12:24:41 +0000114 },
115 {
kjellander@webrtc.org1a8d08a2011-11-03 23:28:47 +0000116 # Depend on this target when you want to have test_support but also the
117 # main method needed for gtest to execute!
118 'target_name': 'test_support_main',
119 'type': 'static_library',
120 'dependencies': [
121 'test_support',
122 ],
123 'sources': [
124 'run_all_unittests.cc',
125 ],
126 },
127 {
phoglund@webrtc.org54e22eb2012-08-08 08:27:46 +0000128 # Depend on this target when you want to have test_support and a special
129 # main for mac which will run your test on a worker thread and consume
130 # events on the main thread. Useful if you want to access a webcam.
131 # This main will provide all the scaffolding and objective-c black magic
132 # for you. All you need to do is to implement a function in the
133 # run_threaded_main_mac.h file (ImplementThisToRunYourTest).
134 'target_name': 'test_support_main_threaded_mac',
135 'type': 'static_library',
136 'dependencies': [
137 'test_support',
138 ],
139 'sources': [
140 'testsupport/mac/run_threaded_main_mac.h',
141 'testsupport/mac/run_threaded_main_mac.mm',
142 ],
143 },
144 {
kjellander@webrtc.org7951e812011-10-13 12:24:41 +0000145 'target_name': 'test_support_unittests',
146 'type': 'executable',
147 'dependencies': [
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +0000148 'channel_transport',
kjellander@webrtc.org1a8d08a2011-11-03 23:28:47 +0000149 'test_support_main',
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +0000150 '<(DEPTH)/testing/gmock.gyp:gmock',
andrew@webrtc.org81cf5e42012-06-27 01:41:54 +0000151 '<(DEPTH)/testing/gtest.gyp:gtest',
kjellander@webrtc.org7951e812011-10-13 12:24:41 +0000152 ],
kjellander@webrtc.org1a8d08a2011-11-03 23:28:47 +0000153 'sources': [
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +0000154 'channel_transport/udp_transport_unittest.cc',
155 'channel_transport/udp_socket_manager_unittest.cc',
156 'channel_transport/udp_socket_wrapper_unittest.cc',
kjellander@webrtc.org5b97b122011-12-08 07:42:18 +0000157 'testsupport/unittest_utils.h',
kjellander@webrtc.org7951e812011-10-13 12:24:41 +0000158 'testsupport/fileutils_unittest.cc',
kjellander@webrtc.org5b97b122011-12-08 07:42:18 +0000159 'testsupport/frame_reader_unittest.cc',
160 'testsupport/frame_writer_unittest.cc',
161 'testsupport/packet_reader_unittest.cc',
andrew@webrtc.org2009f6b2012-11-20 00:20:20 +0000162 'testsupport/perf_test_unittest.cc',
andrew@webrtc.org19eefdc2011-09-14 17:02:44 +0000163 ],
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +0000164 # Disable warnings to enable Win64 build, issue 1323.
165 'msvs_disabled_warnings': [
166 4267, # size_t to int truncation.
167 ],
andrew@webrtc.org19eefdc2011-09-14 17:02:44 +0000168 },
kjellander@webrtc.org3e47a0a2013-01-25 10:10:53 +0000169 {
170 'target_name': 'buildbot_tests_scripts',
171 'type': 'none',
172 'copies': [
173 {
174 'destination': '<(PRODUCT_DIR)',
175 'files': [
176 'buildbot_tests.py',
177 '<(DEPTH)/tools/e2e_quality/audio/run_audio_test.py',
178 ],
179 },
180 {
181 'destination': '<(PRODUCT_DIR)/perf',
182 'files': [
kjellander@webrtc.orgd3ecb612013-01-25 12:18:15 +0000183 '<(DEPTH)/tools/perf/__init__.py',
184 '<(DEPTH)/tools/perf/perf_utils.py',
kjellander@webrtc.org3e47a0a2013-01-25 10:10:53 +0000185 ],
186 },
187 ],
188 }, # target buildbot_tests_scripts
andrew@webrtc.org19eefdc2011-09-14 17:02:44 +0000189 ],
190}