blob: 2fe70bbd01d43081a8411710cd4231c4b22b3d6f [file] [log] [blame]
[email protected]7603bbd12013-08-13 17:33:371# Copyright (c) 2012 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
qsrfb5251d12015-01-21 15:57:225import("//testing/test.gni")
6
[email protected]7603bbd12013-08-13 17:33:377component("ipc") {
8 sources = [
erikchende9412b82015-07-27 18:26:149 "attachment_broker.cc",
erikchen151b2f92015-06-16 20:20:5110 "attachment_broker.h",
erikcheneece6c32015-07-07 22:13:1111 "attachment_broker_messages.h",
erikchen484c00842015-07-28 23:25:4412 "attachment_broker_privileged.cc",
13 "attachment_broker_privileged.h",
erikchenc04ab34c2015-07-27 20:28:2014 "attachment_broker_privileged_win.cc",
15 "attachment_broker_privileged_win.h",
erikchen484c00842015-07-28 23:25:4416 "attachment_broker_unprivileged.cc",
17 "attachment_broker_unprivileged.h",
18 "attachment_broker_unprivileged_win.cc",
19 "attachment_broker_unprivileged_win.h",
erikchen151b2f92015-06-16 20:20:5120 "brokerable_attachment.cc",
21 "brokerable_attachment.h",
erikcheneece6c32015-07-07 22:13:1122 "handle_attachment_win.cc",
erikchen151b2f92015-06-16 20:20:5123 "handle_attachment_win.h",
erikchen959039d2015-08-11 21:17:4724 "handle_win.cc",
25 "handle_win.h",
[email protected]7603bbd12013-08-13 17:33:3726 "ipc_channel.cc",
27 "ipc_channel.h",
scottmg7c7296f42015-02-28 02:23:0928 "ipc_channel_common.cc",
[email protected]64860882014-08-04 23:44:1729 "ipc_channel_factory.cc",
30 "ipc_channel_factory.h",
[email protected]7603bbd12013-08-13 17:33:3731 "ipc_channel_handle.h",
32 "ipc_channel_nacl.cc",
33 "ipc_channel_nacl.h",
34 "ipc_channel_posix.cc",
35 "ipc_channel_posix.h",
36 "ipc_channel_proxy.cc",
37 "ipc_channel_proxy.h",
38 "ipc_channel_reader.cc",
39 "ipc_channel_reader.h",
40 "ipc_channel_win.cc",
41 "ipc_channel_win.h",
42 "ipc_descriptors.h",
erikchena09b9be72015-08-10 19:22:3343 "ipc_endpoint.cc",
44 "ipc_endpoint.h",
[email protected]7603bbd12013-08-13 17:33:3745 "ipc_export.h",
erikcheneece6c32015-07-07 22:13:1146 "ipc_handle_win.cc",
47 "ipc_handle_win.h",
[email protected]7603bbd12013-08-13 17:33:3748 "ipc_listener.h",
49 "ipc_logging.cc",
50 "ipc_logging.h",
51 "ipc_message.cc",
52 "ipc_message.h",
morrita98b7aaa2015-01-26 22:42:5453 "ipc_message_attachment.cc",
54 "ipc_message_attachment.h",
morrita4b5c28e22015-01-14 21:17:0655 "ipc_message_attachment_set.cc",
56 "ipc_message_attachment_set.h",
erikcheneece6c32015-07-07 22:13:1157 "ipc_message_generator.cc",
58 "ipc_message_generator.h",
[email protected]7603bbd12013-08-13 17:33:3759 "ipc_message_macros.h",
60 "ipc_message_start.h",
61 "ipc_message_utils.cc",
62 "ipc_message_utils.h",
63 "ipc_param_traits.h",
64 "ipc_platform_file.cc",
65 "ipc_platform_file.h",
morrita1aa788c2015-01-31 05:45:4266 "ipc_platform_file_attachment_posix.cc",
67 "ipc_platform_file_attachment_posix.h",
[email protected]7603bbd12013-08-13 17:33:3768 "ipc_sender.h",
69 "ipc_switches.cc",
70 "ipc_switches.h",
71 "ipc_sync_channel.cc",
72 "ipc_sync_channel.h",
73 "ipc_sync_message.cc",
74 "ipc_sync_message.h",
75 "ipc_sync_message_filter.cc",
76 "ipc_sync_message_filter.h",
[email protected]74122042014-04-25 00:07:3077 "message_filter.cc",
78 "message_filter.h",
79 "message_filter_router.cc",
80 "message_filter_router.h",
[email protected]7603bbd12013-08-13 17:33:3781 "param_traits_log_macros.h",
82 "param_traits_macros.h",
83 "param_traits_read_macros.h",
84 "param_traits_write_macros.h",
85 "struct_constructor_macros.h",
86 "struct_destructor_macros.h",
87 "unix_domain_socket_util.cc",
88 "unix_domain_socket_util.h",
89 ]
90
dpranke6065cf72015-02-26 03:30:5891 if (is_nacl) {
92 sources -= [
93 "ipc_channel.cc",
94 "ipc_channel_posix.cc",
95 "unix_domain_socket_util.cc",
96 ]
97 } else {
[email protected]7603bbd12013-08-13 17:33:3798 sources -= [
99 "ipc_channel_nacl.cc",
100 "ipc_channel_nacl.h",
101 ]
[email protected]517d5282014-04-02 17:03:30102 }
[email protected]7603bbd12013-08-13 17:33:37103
104 if (is_win || is_ios) {
scottmg34fb7e52014-12-03 23:27:24105 sources -= [ "unix_domain_socket_util.cc" ]
[email protected]7603bbd12013-08-13 17:33:37106 }
107
108 defines = [ "IPC_IMPLEMENTATION" ]
109
110 deps = [
111 "//base",
scottmg34fb7e52014-12-03 23:27:24112
[email protected]7603bbd12013-08-13 17:33:37113 # TODO(viettrungluu): Needed for base/lazy_instance.h, which is suspect.
114 "//base/third_party/dynamic_annotations",
erikcheneece6c32015-07-07 22:13:11115 "//crypto:crypto",
[email protected]7603bbd12013-08-13 17:33:37116 ]
117}
118
dpranke6065cf72015-02-26 03:30:58119# TODO(GYP): crbug.com/360936. Get this to build and run on Android.
[email protected]5a8d5162014-04-12 01:19:16120if (!is_android) {
dpranke177c1e22015-07-22 23:07:43121 group("ipc_tests_run") {
122 testonly = true
123 deps = [
124 ":ipc_tests",
125 ]
126 }
127
[email protected]5a8d5162014-04-12 01:19:16128 test("ipc_tests") {
129 sources = [
erikchenc04ab34c2015-07-27 20:28:20130 "attachment_broker_privileged_win_unittest.cc",
erikchen484c00842015-07-28 23:25:44131 "attachment_broker_unprivileged_win_unittest.cc",
[email protected]5a8d5162014-04-12 01:19:16132 "ipc_channel_posix_unittest.cc",
erikchende9412b82015-07-27 18:26:14133 "ipc_channel_reader_unittest.cc",
[email protected]5a8d5162014-04-12 01:19:16134 "ipc_channel_unittest.cc",
135 "ipc_fuzzing_tests.cc",
morrita4b5c28e22015-01-14 21:17:06136 "ipc_message_attachment_set_posix_unittest.cc",
[email protected]5a8d5162014-04-12 01:19:16137 "ipc_message_unittest.cc",
138 "ipc_message_utils_unittest.cc",
139 "ipc_send_fds_test.cc",
140 "ipc_sync_channel_unittest.cc",
141 "ipc_sync_message_unittest.cc",
142 "ipc_sync_message_unittest.h",
[email protected]5a8d5162014-04-12 01:19:16143 "sync_socket_unittest.cc",
144 "unix_domain_socket_util_unittest.cc",
145 ]
[email protected]7603bbd12013-08-13 17:33:37146
[email protected]5a8d5162014-04-12 01:19:16147 if (is_win || is_ios) {
148 sources -= [ "unix_domain_socket_util_unittest.cc" ]
149 }
150
151 # TODO(brettw) hook up Android testing.
152 #if (is_android && gtest_target_type == "shared_library") {
153 # deps += "/testing/android/native_test.gyp:native_testNative_code"
154 #}
155
156 # TODO(brettw) hook up tcmalloc to this target.
157 #if (is_posix && !is_mac && !is_android) {
[email protected]2fa89ef2014-05-07 18:45:59158 # if (use_allocator!="none") {
[email protected]5a8d5162014-04-12 01:19:16159 # deps += "/base/allocator"
160 # }
161 #}
162
163 deps = [
164 ":ipc",
[email protected]df82b4f52014-07-23 20:21:50165 ":test_support",
[email protected]5a8d5162014-04-12 01:19:16166 "//base",
167 "//base:i18n",
168 "//base/test:run_all_unittests",
169 "//base/test:test_support",
170 "//testing/gtest",
171 ]
[email protected]7603bbd12013-08-13 17:33:37172 }
[email protected]517d5282014-04-02 17:03:30173
[email protected]5a8d5162014-04-12 01:19:16174 test("ipc_perftests") {
175 sources = [
176 "ipc_perftests.cc",
[email protected]5a8d5162014-04-12 01:19:16177 ]
[email protected]517d5282014-04-02 17:03:30178
[email protected]5a8d5162014-04-12 01:19:16179 # TODO(brettw) hook up Android testing.
180 #if (is_android && gtest_target_type == "shared_library") {
181 # deps += "/testing/android/native_test.gyp:native_testNative_code"
182 #}
[email protected]7603bbd12013-08-13 17:33:37183
[email protected]5a8d5162014-04-12 01:19:16184 # TODO(brettw) hook up tcmalloc to this target.
185 #if (is_posix && !is_mac && !is_android) {
[email protected]2fa89ef2014-05-07 18:45:59186 # if (use_allocator!="none") {
[email protected]5a8d5162014-04-12 01:19:16187 # deps += "//base/allocator"
188 # }
189 #}
[email protected]5a8d5162014-04-12 01:19:16190 deps = [
191 ":ipc",
[email protected]df82b4f52014-07-23 20:21:50192 ":test_support",
[email protected]5a8d5162014-04-12 01:19:16193 "//base",
194 "//base:i18n",
195 "//base/test:test_support",
196 "//base/test:test_support_perf",
197 "//testing/gtest",
198 ]
199 }
[email protected]7603bbd12013-08-13 17:33:37200}
201
[email protected]df82b4f52014-07-23 20:21:50202static_library("test_support") {
Brett Wilson0c8745a2014-09-08 22:59:49203 testonly = true
[email protected]7603bbd12013-08-13 17:33:37204 sources = [
205 "ipc_multiprocess_test.cc",
206 "ipc_multiprocess_test.h",
morrita373af03b2014-09-09 19:35:24207 "ipc_perftest_support.cc",
208 "ipc_perftest_support.h",
brettw013b729f2015-01-12 08:03:47209 "ipc_security_test_util.cc",
210 "ipc_security_test_util.h",
[email protected]64860882014-08-04 23:44:17211 "ipc_test_base.cc",
212 "ipc_test_base.h",
[email protected]64860882014-08-04 23:44:17213 "ipc_test_channel_listener.cc",
brettw013b729f2015-01-12 08:03:47214 "ipc_test_channel_listener.h",
215 "ipc_test_sink.cc",
216 "ipc_test_sink.h",
[email protected]7603bbd12013-08-13 17:33:37217 ]
218 deps = [
219 ":ipc",
220 "//base",
brettwe75311d2015-02-17 23:56:46221 "//base/test:test_support",
[email protected]23e197d2013-12-31 12:14:01222 "//testing/gtest",
[email protected]7603bbd12013-08-13 17:33:37223 ]
224}