1 # 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': [ 12 '../build/common.gypi', 13 ], 14 'targets': [ 15 { 16 '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 { 45 'target_name': 'frame_generator', 46 'type': 'static_library', 47 'sources': [ 48 'frame_generator.cc', 49 'frame_generator.h', 50 ], 51 'dependencies': [ 52 '<(webrtc_root)/common_video/common_video.gyp:common_video', 53 ], 54 }, 55 { 56 'target_name': 'rtcp_packet_parser', 57 'type': 'static_library', 58 'sources': [ 59 'rtcp_packet_parser.cc', 60 'rtcp_packet_parser.h', 61 ], 62 'dependencies': [ 63 '<(webrtc_root)/modules/modules.gyp:rtp_rtcp', 64 ], 65 }, 66 { 67 'target_name': 'field_trial', 68 'type': 'static_library', 69 'sources': [ 70 'field_trial.cc', 71 'field_trial.h', 72 ], 73 'dependencies': [ 74 '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers', 75 ], 76 }, 77 { 78 'target_name': 'test_main', 79 'type': 'static_library', 80 'sources': [ 81 'test_main.cc', 82 ], 83 'dependencies': [ 84 'field_trial', 85 '<(DEPTH)/testing/gtest.gyp:gtest', 86 '<(DEPTH)/third_party/gflags/gflags.gyp:gflags', 87 ], 88 }, 89 { 90 'target_name': 'test_support', 91 'type': 'static_library', 92 'dependencies': [ 93 '<(DEPTH)/testing/gtest.gyp:gtest', 94 '<(DEPTH)/testing/gmock.gyp:gmock', 95 '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers', 96 ], 97 'sources': [ 98 'testsupport/android/root_path_android.cc', 99 'testsupport/android/root_path_android_chromium.cc', 100 'testsupport/fileutils.cc', 101 'testsupport/fileutils.h', 102 'testsupport/frame_reader.cc', 103 'testsupport/frame_reader.h', 104 'testsupport/frame_writer.cc', 105 'testsupport/frame_writer.h', 106 'testsupport/gtest_prod_util.h', 107 'testsupport/gtest_disable.h', 108 'testsupport/mock/mock_frame_reader.h', 109 'testsupport/mock/mock_frame_writer.h', 110 'testsupport/packet_reader.cc', 111 'testsupport/packet_reader.h', 112 'testsupport/perf_test.cc', 113 'testsupport/perf_test.h', 114 'testsupport/trace_to_stderr.cc', 115 'testsupport/trace_to_stderr.h', 116 ], 117 'conditions': [ 118 ['OS=="android"', { 119 'dependencies': [ 120 '<(DEPTH)/base/base.gyp:base', 121 ], 122 'sources!': [ 123 'testsupport/android/root_path_android.cc', 124 ], 125 }, { 126 'sources!': [ 127 'testsupport/android/root_path_android_chromium.cc', 128 ], 129 }], 130 ], 131 }, 132 { 133 # Depend on this target when you want to have test_support but also the 134 # main method needed for gtest to execute! 135 'target_name': 'test_support_main', 136 'type': 'static_library', 137 'dependencies': [ 138 'field_trial', 139 'test_support', 140 '<(DEPTH)/testing/gmock.gyp:gmock', 141 '<(DEPTH)/testing/gtest.gyp:gtest', 142 '<(DEPTH)/third_party/gflags/gflags.gyp:gflags', 143 ], 144 'sources': [ 145 'run_all_unittests.cc', 146 'test_suite.cc', 147 'test_suite.h', 148 ], 149 }, 150 { 151 # Depend on this target when you want to have test_support and a special 152 # main for mac which will run your test on a worker thread and consume 153 # events on the main thread. Useful if you want to access a webcam. 154 # This main will provide all the scaffolding and objective-c black magic 155 # for you. All you need to do is to implement a function in the 156 # run_threaded_main_mac.h file (ImplementThisToRunYourTest). 157 'target_name': 'test_support_main_threaded_mac', 158 'type': 'static_library', 159 'dependencies': [ 160 'test_support', 161 ], 162 'sources': [ 163 'testsupport/mac/run_threaded_main_mac.h', 164 'testsupport/mac/run_threaded_main_mac.mm', 165 ], 166 }, 167 { 168 'target_name': 'test_support_unittests', 169 'type': '<(gtest_target_type)', 170 'dependencies': [ 171 'channel_transport', 172 'test_support_main', 173 '<(DEPTH)/testing/gmock.gyp:gmock', 174 '<(DEPTH)/testing/gtest.gyp:gtest', 175 ], 176 'sources': [ 177 'channel_transport/udp_transport_unittest.cc', 178 'channel_transport/udp_socket_manager_unittest.cc', 179 'channel_transport/udp_socket_wrapper_unittest.cc', 180 'testsupport/always_passing_unittest.cc', 181 'testsupport/unittest_utils.h', 182 'testsupport/fileutils_unittest.cc', 183 'testsupport/frame_reader_unittest.cc', 184 'testsupport/frame_writer_unittest.cc', 185 'testsupport/packet_reader_unittest.cc', 186 'testsupport/perf_test_unittest.cc', 187 ], 188 # Disable warnings to enable Win64 build, issue 1323. 189 'msvs_disabled_warnings': [ 190 4267, # size_t to int truncation. 191 ], 192 'conditions': [ 193 ['OS=="android"', { 194 'dependencies': [ 195 '<(DEPTH)/testing/android/native_test.gyp:native_test_native_code', 196 ], 197 }], 198 ], 199 }, 200 ], 201 'conditions': [ 202 ['include_tests==1 and OS=="android"', { 203 'targets': [ 204 { 205 'target_name': 'test_support_unittests_apk_target', 206 'type': 'none', 207 'dependencies': [ 208 '<(apk_tests_path):test_support_unittests_apk', 209 ], 210 }, 211 ], 212 }], 213 ['test_isolation_mode != "noop"', { 214 'targets': [ 215 { 216 'target_name': 'test_support_unittests_run', 217 'type': 'none', 218 'dependencies': [ 219 'test_support_unittests', 220 ], 221 'includes': [ 222 '../build/isolate.gypi', 223 'test_support_unittests.isolate', 224 ], 225 'sources': [ 226 'test_support_unittests.isolate', 227 ], 228 }, 229 ], 230 }], 231 ], 232 } 233