1*61c4878aSAndroid Build Coastguard Worker# Copyright 2020 The Pigweed Authors 2*61c4878aSAndroid Build Coastguard Worker# 3*61c4878aSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); you may not 4*61c4878aSAndroid Build Coastguard Worker# use this file except in compliance with the License. You may obtain a copy of 5*61c4878aSAndroid Build Coastguard Worker# the License at 6*61c4878aSAndroid Build Coastguard Worker# 7*61c4878aSAndroid Build Coastguard Worker# https://www.apache.org/licenses/LICENSE-2.0 8*61c4878aSAndroid Build Coastguard Worker# 9*61c4878aSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 10*61c4878aSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 11*61c4878aSAndroid Build Coastguard Worker# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12*61c4878aSAndroid Build Coastguard Worker# License for the specific language governing permissions and limitations under 13*61c4878aSAndroid Build Coastguard Worker# the License. 14*61c4878aSAndroid Build Coastguard Worker 15*61c4878aSAndroid Build Coastguard Workerload("@rules_proto//proto:defs.bzl", "proto_library") 16*61c4878aSAndroid Build Coastguard Workerload("@rules_python//python:proto.bzl", "py_proto_library") 17*61c4878aSAndroid Build Coastguard Workerload( 18*61c4878aSAndroid Build Coastguard Worker "//pw_protobuf_compiler:pw_proto_library.bzl", 19*61c4878aSAndroid Build Coastguard Worker "nanopb_proto_library", 20*61c4878aSAndroid Build Coastguard Worker "nanopb_rpc_proto_library", 21*61c4878aSAndroid Build Coastguard Worker "pw_proto_filegroup", 22*61c4878aSAndroid Build Coastguard Worker "pwpb_proto_library", 23*61c4878aSAndroid Build Coastguard Worker "pwpb_rpc_proto_library", 24*61c4878aSAndroid Build Coastguard Worker "raw_rpc_proto_library", 25*61c4878aSAndroid Build Coastguard Worker) 26*61c4878aSAndroid Build Coastguard Workerload("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test") 27*61c4878aSAndroid Build Coastguard Worker 28*61c4878aSAndroid Build Coastguard Workerpackage(default_visibility = ["//visibility:public"]) 29*61c4878aSAndroid Build Coastguard Worker 30*61c4878aSAndroid Build Coastguard Workerlicenses(["notice"]) 31*61c4878aSAndroid Build Coastguard Worker 32*61c4878aSAndroid Build Coastguard Workerpw_proto_filegroup( 33*61c4878aSAndroid Build Coastguard Worker name = "benchmark_proto_and_options", 34*61c4878aSAndroid Build Coastguard Worker srcs = ["benchmark.proto"], 35*61c4878aSAndroid Build Coastguard Worker options_files = [ 36*61c4878aSAndroid Build Coastguard Worker "benchmark.options", 37*61c4878aSAndroid Build Coastguard Worker "benchmark.pwpb_options", 38*61c4878aSAndroid Build Coastguard Worker ], 39*61c4878aSAndroid Build Coastguard Worker) 40*61c4878aSAndroid Build Coastguard Worker 41*61c4878aSAndroid Build Coastguard Workerproto_library( 42*61c4878aSAndroid Build Coastguard Worker name = "benchmark_proto", 43*61c4878aSAndroid Build Coastguard Worker srcs = [":benchmark_proto_and_options"], 44*61c4878aSAndroid Build Coastguard Worker) 45*61c4878aSAndroid Build Coastguard Worker 46*61c4878aSAndroid Build Coastguard Workerpwpb_proto_library( 47*61c4878aSAndroid Build Coastguard Worker name = "benchmark_pwpb", 48*61c4878aSAndroid Build Coastguard Worker deps = [":benchmark_proto"], 49*61c4878aSAndroid Build Coastguard Worker) 50*61c4878aSAndroid Build Coastguard Worker 51*61c4878aSAndroid Build Coastguard Workerraw_rpc_proto_library( 52*61c4878aSAndroid Build Coastguard Worker name = "benchmark_raw_rpc", 53*61c4878aSAndroid Build Coastguard Worker deps = [":benchmark_proto"], 54*61c4878aSAndroid Build Coastguard Worker) 55*61c4878aSAndroid Build Coastguard Worker 56*61c4878aSAndroid Build Coastguard Workercc_library( 57*61c4878aSAndroid Build Coastguard Worker name = "benchmark", 58*61c4878aSAndroid Build Coastguard Worker srcs = ["benchmark.cc"], 59*61c4878aSAndroid Build Coastguard Worker hdrs = ["public/pw_rpc/benchmark.h"], 60*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 61*61c4878aSAndroid Build Coastguard Worker deps = [ 62*61c4878aSAndroid Build Coastguard Worker ":benchmark_pwpb", 63*61c4878aSAndroid Build Coastguard Worker ":benchmark_raw_rpc", 64*61c4878aSAndroid Build Coastguard Worker ], 65*61c4878aSAndroid Build Coastguard Worker) 66*61c4878aSAndroid Build Coastguard Worker 67*61c4878aSAndroid Build Coastguard Worker# TODO: b/242059613 - Build this as a cc_binary and use it in integration tests. 68*61c4878aSAndroid Build Coastguard Workerfilegroup( 69*61c4878aSAndroid Build Coastguard Worker name = "test_rpc_server", 70*61c4878aSAndroid Build Coastguard Worker srcs = ["test_rpc_server.cc"], 71*61c4878aSAndroid Build Coastguard Worker # deps = [ 72*61c4878aSAndroid Build Coastguard Worker # "system_server", 73*61c4878aSAndroid Build Coastguard Worker # ":benchmark", 74*61c4878aSAndroid Build Coastguard Worker # "//pw_log", 75*61c4878aSAndroid Build Coastguard Worker # ], 76*61c4878aSAndroid Build Coastguard Worker) 77*61c4878aSAndroid Build Coastguard Worker 78*61c4878aSAndroid Build Coastguard Workercc_library( 79*61c4878aSAndroid Build Coastguard Worker name = "client_server", 80*61c4878aSAndroid Build Coastguard Worker srcs = ["client_server.cc"], 81*61c4878aSAndroid Build Coastguard Worker hdrs = ["public/pw_rpc/client_server.h"], 82*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 83*61c4878aSAndroid Build Coastguard Worker deps = [":pw_rpc"], 84*61c4878aSAndroid Build Coastguard Worker) 85*61c4878aSAndroid Build Coastguard Worker 86*61c4878aSAndroid Build Coastguard Worker# See https://pigweed.dev/pw_rpc/cpp.html#c.PW_RPC_YIELD_MODE for documentation. 87*61c4878aSAndroid Build Coastguard Workerconstraint_setting( 88*61c4878aSAndroid Build Coastguard Worker name = "yield_mode", 89*61c4878aSAndroid Build Coastguard Worker default_constraint_value = ":yield_mode_sleep", 90*61c4878aSAndroid Build Coastguard Worker) 91*61c4878aSAndroid Build Coastguard Worker 92*61c4878aSAndroid Build Coastguard Workerconstraint_value( 93*61c4878aSAndroid Build Coastguard Worker name = "yield_mode_busy_loop", 94*61c4878aSAndroid Build Coastguard Worker constraint_setting = ":yield_mode", 95*61c4878aSAndroid Build Coastguard Worker) 96*61c4878aSAndroid Build Coastguard Worker 97*61c4878aSAndroid Build Coastguard Workerconstraint_value( 98*61c4878aSAndroid Build Coastguard Worker name = "yield_mode_sleep", 99*61c4878aSAndroid Build Coastguard Worker constraint_setting = ":yield_mode", 100*61c4878aSAndroid Build Coastguard Worker) 101*61c4878aSAndroid Build Coastguard Worker 102*61c4878aSAndroid Build Coastguard Workerconstraint_value( 103*61c4878aSAndroid Build Coastguard Worker name = "yield_mode_yield", 104*61c4878aSAndroid Build Coastguard Worker constraint_setting = ":yield_mode", 105*61c4878aSAndroid Build Coastguard Worker) 106*61c4878aSAndroid Build Coastguard Worker 107*61c4878aSAndroid Build Coastguard Workercc_library( 108*61c4878aSAndroid Build Coastguard Worker name = "pw_rpc", 109*61c4878aSAndroid Build Coastguard Worker srcs = [ 110*61c4878aSAndroid Build Coastguard Worker "call.cc", 111*61c4878aSAndroid Build Coastguard Worker "channel.cc", 112*61c4878aSAndroid Build Coastguard Worker "channel_list.cc", 113*61c4878aSAndroid Build Coastguard Worker "client.cc", 114*61c4878aSAndroid Build Coastguard Worker "client_call.cc", 115*61c4878aSAndroid Build Coastguard Worker "endpoint.cc", 116*61c4878aSAndroid Build Coastguard Worker "packet.cc", 117*61c4878aSAndroid Build Coastguard Worker "packet_meta.cc", 118*61c4878aSAndroid Build Coastguard Worker "server.cc", 119*61c4878aSAndroid Build Coastguard Worker "server_call.cc", 120*61c4878aSAndroid Build Coastguard Worker "service.cc", 121*61c4878aSAndroid Build Coastguard Worker ], 122*61c4878aSAndroid Build Coastguard Worker hdrs = [ 123*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/channel.h", 124*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/client.h", 125*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/internal/call.h", 126*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/internal/call_context.h", 127*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/internal/channel_list.h", 128*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/internal/client_call.h", 129*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/internal/config.h", 130*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/internal/encoding_buffer.h", 131*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/internal/endpoint.h", 132*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/internal/grpc.h", 133*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/internal/hash.h", 134*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/internal/lock.h", 135*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/internal/log_config.h", 136*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/internal/method.h", 137*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/internal/method_info.h", 138*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/internal/method_lookup.h", 139*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/internal/method_union.h", 140*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/internal/packet.h", 141*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/internal/server_call.h", 142*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/internal/service_client.h", 143*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/method_id.h", 144*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/method_info.h", 145*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/method_type.h", 146*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/packet_meta.h", 147*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/server.h", 148*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/service.h", 149*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/service_id.h", 150*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/writer.h", 151*61c4878aSAndroid Build Coastguard Worker ], 152*61c4878aSAndroid Build Coastguard Worker # LINT.IfChange 153*61c4878aSAndroid Build Coastguard Worker defines = select({ 154*61c4878aSAndroid Build Coastguard Worker ":yield_mode_busy_loop": ["PW_RPC_YIELD_MODE=PW_RPC_YIELD_MODE_BUSY_LOOP"], 155*61c4878aSAndroid Build Coastguard Worker ":yield_mode_sleep": ["PW_RPC_YIELD_MODE=PW_RPC_YIELD_MODE_SLEEP"], 156*61c4878aSAndroid Build Coastguard Worker ":yield_mode_yield": ["PW_RPC_YIELD_MODE=PW_RPC_YIELD_MODE_YIELD"], 157*61c4878aSAndroid Build Coastguard Worker }), 158*61c4878aSAndroid Build Coastguard Worker # LINT.ThenChange(//pw_rpc/public/pw_rpc/internal/config.h) 159*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 160*61c4878aSAndroid Build Coastguard Worker deps = [ 161*61c4878aSAndroid Build Coastguard Worker ":config_override", 162*61c4878aSAndroid Build Coastguard Worker ":internal_packet_pwpb", 163*61c4878aSAndroid Build Coastguard Worker "//pw_assert", 164*61c4878aSAndroid Build Coastguard Worker "//pw_bytes", 165*61c4878aSAndroid Build Coastguard Worker "//pw_containers:intrusive_list", 166*61c4878aSAndroid Build Coastguard Worker "//pw_function", 167*61c4878aSAndroid Build Coastguard Worker "//pw_log", 168*61c4878aSAndroid Build Coastguard Worker "//pw_polyfill", 169*61c4878aSAndroid Build Coastguard Worker "//pw_preprocessor", 170*61c4878aSAndroid Build Coastguard Worker "//pw_result", 171*61c4878aSAndroid Build Coastguard Worker "//pw_span", 172*61c4878aSAndroid Build Coastguard Worker "//pw_status", 173*61c4878aSAndroid Build Coastguard Worker "//pw_sync:lock_annotations", 174*61c4878aSAndroid Build Coastguard Worker "//pw_sync:mutex", 175*61c4878aSAndroid Build Coastguard Worker "//pw_toolchain:no_destructor", 176*61c4878aSAndroid Build Coastguard Worker ] + select({ 177*61c4878aSAndroid Build Coastguard Worker ":yield_mode_busy_loop": [], 178*61c4878aSAndroid Build Coastguard Worker ":yield_mode_sleep": ["//pw_thread:sleep"], 179*61c4878aSAndroid Build Coastguard Worker ":yield_mode_yield": ["//pw_thread:yield"], 180*61c4878aSAndroid Build Coastguard Worker }), 181*61c4878aSAndroid Build Coastguard Worker) 182*61c4878aSAndroid Build Coastguard Worker 183*61c4878aSAndroid Build Coastguard Workerlabel_flag( 184*61c4878aSAndroid Build Coastguard Worker name = "config_override", 185*61c4878aSAndroid Build Coastguard Worker build_setting_default = "//pw_build:default_module_config", 186*61c4878aSAndroid Build Coastguard Worker) 187*61c4878aSAndroid Build Coastguard Worker 188*61c4878aSAndroid Build Coastguard Workercc_library( 189*61c4878aSAndroid Build Coastguard Worker name = "completion_request_callback_config_enabled", 190*61c4878aSAndroid Build Coastguard Worker defines = [ 191*61c4878aSAndroid Build Coastguard Worker "PW_RPC_COMPLETION_REQUEST_CALLBACK=1", 192*61c4878aSAndroid Build Coastguard Worker ], 193*61c4878aSAndroid Build Coastguard Worker) 194*61c4878aSAndroid Build Coastguard Worker 195*61c4878aSAndroid Build Coastguard Workerconfig_setting( 196*61c4878aSAndroid Build Coastguard Worker name = "completion_request_callback_config_setting", 197*61c4878aSAndroid Build Coastguard Worker flag_values = { 198*61c4878aSAndroid Build Coastguard Worker ":config_override": ":completion_request_callback_config_enabled", 199*61c4878aSAndroid Build Coastguard Worker }, 200*61c4878aSAndroid Build Coastguard Worker) 201*61c4878aSAndroid Build Coastguard Worker 202*61c4878aSAndroid Build Coastguard Workercc_library( 203*61c4878aSAndroid Build Coastguard Worker name = "synchronous_client_api", 204*61c4878aSAndroid Build Coastguard Worker hdrs = [ 205*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/internal/synchronous_call_impl.h", 206*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/synchronous_call.h", 207*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/synchronous_call_result.h", 208*61c4878aSAndroid Build Coastguard Worker ], 209*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 210*61c4878aSAndroid Build Coastguard Worker deps = [ 211*61c4878aSAndroid Build Coastguard Worker ":pw_rpc", 212*61c4878aSAndroid Build Coastguard Worker "//pw_chrono:system_clock", 213*61c4878aSAndroid Build Coastguard Worker "//pw_sync:timed_thread_notification", 214*61c4878aSAndroid Build Coastguard Worker ], 215*61c4878aSAndroid Build Coastguard Worker) 216*61c4878aSAndroid Build Coastguard Worker 217*61c4878aSAndroid Build Coastguard Workercc_library( 218*61c4878aSAndroid Build Coastguard Worker name = "client_server_testing", 219*61c4878aSAndroid Build Coastguard Worker hdrs = ["public/pw_rpc/internal/client_server_testing.h"], 220*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 221*61c4878aSAndroid Build Coastguard Worker deps = [ 222*61c4878aSAndroid Build Coastguard Worker ":client_server", 223*61c4878aSAndroid Build Coastguard Worker ":internal_test_utils", 224*61c4878aSAndroid Build Coastguard Worker "//pw_bytes", 225*61c4878aSAndroid Build Coastguard Worker "//pw_result", 226*61c4878aSAndroid Build Coastguard Worker ], 227*61c4878aSAndroid Build Coastguard Worker) 228*61c4878aSAndroid Build Coastguard Worker 229*61c4878aSAndroid Build Coastguard Workercc_library( 230*61c4878aSAndroid Build Coastguard Worker name = "client_server_testing_threaded", 231*61c4878aSAndroid Build Coastguard Worker hdrs = ["public/pw_rpc/internal/client_server_testing_threaded.h"], 232*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 233*61c4878aSAndroid Build Coastguard Worker deps = [ 234*61c4878aSAndroid Build Coastguard Worker ":client_server_testing", 235*61c4878aSAndroid Build Coastguard Worker "//pw_bytes", 236*61c4878aSAndroid Build Coastguard Worker "//pw_result", 237*61c4878aSAndroid Build Coastguard Worker "//pw_sync:binary_semaphore", 238*61c4878aSAndroid Build Coastguard Worker "//pw_sync:lock_annotations", 239*61c4878aSAndroid Build Coastguard Worker "//pw_sync:mutex", 240*61c4878aSAndroid Build Coastguard Worker "//pw_thread:thread", 241*61c4878aSAndroid Build Coastguard Worker ], 242*61c4878aSAndroid Build Coastguard Worker) 243*61c4878aSAndroid Build Coastguard Worker 244*61c4878aSAndroid Build Coastguard Workercc_library( 245*61c4878aSAndroid Build Coastguard Worker name = "test_helpers", 246*61c4878aSAndroid Build Coastguard Worker hdrs = ["public/pw_rpc/test_helpers.h"], 247*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 248*61c4878aSAndroid Build Coastguard Worker deps = [ 249*61c4878aSAndroid Build Coastguard Worker ":internal_test_utils", 250*61c4878aSAndroid Build Coastguard Worker ":pw_rpc", 251*61c4878aSAndroid Build Coastguard Worker "//pw_assert", 252*61c4878aSAndroid Build Coastguard Worker "//pw_chrono:system_clock", 253*61c4878aSAndroid Build Coastguard Worker "//pw_status", 254*61c4878aSAndroid Build Coastguard Worker "//pw_sync:counting_semaphore", 255*61c4878aSAndroid Build Coastguard Worker "//pw_thread:yield", 256*61c4878aSAndroid Build Coastguard Worker ], 257*61c4878aSAndroid Build Coastguard Worker) 258*61c4878aSAndroid Build Coastguard Worker 259*61c4878aSAndroid Build Coastguard Worker# thread_testing target is kept for backward compatibility. 260*61c4878aSAndroid Build Coastguard Worker# New code should use test_helpers instead. 261*61c4878aSAndroid Build Coastguard Workercc_library( 262*61c4878aSAndroid Build Coastguard Worker name = "thread_testing", 263*61c4878aSAndroid Build Coastguard Worker hdrs = ["public/pw_rpc/thread_testing.h"], 264*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 265*61c4878aSAndroid Build Coastguard Worker deps = [":test_helpers"], 266*61c4878aSAndroid Build Coastguard Worker) 267*61c4878aSAndroid Build Coastguard Worker 268*61c4878aSAndroid Build Coastguard Workercc_library( 269*61c4878aSAndroid Build Coastguard Worker name = "internal_test_utils", 270*61c4878aSAndroid Build Coastguard Worker srcs = ["fake_channel_output.cc"], 271*61c4878aSAndroid Build Coastguard Worker hdrs = [ 272*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/internal/fake_channel_output.h", 273*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/internal/method_impl_tester.h", 274*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/internal/method_info_tester.h", 275*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/internal/test_method_context.h", 276*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/internal/test_utils.h", 277*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/payloads_view.h", 278*61c4878aSAndroid Build Coastguard Worker "pw_rpc_private/fake_server_reader_writer.h", 279*61c4878aSAndroid Build Coastguard Worker "pw_rpc_private/test_method.h", 280*61c4878aSAndroid Build Coastguard Worker ], 281*61c4878aSAndroid Build Coastguard Worker includes = [ 282*61c4878aSAndroid Build Coastguard Worker ".", 283*61c4878aSAndroid Build Coastguard Worker "public", 284*61c4878aSAndroid Build Coastguard Worker ], 285*61c4878aSAndroid Build Coastguard Worker visibility = [":__subpackages__"], 286*61c4878aSAndroid Build Coastguard Worker deps = [ 287*61c4878aSAndroid Build Coastguard Worker ":pw_rpc", 288*61c4878aSAndroid Build Coastguard Worker "//pw_assert", 289*61c4878aSAndroid Build Coastguard Worker "//pw_bytes", 290*61c4878aSAndroid Build Coastguard Worker "//pw_containers:filtered_view", 291*61c4878aSAndroid Build Coastguard Worker "//pw_containers:vector", 292*61c4878aSAndroid Build Coastguard Worker "//pw_containers:wrapped_iterator", 293*61c4878aSAndroid Build Coastguard Worker "//pw_rpc/raw:fake_channel_output", 294*61c4878aSAndroid Build Coastguard Worker "//pw_span", 295*61c4878aSAndroid Build Coastguard Worker "//pw_sync:mutex", 296*61c4878aSAndroid Build Coastguard Worker ], 297*61c4878aSAndroid Build Coastguard Worker) 298*61c4878aSAndroid Build Coastguard Worker 299*61c4878aSAndroid Build Coastguard Workercc_library( 300*61c4878aSAndroid Build Coastguard Worker name = "integration_testing", 301*61c4878aSAndroid Build Coastguard Worker testonly = True, 302*61c4878aSAndroid Build Coastguard Worker srcs = [ 303*61c4878aSAndroid Build Coastguard Worker "integration_testing.cc", 304*61c4878aSAndroid Build Coastguard Worker ], 305*61c4878aSAndroid Build Coastguard Worker hdrs = [ 306*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/integration_test_socket_client.h", 307*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/integration_testing.h", 308*61c4878aSAndroid Build Coastguard Worker ], 309*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 310*61c4878aSAndroid Build Coastguard Worker deps = [ 311*61c4878aSAndroid Build Coastguard Worker ":pw_rpc", 312*61c4878aSAndroid Build Coastguard Worker "//pw_assert", 313*61c4878aSAndroid Build Coastguard Worker "//pw_hdlc", 314*61c4878aSAndroid Build Coastguard Worker "//pw_hdlc:default_addresses", 315*61c4878aSAndroid Build Coastguard Worker "//pw_hdlc:rpc_channel_output", 316*61c4878aSAndroid Build Coastguard Worker "//pw_log", 317*61c4878aSAndroid Build Coastguard Worker "//pw_stream:socket_stream", 318*61c4878aSAndroid Build Coastguard Worker "//pw_unit_test", 319*61c4878aSAndroid Build Coastguard Worker "//pw_unit_test:logging", 320*61c4878aSAndroid Build Coastguard Worker ], 321*61c4878aSAndroid Build Coastguard Worker) 322*61c4878aSAndroid Build Coastguard Worker 323*61c4878aSAndroid Build Coastguard Worker# TODO: b/242059613 - Add the client integration test to the build. 324*61c4878aSAndroid Build Coastguard Workerfilegroup( 325*61c4878aSAndroid Build Coastguard Worker name = "client_integration_test", 326*61c4878aSAndroid Build Coastguard Worker srcs = ["client_integration_test.cc"], 327*61c4878aSAndroid Build Coastguard Worker) 328*61c4878aSAndroid Build Coastguard Worker 329*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 330*61c4878aSAndroid Build Coastguard Worker name = "call_test", 331*61c4878aSAndroid Build Coastguard Worker srcs = [ 332*61c4878aSAndroid Build Coastguard Worker "call_test.cc", 333*61c4878aSAndroid Build Coastguard Worker ], 334*61c4878aSAndroid Build Coastguard Worker deps = [ 335*61c4878aSAndroid Build Coastguard Worker ":internal_test_utils", 336*61c4878aSAndroid Build Coastguard Worker ":pw_rpc", 337*61c4878aSAndroid Build Coastguard Worker ], 338*61c4878aSAndroid Build Coastguard Worker) 339*61c4878aSAndroid Build Coastguard Worker 340*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 341*61c4878aSAndroid Build Coastguard Worker name = "callback_test", 342*61c4878aSAndroid Build Coastguard Worker srcs = ["callback_test.cc"], 343*61c4878aSAndroid Build Coastguard Worker deps = [ 344*61c4878aSAndroid Build Coastguard Worker ":pw_rpc", 345*61c4878aSAndroid Build Coastguard Worker ":pw_rpc_test_raw_rpc", 346*61c4878aSAndroid Build Coastguard Worker "//pw_rpc/raw:client_testing", 347*61c4878aSAndroid Build Coastguard Worker "//pw_sync:binary_semaphore", 348*61c4878aSAndroid Build Coastguard Worker "//pw_thread:non_portable_test_thread_options", 349*61c4878aSAndroid Build Coastguard Worker "//pw_thread:sleep", 350*61c4878aSAndroid Build Coastguard Worker "//pw_thread:yield", 351*61c4878aSAndroid Build Coastguard Worker "//pw_thread_stl:non_portable_test_thread_options", 352*61c4878aSAndroid Build Coastguard Worker ], 353*61c4878aSAndroid Build Coastguard Worker) 354*61c4878aSAndroid Build Coastguard Worker 355*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 356*61c4878aSAndroid Build Coastguard Worker name = "channel_test", 357*61c4878aSAndroid Build Coastguard Worker srcs = ["channel_test.cc"], 358*61c4878aSAndroid Build Coastguard Worker deps = [ 359*61c4878aSAndroid Build Coastguard Worker ":internal_test_utils", 360*61c4878aSAndroid Build Coastguard Worker ":pw_rpc", 361*61c4878aSAndroid Build Coastguard Worker ], 362*61c4878aSAndroid Build Coastguard Worker) 363*61c4878aSAndroid Build Coastguard Worker 364*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 365*61c4878aSAndroid Build Coastguard Worker name = "method_test", 366*61c4878aSAndroid Build Coastguard Worker srcs = ["method_test.cc"], 367*61c4878aSAndroid Build Coastguard Worker deps = [ 368*61c4878aSAndroid Build Coastguard Worker ":internal_test_utils", 369*61c4878aSAndroid Build Coastguard Worker ":pw_rpc", 370*61c4878aSAndroid Build Coastguard Worker ], 371*61c4878aSAndroid Build Coastguard Worker) 372*61c4878aSAndroid Build Coastguard Worker 373*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 374*61c4878aSAndroid Build Coastguard Worker name = "packet_test", 375*61c4878aSAndroid Build Coastguard Worker srcs = [ 376*61c4878aSAndroid Build Coastguard Worker "packet_test.cc", 377*61c4878aSAndroid Build Coastguard Worker ], 378*61c4878aSAndroid Build Coastguard Worker deps = [ 379*61c4878aSAndroid Build Coastguard Worker ":pw_rpc", 380*61c4878aSAndroid Build Coastguard Worker "//pw_fuzzer:fuzztest", 381*61c4878aSAndroid Build Coastguard Worker ], 382*61c4878aSAndroid Build Coastguard Worker) 383*61c4878aSAndroid Build Coastguard Worker 384*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 385*61c4878aSAndroid Build Coastguard Worker name = "packet_meta_test", 386*61c4878aSAndroid Build Coastguard Worker srcs = [ 387*61c4878aSAndroid Build Coastguard Worker "packet_meta_test.cc", 388*61c4878aSAndroid Build Coastguard Worker ], 389*61c4878aSAndroid Build Coastguard Worker deps = [ 390*61c4878aSAndroid Build Coastguard Worker ":pw_rpc", 391*61c4878aSAndroid Build Coastguard Worker "//pw_fuzzer:fuzztest", 392*61c4878aSAndroid Build Coastguard Worker ], 393*61c4878aSAndroid Build Coastguard Worker) 394*61c4878aSAndroid Build Coastguard Worker 395*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 396*61c4878aSAndroid Build Coastguard Worker name = "client_server_test", 397*61c4878aSAndroid Build Coastguard Worker srcs = ["client_server_test.cc"], 398*61c4878aSAndroid Build Coastguard Worker deps = [ 399*61c4878aSAndroid Build Coastguard Worker ":client_server", 400*61c4878aSAndroid Build Coastguard Worker ":internal_test_utils", 401*61c4878aSAndroid Build Coastguard Worker "//pw_rpc/raw:server_api", 402*61c4878aSAndroid Build Coastguard Worker ], 403*61c4878aSAndroid Build Coastguard Worker) 404*61c4878aSAndroid Build Coastguard Worker 405*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 406*61c4878aSAndroid Build Coastguard Worker name = "server_test", 407*61c4878aSAndroid Build Coastguard Worker srcs = [ 408*61c4878aSAndroid Build Coastguard Worker "server_test.cc", 409*61c4878aSAndroid Build Coastguard Worker ], 410*61c4878aSAndroid Build Coastguard Worker deps = [ 411*61c4878aSAndroid Build Coastguard Worker ":internal_test_utils", 412*61c4878aSAndroid Build Coastguard Worker ":pw_rpc", 413*61c4878aSAndroid Build Coastguard Worker "//pw_assert", 414*61c4878aSAndroid Build Coastguard Worker ], 415*61c4878aSAndroid Build Coastguard Worker) 416*61c4878aSAndroid Build Coastguard Worker 417*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 418*61c4878aSAndroid Build Coastguard Worker name = "service_test", 419*61c4878aSAndroid Build Coastguard Worker srcs = [ 420*61c4878aSAndroid Build Coastguard Worker "service_test.cc", 421*61c4878aSAndroid Build Coastguard Worker ], 422*61c4878aSAndroid Build Coastguard Worker deps = [ 423*61c4878aSAndroid Build Coastguard Worker ":internal_test_utils", 424*61c4878aSAndroid Build Coastguard Worker ":pw_rpc", 425*61c4878aSAndroid Build Coastguard Worker "//pw_assert", 426*61c4878aSAndroid Build Coastguard Worker ], 427*61c4878aSAndroid Build Coastguard Worker) 428*61c4878aSAndroid Build Coastguard Worker 429*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 430*61c4878aSAndroid Build Coastguard Worker name = "fake_channel_output_test", 431*61c4878aSAndroid Build Coastguard Worker srcs = ["fake_channel_output_test.cc"], 432*61c4878aSAndroid Build Coastguard Worker deps = [":internal_test_utils"], 433*61c4878aSAndroid Build Coastguard Worker) 434*61c4878aSAndroid Build Coastguard Worker 435*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 436*61c4878aSAndroid Build Coastguard Worker name = "test_helpers_test", 437*61c4878aSAndroid Build Coastguard Worker srcs = ["test_helpers_test.cc"], 438*61c4878aSAndroid Build Coastguard Worker deps = [ 439*61c4878aSAndroid Build Coastguard Worker ":test_helpers", 440*61c4878aSAndroid Build Coastguard Worker "//pw_result", 441*61c4878aSAndroid Build Coastguard Worker "//pw_rpc/pwpb:client_testing", 442*61c4878aSAndroid Build Coastguard Worker "//pw_rpc/pwpb:echo_service", 443*61c4878aSAndroid Build Coastguard Worker "//pw_rpc/pwpb:server_api", 444*61c4878aSAndroid Build Coastguard Worker "//pw_status", 445*61c4878aSAndroid Build Coastguard Worker "//pw_sync:interrupt_spin_lock", 446*61c4878aSAndroid Build Coastguard Worker "//pw_sync:lock_annotations", 447*61c4878aSAndroid Build Coastguard Worker "//pw_sync:timed_thread_notification", 448*61c4878aSAndroid Build Coastguard Worker ], 449*61c4878aSAndroid Build Coastguard Worker) 450*61c4878aSAndroid Build Coastguard Worker 451*61c4878aSAndroid Build Coastguard Workerproto_library( 452*61c4878aSAndroid Build Coastguard Worker name = "internal_packet_proto", 453*61c4878aSAndroid Build Coastguard Worker srcs = ["internal/packet.proto"], 454*61c4878aSAndroid Build Coastguard Worker) 455*61c4878aSAndroid Build Coastguard Worker 456*61c4878aSAndroid Build Coastguard Workerjava_proto_library( 457*61c4878aSAndroid Build Coastguard Worker name = "packet_proto_java", 458*61c4878aSAndroid Build Coastguard Worker deps = [":internal_packet_proto"], 459*61c4878aSAndroid Build Coastguard Worker) 460*61c4878aSAndroid Build Coastguard Worker 461*61c4878aSAndroid Build Coastguard Workerjava_lite_proto_library( 462*61c4878aSAndroid Build Coastguard Worker name = "packet_proto_java_lite", 463*61c4878aSAndroid Build Coastguard Worker deps = [":internal_packet_proto"], 464*61c4878aSAndroid Build Coastguard Worker) 465*61c4878aSAndroid Build Coastguard Worker 466*61c4878aSAndroid Build Coastguard Workerpy_proto_library( 467*61c4878aSAndroid Build Coastguard Worker name = "internal_packet_proto_pb2", 468*61c4878aSAndroid Build Coastguard Worker deps = [":internal_packet_proto"], 469*61c4878aSAndroid Build Coastguard Worker) 470*61c4878aSAndroid Build Coastguard Worker 471*61c4878aSAndroid Build Coastguard Workerpwpb_proto_library( 472*61c4878aSAndroid Build Coastguard Worker name = "internal_packet_pwpb", 473*61c4878aSAndroid Build Coastguard Worker deps = [":internal_packet_proto"], 474*61c4878aSAndroid Build Coastguard Worker) 475*61c4878aSAndroid Build Coastguard Worker 476*61c4878aSAndroid Build Coastguard Workerproto_library( 477*61c4878aSAndroid Build Coastguard Worker name = "pw_rpc_test_proto", 478*61c4878aSAndroid Build Coastguard Worker srcs = [ 479*61c4878aSAndroid Build Coastguard Worker "pw_rpc_test_protos/no_package.proto", 480*61c4878aSAndroid Build Coastguard Worker "pw_rpc_test_protos/test.proto", 481*61c4878aSAndroid Build Coastguard Worker ], 482*61c4878aSAndroid Build Coastguard Worker strip_import_prefix = "/pw_rpc", 483*61c4878aSAndroid Build Coastguard Worker) 484*61c4878aSAndroid Build Coastguard Worker 485*61c4878aSAndroid Build Coastguard Workernanopb_proto_library( 486*61c4878aSAndroid Build Coastguard Worker name = "pw_rpc_test_nanopb", 487*61c4878aSAndroid Build Coastguard Worker deps = [":pw_rpc_test_proto"], 488*61c4878aSAndroid Build Coastguard Worker) 489*61c4878aSAndroid Build Coastguard Worker 490*61c4878aSAndroid Build Coastguard Workernanopb_rpc_proto_library( 491*61c4878aSAndroid Build Coastguard Worker name = "pw_rpc_test_nanopb_rpc", 492*61c4878aSAndroid Build Coastguard Worker nanopb_proto_library_deps = [":pw_rpc_test_nanopb"], 493*61c4878aSAndroid Build Coastguard Worker deps = [":pw_rpc_test_proto"], 494*61c4878aSAndroid Build Coastguard Worker) 495*61c4878aSAndroid Build Coastguard Worker 496*61c4878aSAndroid Build Coastguard Workerpwpb_proto_library( 497*61c4878aSAndroid Build Coastguard Worker name = "pw_rpc_test_pwpb", 498*61c4878aSAndroid Build Coastguard Worker deps = [":pw_rpc_test_proto"], 499*61c4878aSAndroid Build Coastguard Worker) 500*61c4878aSAndroid Build Coastguard Worker 501*61c4878aSAndroid Build Coastguard Workerpwpb_rpc_proto_library( 502*61c4878aSAndroid Build Coastguard Worker name = "pw_rpc_test_pwpb_rpc", 503*61c4878aSAndroid Build Coastguard Worker pwpb_proto_library_deps = [":pw_rpc_test_pwpb"], 504*61c4878aSAndroid Build Coastguard Worker deps = [":pw_rpc_test_proto"], 505*61c4878aSAndroid Build Coastguard Worker) 506*61c4878aSAndroid Build Coastguard Worker 507*61c4878aSAndroid Build Coastguard Workerraw_rpc_proto_library( 508*61c4878aSAndroid Build Coastguard Worker name = "pw_rpc_test_raw_rpc", 509*61c4878aSAndroid Build Coastguard Worker deps = [":pw_rpc_test_proto"], 510*61c4878aSAndroid Build Coastguard Worker) 511*61c4878aSAndroid Build Coastguard Worker 512*61c4878aSAndroid Build Coastguard Workerpw_proto_filegroup( 513*61c4878aSAndroid Build Coastguard Worker name = "echo_proto_and_options", 514*61c4878aSAndroid Build Coastguard Worker srcs = ["echo.proto"], 515*61c4878aSAndroid Build Coastguard Worker options_files = [ 516*61c4878aSAndroid Build Coastguard Worker "echo.options", 517*61c4878aSAndroid Build Coastguard Worker "echo.pwpb_options", 518*61c4878aSAndroid Build Coastguard Worker ], 519*61c4878aSAndroid Build Coastguard Worker) 520*61c4878aSAndroid Build Coastguard Worker 521*61c4878aSAndroid Build Coastguard Workerproto_library( 522*61c4878aSAndroid Build Coastguard Worker name = "echo_proto", 523*61c4878aSAndroid Build Coastguard Worker srcs = [":echo_proto_and_options"], 524*61c4878aSAndroid Build Coastguard Worker) 525*61c4878aSAndroid Build Coastguard Worker 526*61c4878aSAndroid Build Coastguard Workerpy_proto_library( 527*61c4878aSAndroid Build Coastguard Worker name = "echo_py_pb2", 528*61c4878aSAndroid Build Coastguard Worker deps = [":echo_proto"], 529*61c4878aSAndroid Build Coastguard Worker) 530*61c4878aSAndroid Build Coastguard Worker 531*61c4878aSAndroid Build Coastguard Workernanopb_proto_library( 532*61c4878aSAndroid Build Coastguard Worker name = "echo_nanopb", 533*61c4878aSAndroid Build Coastguard Worker deps = [":echo_proto"], 534*61c4878aSAndroid Build Coastguard Worker) 535*61c4878aSAndroid Build Coastguard Worker 536*61c4878aSAndroid Build Coastguard Workernanopb_rpc_proto_library( 537*61c4878aSAndroid Build Coastguard Worker name = "echo_nanopb_rpc", 538*61c4878aSAndroid Build Coastguard Worker nanopb_proto_library_deps = [":echo_nanopb"], 539*61c4878aSAndroid Build Coastguard Worker deps = [":echo_proto"], 540*61c4878aSAndroid Build Coastguard Worker) 541*61c4878aSAndroid Build Coastguard Worker 542*61c4878aSAndroid Build Coastguard Workerpwpb_proto_library( 543*61c4878aSAndroid Build Coastguard Worker name = "echo_pwpb", 544*61c4878aSAndroid Build Coastguard Worker deps = [":echo_proto"], 545*61c4878aSAndroid Build Coastguard Worker) 546*61c4878aSAndroid Build Coastguard Worker 547*61c4878aSAndroid Build Coastguard Workerpwpb_rpc_proto_library( 548*61c4878aSAndroid Build Coastguard Worker name = "echo_pwpb_rpc", 549*61c4878aSAndroid Build Coastguard Worker pwpb_proto_library_deps = [":echo_pwpb"], 550*61c4878aSAndroid Build Coastguard Worker deps = [":echo_proto"], 551*61c4878aSAndroid Build Coastguard Worker) 552*61c4878aSAndroid Build Coastguard Worker 553*61c4878aSAndroid Build Coastguard Workerfilegroup( 554*61c4878aSAndroid Build Coastguard Worker name = "doxygen", 555*61c4878aSAndroid Build Coastguard Worker srcs = [ 556*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/channel.h", 557*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/internal/config.h", 558*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/synchronous_call.h", 559*61c4878aSAndroid Build Coastguard Worker ], 560*61c4878aSAndroid Build Coastguard Worker) 561