blob: 14539c59333643281f8a12fa85210bc25abc4310 [file] [log] [blame]
Wyatt Hepler01145c92021-02-05 09:07:12 -08001# Copyright 2021 The Pigweed Authors
Alexei Frolov26e3ae62020-05-04 17:06:17 -07002#
3# Licensed under the Apache License, Version 2.0 (the "License"); you may not
4# use this file except in compliance with the License. You may obtain a copy of
5# the License at
6#
7# https://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12# License for the specific language governing permissions and limitations under
13# the License.
14
Armando Montanezfb3d3fb2020-06-09 18:12:12 -070015import("//build_overrides/pigweed.gni")
16
Alexei Frolovbf33d212020-09-15 17:13:45 -070017import("$dir_pw_bloat/bloat.gni")
Wyatt Hepler91741472021-02-03 08:45:10 -080018import("$dir_pw_build/python.gni")
Wyatt Hepler438caa02021-01-15 17:13:11 -080019import("$dir_pw_build/python_action.gni")
Alexei Frolovedd2f142020-06-09 19:11:27 -070020import("$dir_pw_build/target_types.gni")
Alexei Frolov26e3ae62020-05-04 17:06:17 -070021import("$dir_pw_docgen/docs.gni")
Alexei Frolov5d6d3922020-05-08 13:57:02 -070022import("$dir_pw_protobuf_compiler/proto.gni")
Wyatt Heplerfb4453f2021-11-10 08:56:17 -080023import("$dir_pw_sync/backend.gni")
Alexei Frolovbf33d212020-09-15 17:13:45 -070024import("$dir_pw_third_party/nanopb/nanopb.gni")
Alexei Frolov26e3ae62020-05-04 17:06:17 -070025import("$dir_pw_unit_test/test.gni")
Wyatt Heplerc8bdc7d2021-10-20 09:29:01 -070026import("config.gni")
Wyatt Hepler82db4b12021-09-23 09:10:12 -070027import("internal/integration_test_ports.gni")
Wyatt Heplerd49f8fe2020-10-15 10:13:47 -070028
Wyatt Heplerdb5a7cc2020-11-25 10:53:25 -080029config("public_include_path") {
Alexei Frolov26e3ae62020-05-04 17:06:17 -070030 include_dirs = [ "public" ]
Wyatt Hepler80f26ff2020-06-01 09:30:17 -070031 visibility = [ ":*" ]
Alexei Frolov26e3ae62020-05-04 17:06:17 -070032}
33
Wyatt Heplerfb4453f2021-11-10 08:56:17 -080034config("global_mutex_config") {
Wyatt Heplerc8bdc7d2021-10-20 09:29:01 -070035 defines = [ "PW_RPC_USE_GLOBAL_MUTEX=1" ]
36 visibility = [ ":*" ]
37}
38
Wyatt Heplerfb4453f2021-11-10 08:56:17 -080039# Set pw_rpc_CONFIG to this to enable the global mutex. If additional options
40# are needed, a config target that sets those can depend on this.
41group("use_global_mutex") {
42 public_configs = [ ":global_mutex_config" ]
43}
44
Wyatt Heplerdb5a7cc2020-11-25 10:53:25 -080045pw_source_set("config") {
46 sources = [ "public/pw_rpc/internal/config.h" ]
47 public_configs = [ ":public_include_path" ]
48 public_deps = [ pw_rpc_CONFIG ]
49 visibility = [ "./*" ]
50 friend = [ "./*" ]
51}
52
Ewout van Bekkum7f5b3052021-11-11 17:35:23 -080053pw_source_set("log_config") {
54 sources = [ "public/pw_rpc/internal/log_config.h" ]
55 public_configs = [ ":public_include_path" ]
56 public_deps = [ ":config" ]
57 visibility = [ "./*" ]
58 friend = [ "./*" ]
59}
60
Wyatt Heplercbd09c22020-09-15 11:17:24 -070061pw_source_set("server") {
Wyatt Heplerdb5a7cc2020-11-25 10:53:25 -080062 public_configs = [ ":public_include_path" ]
Wyatt Hepler82db4b12021-09-23 09:10:12 -070063 public_deps = [ ":common" ]
Ewout van Bekkum7f5b3052021-11-11 17:35:23 -080064 deps = [
65 ":log_config",
66 dir_pw_log,
67 ]
Wyatt Heplerd1591422020-09-15 10:04:41 -070068 public = [
Wyatt Heplercbd09c22020-09-15 11:17:24 -070069 "public/pw_rpc/server.h",
Wyatt Heplerd1591422020-09-15 10:04:41 -070070 "public/pw_rpc/service.h",
71 ]
Alexei Frolov5d6d3922020-05-08 13:57:02 -070072 sources = [
Wyatt Hepler1532e522020-07-30 11:44:58 -070073 "public/pw_rpc/internal/hash.h",
Wyatt Heplercbd09c22020-09-15 11:17:24 -070074 "public/pw_rpc/internal/method.h",
Wyatt Heplerafd29142020-11-23 07:58:59 -080075 "public/pw_rpc/internal/method_lookup.h",
Alexei Frolova4d71502020-10-14 12:43:14 -070076 "public/pw_rpc/internal/method_union.h",
Wyatt Hepler1d000cc2021-10-20 11:05:06 -070077 "public/pw_rpc/internal/server_call.h",
Wyatt Heplercbd09c22020-09-15 11:17:24 -070078 "server.cc",
Wyatt Hepler1d000cc2021-10-20 11:05:06 -070079 "server_call.cc",
Wyatt Heplercbd09c22020-09-15 11:17:24 -070080 "service.cc",
Alexei Frolov5d6d3922020-05-08 13:57:02 -070081 ]
Wyatt Hepler948f5472020-06-02 16:52:28 -070082 friend = [ "./*" ]
Wyatt Hepler82db4b12021-09-23 09:10:12 -070083 allow_circular_includes_from = [ ":common" ]
Wyatt Hepler948f5472020-06-02 16:52:28 -070084}
85
Alexei Frolov4d2adde2020-08-04 10:19:24 -070086pw_source_set("client") {
Wyatt Heplerdb5a7cc2020-11-25 10:53:25 -080087 public_configs = [ ":public_include_path" ]
Alexei Frolov73687fb2021-09-03 11:22:33 -070088 public_deps = [
89 ":common",
90 dir_pw_result,
91 ]
Ewout van Bekkum7f5b3052021-11-11 17:35:23 -080092 deps = [
93 ":log_config",
94 dir_pw_log,
95 ]
Alexei Frolov4d2adde2020-08-04 10:19:24 -070096 public = [
97 "public/pw_rpc/client.h",
Wyatt Hepler1d000cc2021-10-20 11:05:06 -070098 "public/pw_rpc/internal/client_call.h",
Wyatt Heplerd2496322021-09-10 17:22:14 -070099 "public/pw_rpc/internal/service_client.h",
Alexei Frolov4d2adde2020-08-04 10:19:24 -0700100 ]
Wyatt Hepler1d000cc2021-10-20 11:05:06 -0700101 sources = [
102 "client.cc",
103 "client_call.cc",
104 ]
Wyatt Hepler82db4b12021-09-23 09:10:12 -0700105 allow_circular_includes_from = [ ":common" ]
Alexei Frolov4d2adde2020-08-04 10:19:24 -0700106}
107
Alexei Frolov3e280922021-04-12 14:53:06 -0700108pw_source_set("client_server") {
109 public_configs = [ ":public_include_path" ]
110 public_deps = [
111 ":client",
112 ":server",
113 ]
114 public = [ "public/pw_rpc/client_server.h" ]
115 sources = [ "client_server.cc" ]
116}
117
Alexei Frolov4d2adde2020-08-04 10:19:24 -0700118# Classes shared by the server and client.
119pw_source_set("common") {
Wyatt Heplerdb5a7cc2020-11-25 10:53:25 -0800120 public_configs = [ ":public_include_path" ]
Alexei Frolov4d2adde2020-08-04 10:19:24 -0700121 public_deps = [
Wyatt Hepler82db4b12021-09-23 09:10:12 -0700122 ":config",
Alexei Frolov8e30d462020-10-22 13:54:36 -0700123 ":protos.pwpb",
Alexei Frolov4d2adde2020-08-04 10:19:24 -0700124 "$dir_pw_containers:intrusive_list",
Wyatt Heplerc8bdc7d2021-10-20 09:29:01 -0700125 "$dir_pw_sync:lock_annotations",
Alexei Frolov4d2adde2020-08-04 10:19:24 -0700126 dir_pw_assert,
127 dir_pw_bytes,
Wyatt Hepler01fc15b2021-06-10 18:15:59 -0700128 dir_pw_function,
Alexei Frolov4d2adde2020-08-04 10:19:24 -0700129 dir_pw_status,
130 ]
Wyatt Heplerc8bdc7d2021-10-20 09:29:01 -0700131
Wyatt Heplerfb4453f2021-11-10 08:56:17 -0800132 if (pw_sync_MUTEX_BACKEND != "") {
Wyatt Heplerc8bdc7d2021-10-20 09:29:01 -0700133 public_deps += [ "$dir_pw_sync:mutex" ]
134 }
135
Ewout van Bekkum7f5b3052021-11-11 17:35:23 -0800136 deps = [
137 ":log_config",
138 dir_pw_log,
139 ]
Wyatt Hepler14439762021-11-09 09:16:32 -0800140 public = [
141 "public/pw_rpc/channel.h",
142 "public/pw_rpc/writer.h",
143 ]
Alexei Frolov4d2adde2020-08-04 10:19:24 -0700144 sources = [
Wyatt Hepler82db4b12021-09-23 09:10:12 -0700145 "call.cc",
Alexei Frolov4d2adde2020-08-04 10:19:24 -0700146 "channel.cc",
Wyatt Hepler3d57eaa2022-02-01 18:31:07 -0800147 "channel_list.cc",
Wyatt Hepler82db4b12021-09-23 09:10:12 -0700148 "endpoint.cc",
Alexei Frolov4d2adde2020-08-04 10:19:24 -0700149 "packet.cc",
Wyatt Hepler82db4b12021-09-23 09:10:12 -0700150 "public/pw_rpc/internal/call.h",
151 "public/pw_rpc/internal/call_context.h",
Alexei Frolov4d2adde2020-08-04 10:19:24 -0700152 "public/pw_rpc/internal/channel.h",
Wyatt Hepler3d57eaa2022-02-01 18:31:07 -0800153 "public/pw_rpc/internal/channel_list.h",
Wyatt Hepler82db4b12021-09-23 09:10:12 -0700154 "public/pw_rpc/internal/endpoint.h",
Wyatt Heplerc8bdc7d2021-10-20 09:29:01 -0700155 "public/pw_rpc/internal/lock.h",
Wyatt Hepler32a60862021-09-14 15:16:52 -0700156 "public/pw_rpc/internal/method_info.h",
Alexei Frolov4d2adde2020-08-04 10:19:24 -0700157 "public/pw_rpc/internal/packet.h",
Wyatt Hepler1a4478b2021-08-12 16:26:41 -0700158 "public/pw_rpc/method_type.h",
Alexei Frolov4d2adde2020-08-04 10:19:24 -0700159 ]
160 friend = [ "./*" ]
161}
162
Wyatt Hepler31b16ea2021-07-21 08:52:02 -0700163pw_source_set("benchmark") {
164 public_configs = [ ":public_include_path" ]
165 public_deps = [ ":protos.raw_rpc" ]
166 public = [ "public/pw_rpc/benchmark.h" ]
167 sources = [ "benchmark.cc" ]
168}
169
Wyatt Hepler82db4b12021-09-23 09:10:12 -0700170pw_source_set("fake_channel_output") {
171 public = [
172 "public/pw_rpc/internal/fake_channel_output.h",
173 "public/pw_rpc/payloads_view.h",
174 ]
175 sources = [ "fake_channel_output.cc" ]
176 public_configs = [ ":public_include_path" ]
177 public_deps = [
178 ":common",
179 "$dir_pw_containers:filtered_view",
180 "$dir_pw_containers:vector",
181 "$dir_pw_containers:wrapped_iterator",
Wyatt Hepler9c7e57d2022-02-08 09:50:02 -0800182 "$dir_pw_sync:mutex",
Wyatt Hepler82db4b12021-09-23 09:10:12 -0700183 dir_pw_assert,
184 dir_pw_bytes,
Wyatt Hepler9c7e57d2022-02-08 09:50:02 -0800185 dir_pw_function,
Wyatt Hepler82db4b12021-09-23 09:10:12 -0700186 ]
Ewout van Bekkum7f5b3052021-11-11 17:35:23 -0800187 deps = [ ":log_config" ]
Wyatt Hepler82db4b12021-09-23 09:10:12 -0700188 visibility = [ "./*" ]
189}
190
Wyatt Hepler9c7e57d2022-02-08 09:50:02 -0800191pw_source_set("thread_testing") {
192 public = [ "public/pw_rpc/thread_testing.h" ]
Wyatt Hepler5715ba82022-02-08 19:09:05 -0800193 public_deps = [
194 ":fake_channel_output",
195 "$dir_pw_sync:counting_semaphore",
196 dir_pw_assert,
197 ]
Wyatt Hepler9c7e57d2022-02-08 09:50:02 -0800198}
199
Wyatt Heplercbd09c22020-09-15 11:17:24 -0700200pw_source_set("test_utils") {
201 public = [
Wyatt Heplerfa6edcc2021-08-20 08:30:08 -0700202 "public/pw_rpc/internal/fake_channel_output.h",
203 "public/pw_rpc/internal/method_impl_tester.h",
Wyatt Hepler32a60862021-09-14 15:16:52 -0700204 "public/pw_rpc/internal/method_info_tester.h",
Wyatt Heplercbd09c22020-09-15 11:17:24 -0700205 "public/pw_rpc/internal/test_method.h",
Wyatt Hepler07e3ba02021-07-02 00:54:13 -0700206 "public/pw_rpc/internal/test_method_context.h",
Wyatt Heplerfa6edcc2021-08-20 08:30:08 -0700207 "public/pw_rpc/internal/test_utils.h",
Wyatt Hepler01fc15b2021-06-10 18:15:59 -0700208 "pw_rpc_private/fake_server_reader_writer.h",
Wyatt Heplercbd09c22020-09-15 11:17:24 -0700209 ]
Wyatt Heplerfa6edcc2021-08-20 08:30:08 -0700210 public_configs = [ ":public_include_path" ]
Wyatt Heplercbd09c22020-09-15 11:17:24 -0700211 public_deps = [
Alexei Frolov4d2adde2020-08-04 10:19:24 -0700212 ":client",
Wyatt Heplercbd09c22020-09-15 11:17:24 -0700213 ":server",
Wyatt Heplerb5aeefc2021-09-23 18:50:12 -0700214 "$dir_pw_containers:vector",
Wyatt Hepler32a2b672022-01-28 16:58:40 -0800215 "raw:fake_channel_output",
216 "raw:server_api",
Wyatt Hepler5ba80642021-06-18 12:56:17 -0700217 dir_pw_assert,
218 dir_pw_bytes,
Wyatt Heplercbd09c22020-09-15 11:17:24 -0700219 ]
220 visibility = [ "./*" ]
221}
222
Wyatt Hepler1215a9d2021-11-10 08:55:47 -0800223pw_source_set("integration_testing") {
224 public = [
225 "public/pw_rpc/integration_test_socket_client.h",
226 "public/pw_rpc/integration_testing.h",
227 ]
228 sources = [ "integration_testing.cc" ]
229 public_deps = [
230 ":client",
231 "$dir_pw_hdlc:pw_rpc",
232 "$dir_pw_hdlc:rpc_channel_output",
233 "$dir_pw_stream:socket_stream",
234 "$dir_pw_unit_test:logging_event_handler",
235 dir_pw_assert,
236 dir_pw_unit_test,
237 ]
238 deps = [ dir_pw_log ]
239}
240
Wyatt Heplere04d4682021-07-21 08:52:28 -0700241pw_executable("test_rpc_server") {
242 sources = [ "test_rpc_server.cc" ]
243 deps = [
244 ":benchmark",
Ewout van Bekkum7f5b3052021-11-11 17:35:23 -0800245 ":log_config",
Wyatt Heplere04d4682021-07-21 08:52:28 -0700246 "system_server",
247 "system_server:socket",
248 dir_pw_log,
249 ]
250}
251
Wyatt Hepler82db4b12021-09-23 09:10:12 -0700252pw_executable("client_integration_test") {
253 sources = [ "client_integration_test.cc" ]
254 deps = [
255 ":client",
Wyatt Hepler1215a9d2021-11-10 08:55:47 -0800256 ":integration_testing",
Wyatt Hepler82db4b12021-09-23 09:10:12 -0700257 ":protos.raw_rpc",
Wyatt Hepler82db4b12021-09-23 09:10:12 -0700258 "$dir_pw_sync:binary_semaphore",
Wyatt Hepler82db4b12021-09-23 09:10:12 -0700259 dir_pw_log,
260 dir_pw_unit_test,
261 ]
Wyatt Hepler9bbe9da2021-10-19 09:27:32 -0700262
263 if (dir_pw_third_party_nanopb != "") {
264 deps += [ "nanopb:client_integration_test" ]
265 }
Wyatt Hepler82db4b12021-09-23 09:10:12 -0700266}
267
268pw_python_action("cpp_client_server_integration_test") {
269 script = "py/pw_rpc/testing.py"
270 args = [
Wyatt Hepler1215a9d2021-11-10 08:55:47 -0800271 "--server",
Wyatt Hepler82db4b12021-09-23 09:10:12 -0700272 "<TARGET_FILE(:test_rpc_server)>",
Wyatt Hepler1215a9d2021-11-10 08:55:47 -0800273 "--client",
Wyatt Hepler82db4b12021-09-23 09:10:12 -0700274 "<TARGET_FILE(:client_integration_test)>",
Wyatt Hepler1215a9d2021-11-10 08:55:47 -0800275 "--",
Wyatt Hepler82db4b12021-09-23 09:10:12 -0700276 "$pw_rpc_CPP_CLIENT_INTEGRATION_TEST_PORT",
277 ]
278 deps = [
279 ":client_integration_test",
280 ":test_rpc_server",
281 ]
282
283 stamp = true
284}
285
Alexei Frolov5d6d3922020-05-08 13:57:02 -0700286pw_proto_library("protos") {
Wyatt Hepler91741472021-02-03 08:45:10 -0800287 sources = [
Wyatt Hepler31b16ea2021-07-21 08:52:02 -0700288 "benchmark.proto",
Wyatt Hepler752d7d32021-03-02 09:02:23 -0800289 "echo.proto",
290 "internal/packet.proto",
Wyatt Hepler91741472021-02-03 08:45:10 -0800291 ]
Wyatt Hepler9bbe9da2021-10-19 09:27:32 -0700292 inputs = [
293 "echo.options",
294 "benchmark.options",
295 ]
Wyatt Hepler31b16ea2021-07-21 08:52:02 -0700296 deps = [ "$dir_pw_protobuf:common_protos" ]
Wyatt Heplerba325e42021-03-08 14:23:34 -0800297 python_package = "py"
298 prefix = "pw_rpc"
Alexei Frolov26e3ae62020-05-04 17:06:17 -0700299}
300
301pw_doc_group("docs") {
Wyatt Hepler31b16ea2021-07-21 08:52:02 -0700302 sources = [
303 "benchmark.rst",
304 "docs.rst",
305 ]
Alexei Frolov7c7a3862020-07-16 15:36:02 -0700306 inputs = [
Wyatt Hepler31b16ea2021-07-21 08:52:02 -0700307 "benchmark.proto",
Wyatt Hepler752d7d32021-03-02 09:02:23 -0800308 "echo.proto",
309 "internal/packet.proto",
Wyatt Hepler1d221242021-09-07 15:42:21 -0700310 "unary_rpc.svg",
311 "unary_rpc_cancelled.svg",
312 "server_streaming_rpc.svg",
313 "server_streaming_rpc_cancelled.svg",
314 "client_streaming_rpc.svg",
315 "client_streaming_rpc_cancelled.svg",
316 "bidirectional_streaming_rpc.svg",
317 "bidirectional_streaming_rpc_cancelled.svg",
318 "request_packets.svg",
319 "response_packets.svg",
Alexei Frolov7c7a3862020-07-16 15:36:02 -0700320 ]
Wyatt Hepler830d26d2021-02-17 09:07:43 -0800321 group_deps = [
322 "nanopb:docs",
323 "py:docs",
Jared Weinsteind4649112021-08-19 12:27:23 -0700324 "ts:docs",
Wyatt Hepler830d26d2021-02-17 09:07:43 -0800325 ]
Alexei Frolovbf33d212020-09-15 17:13:45 -0700326 report_deps = [ ":server_size" ]
327}
328
329pw_size_report("server_size") {
330 title = "Pigweed RPC server size report"
331
332 binaries = [
333 {
334 target = "size_report:server_only"
335 base = "size_report:base"
336 label = "Server by itself"
337 },
338 ]
339
340 if (dir_pw_third_party_nanopb != "") {
341 binaries += [
342 {
343 target = "size_report:server_with_echo_service"
344 base = "size_report:base_with_nanopb"
345 label = "Server with a registered nanopb EchoService"
346 },
347 ]
348 }
Alexei Frolov26e3ae62020-05-04 17:06:17 -0700349}
350
351pw_test_group("tests") {
Alexei Frolov5d6d3922020-05-08 13:57:02 -0700352 tests = [
Wyatt Heplerc8bdc7d2021-10-20 09:29:01 -0700353 ":call_test",
Wyatt Hepler671946e2020-06-09 14:39:33 -0700354 ":channel_test",
Alexei Frolov3e280922021-04-12 14:53:06 -0700355 ":client_server_test",
Carlos Chinchilla54891ae2021-09-22 11:26:43 -0700356 ":fake_channel_output_test",
Wyatt Hepler1a4478b2021-08-12 16:26:41 -0700357 ":method_test",
Wyatt Hepler541a1902020-10-12 08:09:47 -0700358 ":ids_test",
Alexei Frolov5d6d3922020-05-08 13:57:02 -0700359 ":packet_test",
360 ":server_test",
Wyatt Heplerd1591422020-09-15 10:04:41 -0700361 ":service_test",
Alexei Frolov5d6d3922020-05-08 13:57:02 -0700362 ]
Alexei Frolovb7059712020-10-07 10:02:00 -0700363 group_deps = [
364 "nanopb:tests",
365 "raw:tests",
366 ]
Alexei Frolov26e3ae62020-05-04 17:06:17 -0700367}
368
Wyatt Hepler948f5472020-06-02 16:52:28 -0700369pw_proto_library("test_protos") {
370 sources = [ "pw_rpc_test_protos/test.proto" ]
Alexei Frolov4d2adde2020-08-04 10:19:24 -0700371 inputs = [ "pw_rpc_test_protos/test.options" ]
Wyatt Hepler948f5472020-06-02 16:52:28 -0700372 visibility = [ "./*" ]
Alexei Frolov26e3ae62020-05-04 17:06:17 -0700373}
Alexei Frolov5d6d3922020-05-08 13:57:02 -0700374
Wyatt Heplerc8bdc7d2021-10-20 09:29:01 -0700375pw_test("call_test") {
Wyatt Heplercb9d9572020-06-01 11:25:58 -0700376 deps = [
Wyatt Heplercbd09c22020-09-15 11:17:24 -0700377 ":server",
378 ":test_utils",
Wyatt Heplercb9d9572020-06-01 11:25:58 -0700379 ]
Wyatt Heplerff2ca832021-09-03 17:20:40 -0700380 sources = [ "call_test.cc" ]
Wyatt Heplercb9d9572020-06-01 11:25:58 -0700381}
382
Wyatt Hepler671946e2020-06-09 14:39:33 -0700383pw_test("channel_test") {
384 deps = [
Wyatt Heplercbd09c22020-09-15 11:17:24 -0700385 ":server",
386 ":test_utils",
Wyatt Hepler671946e2020-06-09 14:39:33 -0700387 ]
388 sources = [ "channel_test.cc" ]
389}
390
Wyatt Hepler438caa02021-01-15 17:13:11 -0800391pw_python_action("generate_ids_test") {
Wyatt Hepler541a1902020-10-12 08:09:47 -0700392 outputs = [ "$target_gen_dir/generated_ids_test.cc" ]
Wyatt Heplerba325e42021-03-08 14:23:34 -0800393
394 script = "py/tests/ids_test.py"
Michael Spangc8b93902021-05-30 15:53:56 -0400395 args = [ "--generate-cc-test" ] + rebase_path(outputs, root_build_dir)
Wyatt Hepler438caa02021-01-15 17:13:11 -0800396 python_deps = [
397 "$dir_pw_build/py",
398 "py",
399 ]
Wyatt Hepler541a1902020-10-12 08:09:47 -0700400}
401
402pw_test("ids_test") {
403 deps = [
404 ":generate_ids_test",
405 ":server",
406 ]
407 sources = get_target_outputs(":generate_ids_test")
Wyatt Heplercbd09c22020-09-15 11:17:24 -0700408}
409
Alexei Frolov5d6d3922020-05-08 13:57:02 -0700410pw_test("packet_test") {
411 deps = [
Wyatt Heplercbd09c22020-09-15 11:17:24 -0700412 ":server",
Wyatt Hepler0f262352020-07-29 09:51:27 -0700413 dir_pw_bytes,
Alexei Frolov5d6d3922020-05-08 13:57:02 -0700414 dir_pw_protobuf,
415 ]
416 sources = [ "packet_test.cc" ]
417}
Wyatt Hepler80f26ff2020-06-01 09:30:17 -0700418
Wyatt Heplerd1591422020-09-15 10:04:41 -0700419pw_test("service_test") {
420 deps = [
Alexei Frolov8e30d462020-10-22 13:54:36 -0700421 ":protos.pwpb",
Wyatt Heplercbd09c22020-09-15 11:17:24 -0700422 ":server",
Wyatt Heplerd1591422020-09-15 10:04:41 -0700423 dir_pw_assert,
424 ]
425 sources = [ "service_test.cc" ]
426}
427
Alexei Frolov3e280922021-04-12 14:53:06 -0700428pw_test("client_server_test") {
429 deps = [
430 ":client_server",
431 ":test_utils",
Wyatt Hepler82db4b12021-09-23 09:10:12 -0700432 "raw:server_api",
Alexei Frolov3e280922021-04-12 14:53:06 -0700433 ]
434 sources = [ "client_server_test.cc" ]
435}
436
Wyatt Hepler1a4478b2021-08-12 16:26:41 -0700437pw_test("method_test") {
438 deps = [
439 ":server",
440 ":test_utils",
441 ]
442 sources = [ "method_test.cc" ]
443}
444
Wyatt Hepler80f26ff2020-06-01 09:30:17 -0700445pw_test("server_test") {
446 deps = [
Alexei Frolov8e30d462020-10-22 13:54:36 -0700447 ":protos.pwpb",
Wyatt Heplercbd09c22020-09-15 11:17:24 -0700448 ":server",
449 ":test_utils",
Wyatt Hepler80f26ff2020-06-01 09:30:17 -0700450 dir_pw_assert,
451 ]
452 sources = [ "server_test.cc" ]
453}
Carlos Chinchilla54891ae2021-09-22 11:26:43 -0700454
455pw_test("fake_channel_output_test") {
456 deps = [ ":test_utils" ]
457 sources = [ "fake_channel_output_test.cc" ]
458}