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 Workerimport("//build_overrides/pigweed.gni") 16*61c4878aSAndroid Build Coastguard Worker 17*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_build/target_types.gni") 18*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_docgen/docs.gni") 19*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_sync/backend.gni") 20*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_third_party/nanopb/nanopb.gni") 21*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_thread/backend.gni") 22*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_unit_test/test.gni") 23*61c4878aSAndroid Build Coastguard Worker 24*61c4878aSAndroid Build Coastguard Workerconfig("public") { 25*61c4878aSAndroid Build Coastguard Worker include_dirs = [ "public" ] 26*61c4878aSAndroid Build Coastguard Worker visibility = [ ":*" ] 27*61c4878aSAndroid Build Coastguard Worker} 28*61c4878aSAndroid Build Coastguard Worker 29*61c4878aSAndroid Build Coastguard Workerpw_source_set("server_api") { 30*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public" ] 31*61c4878aSAndroid Build Coastguard Worker public = [ 32*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/nanopb/internal/method.h", 33*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/nanopb/internal/method_union.h", 34*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/nanopb/server_reader_writer.h", 35*61c4878aSAndroid Build Coastguard Worker ] 36*61c4878aSAndroid Build Coastguard Worker sources = [ 37*61c4878aSAndroid Build Coastguard Worker "method.cc", 38*61c4878aSAndroid Build Coastguard Worker "server_reader_writer.cc", 39*61c4878aSAndroid Build Coastguard Worker ] 40*61c4878aSAndroid Build Coastguard Worker public_deps = [ 41*61c4878aSAndroid Build Coastguard Worker ":common", 42*61c4878aSAndroid Build Coastguard Worker "$dir_pw_rpc/raw:server_api", 43*61c4878aSAndroid Build Coastguard Worker "..:config", 44*61c4878aSAndroid Build Coastguard Worker "..:server", 45*61c4878aSAndroid Build Coastguard Worker dir_pw_bytes, 46*61c4878aSAndroid Build Coastguard Worker dir_pw_span, 47*61c4878aSAndroid Build Coastguard Worker ] 48*61c4878aSAndroid Build Coastguard Worker deps = [ 49*61c4878aSAndroid Build Coastguard Worker "..:log_config", 50*61c4878aSAndroid Build Coastguard Worker dir_pw_log, 51*61c4878aSAndroid Build Coastguard Worker ] 52*61c4878aSAndroid Build Coastguard Worker allow_circular_includes_from = [ ":common" ] 53*61c4878aSAndroid Build Coastguard Worker} 54*61c4878aSAndroid Build Coastguard Worker 55*61c4878aSAndroid Build Coastguard Workerpw_source_set("client_api") { 56*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public" ] 57*61c4878aSAndroid Build Coastguard Worker public_deps = [ 58*61c4878aSAndroid Build Coastguard Worker ":common", 59*61c4878aSAndroid Build Coastguard Worker "..:client", 60*61c4878aSAndroid Build Coastguard Worker dir_pw_function, 61*61c4878aSAndroid Build Coastguard Worker ] 62*61c4878aSAndroid Build Coastguard Worker public = [ "public/pw_rpc/nanopb/client_reader_writer.h" ] 63*61c4878aSAndroid Build Coastguard Worker} 64*61c4878aSAndroid Build Coastguard Worker 65*61c4878aSAndroid Build Coastguard Workerpw_source_set("common") { 66*61c4878aSAndroid Build Coastguard Worker public_deps = [ 67*61c4878aSAndroid Build Coastguard Worker "..:common", 68*61c4878aSAndroid Build Coastguard Worker dir_pw_bytes, 69*61c4878aSAndroid Build Coastguard Worker ] 70*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public" ] 71*61c4878aSAndroid Build Coastguard Worker deps = [ 72*61c4878aSAndroid Build Coastguard Worker "..:client", 73*61c4878aSAndroid Build Coastguard Worker "..:log_config", 74*61c4878aSAndroid Build Coastguard Worker dir_pw_log, 75*61c4878aSAndroid Build Coastguard Worker ] 76*61c4878aSAndroid Build Coastguard Worker public = [ "public/pw_rpc/nanopb/internal/common.h" ] 77*61c4878aSAndroid Build Coastguard Worker sources = [ "common.cc" ] 78*61c4878aSAndroid Build Coastguard Worker 79*61c4878aSAndroid Build Coastguard Worker if (dir_pw_third_party_nanopb != "") { 80*61c4878aSAndroid Build Coastguard Worker public_deps += [ "$dir_pw_third_party/nanopb" ] 81*61c4878aSAndroid Build Coastguard Worker } 82*61c4878aSAndroid Build Coastguard Worker} 83*61c4878aSAndroid Build Coastguard Worker 84*61c4878aSAndroid Build Coastguard Workerpw_source_set("test_method_context") { 85*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public" ] 86*61c4878aSAndroid Build Coastguard Worker public = [ 87*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/nanopb/fake_channel_output.h", 88*61c4878aSAndroid Build Coastguard Worker "public/pw_rpc/nanopb/test_method_context.h", 89*61c4878aSAndroid Build Coastguard Worker ] 90*61c4878aSAndroid Build Coastguard Worker public_deps = [ 91*61c4878aSAndroid Build Coastguard Worker ":server_api", 92*61c4878aSAndroid Build Coastguard Worker "..:test_utils", 93*61c4878aSAndroid Build Coastguard Worker dir_pw_assert, 94*61c4878aSAndroid Build Coastguard Worker dir_pw_containers, 95*61c4878aSAndroid Build Coastguard Worker ] 96*61c4878aSAndroid Build Coastguard Worker} 97*61c4878aSAndroid Build Coastguard Worker 98*61c4878aSAndroid Build Coastguard Workerpw_source_set("client_testing") { 99*61c4878aSAndroid Build Coastguard Worker public = [ "public/pw_rpc/nanopb/client_testing.h" ] 100*61c4878aSAndroid Build Coastguard Worker public_deps = [ 101*61c4878aSAndroid Build Coastguard Worker ":test_method_context", 102*61c4878aSAndroid Build Coastguard Worker "..:client", 103*61c4878aSAndroid Build Coastguard Worker "../raw:client_testing", 104*61c4878aSAndroid Build Coastguard Worker ] 105*61c4878aSAndroid Build Coastguard Worker} 106*61c4878aSAndroid Build Coastguard Worker 107*61c4878aSAndroid Build Coastguard Workerpw_source_set("client_server_testing") { 108*61c4878aSAndroid Build Coastguard Worker public = [ "public/pw_rpc/nanopb/client_server_testing.h" ] 109*61c4878aSAndroid Build Coastguard Worker public_deps = [ 110*61c4878aSAndroid Build Coastguard Worker ":test_method_context", 111*61c4878aSAndroid Build Coastguard Worker "..:client_server_testing", 112*61c4878aSAndroid Build Coastguard Worker ] 113*61c4878aSAndroid Build Coastguard Worker} 114*61c4878aSAndroid Build Coastguard Worker 115*61c4878aSAndroid Build Coastguard Workerpw_source_set("client_server_testing_threaded") { 116*61c4878aSAndroid Build Coastguard Worker public = [ "public/pw_rpc/nanopb/client_server_testing_threaded.h" ] 117*61c4878aSAndroid Build Coastguard Worker public_deps = [ 118*61c4878aSAndroid Build Coastguard Worker ":test_method_context", 119*61c4878aSAndroid Build Coastguard Worker "..:client_server_testing_threaded", 120*61c4878aSAndroid Build Coastguard Worker ] 121*61c4878aSAndroid Build Coastguard Worker} 122*61c4878aSAndroid Build Coastguard Worker 123*61c4878aSAndroid Build Coastguard Workerpw_source_set("internal_test_utils") { 124*61c4878aSAndroid Build Coastguard Worker public = [ "pw_rpc_nanopb_private/internal_test_utils.h" ] 125*61c4878aSAndroid Build Coastguard Worker public_deps = [ dir_pw_span ] 126*61c4878aSAndroid Build Coastguard Worker if (dir_pw_third_party_nanopb != "") { 127*61c4878aSAndroid Build Coastguard Worker public_deps += [ "$dir_pw_third_party/nanopb" ] 128*61c4878aSAndroid Build Coastguard Worker } 129*61c4878aSAndroid Build Coastguard Worker} 130*61c4878aSAndroid Build Coastguard Worker 131*61c4878aSAndroid Build Coastguard Workerpw_source_set("echo_service") { 132*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public" ] 133*61c4878aSAndroid Build Coastguard Worker public_deps = [ "..:protos.nanopb_rpc" ] 134*61c4878aSAndroid Build Coastguard Worker sources = [ "public/pw_rpc/echo_service_nanopb.h" ] 135*61c4878aSAndroid Build Coastguard Worker} 136*61c4878aSAndroid Build Coastguard Worker 137*61c4878aSAndroid Build Coastguard Workerpw_source_set("client_integration_test") { 138*61c4878aSAndroid Build Coastguard Worker testonly = pw_unit_test_TESTONLY 139*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public" ] 140*61c4878aSAndroid Build Coastguard Worker public_deps = [ 141*61c4878aSAndroid Build Coastguard Worker "$dir_pw_sync:binary_semaphore", 142*61c4878aSAndroid Build Coastguard Worker "..:integration_testing", 143*61c4878aSAndroid Build Coastguard Worker "..:protos.nanopb_rpc", 144*61c4878aSAndroid Build Coastguard Worker dir_pw_assert, 145*61c4878aSAndroid Build Coastguard Worker dir_pw_unit_test, 146*61c4878aSAndroid Build Coastguard Worker ] 147*61c4878aSAndroid Build Coastguard Worker sources = [ "client_integration_test.cc" ] 148*61c4878aSAndroid Build Coastguard Worker} 149*61c4878aSAndroid Build Coastguard Worker 150*61c4878aSAndroid Build Coastguard Workerpw_doc_group("docs") { 151*61c4878aSAndroid Build Coastguard Worker inputs = [ "Kconfig" ] 152*61c4878aSAndroid Build Coastguard Worker sources = [ "docs.rst" ] 153*61c4878aSAndroid Build Coastguard Worker} 154*61c4878aSAndroid Build Coastguard Worker 155*61c4878aSAndroid Build Coastguard Workerpw_test_group("tests") { 156*61c4878aSAndroid Build Coastguard Worker tests = [ 157*61c4878aSAndroid Build Coastguard Worker ":callback_test", 158*61c4878aSAndroid Build Coastguard Worker ":client_call_test", 159*61c4878aSAndroid Build Coastguard Worker ":client_reader_writer_test", 160*61c4878aSAndroid Build Coastguard Worker ":client_server_context_test", 161*61c4878aSAndroid Build Coastguard Worker ":client_server_context_threaded_test", 162*61c4878aSAndroid Build Coastguard Worker ":codegen_test", 163*61c4878aSAndroid Build Coastguard Worker ":echo_service_test", 164*61c4878aSAndroid Build Coastguard Worker ":fake_channel_output_test", 165*61c4878aSAndroid Build Coastguard Worker ":method_lookup_test", 166*61c4878aSAndroid Build Coastguard Worker ":method_test", 167*61c4878aSAndroid Build Coastguard Worker ":method_info_test", 168*61c4878aSAndroid Build Coastguard Worker ":method_union_test", 169*61c4878aSAndroid Build Coastguard Worker ":server_callback_test", 170*61c4878aSAndroid Build Coastguard Worker ":server_reader_writer_test", 171*61c4878aSAndroid Build Coastguard Worker ":serde_test", 172*61c4878aSAndroid Build Coastguard Worker ":stub_generation_test", 173*61c4878aSAndroid Build Coastguard Worker ":synchronous_call_test", 174*61c4878aSAndroid Build Coastguard Worker ] 175*61c4878aSAndroid Build Coastguard Worker} 176*61c4878aSAndroid Build Coastguard Worker 177*61c4878aSAndroid Build Coastguard Workerpw_test("callback_test") { 178*61c4878aSAndroid Build Coastguard Worker enable_if = dir_pw_third_party_nanopb != "" && 179*61c4878aSAndroid Build Coastguard Worker pw_thread_THREAD_BACKEND == "$dir_pw_thread_stl:thread" 180*61c4878aSAndroid Build Coastguard Worker deps = [ 181*61c4878aSAndroid Build Coastguard Worker ":client_testing", 182*61c4878aSAndroid Build Coastguard Worker "$dir_pw_sync:binary_semaphore", 183*61c4878aSAndroid Build Coastguard Worker "$dir_pw_thread:non_portable_test_thread_options", 184*61c4878aSAndroid Build Coastguard Worker "$dir_pw_thread:sleep", 185*61c4878aSAndroid Build Coastguard Worker "$dir_pw_thread:yield", 186*61c4878aSAndroid Build Coastguard Worker "$dir_pw_thread_stl:non_portable_test_thread_options", 187*61c4878aSAndroid Build Coastguard Worker "..:client", 188*61c4878aSAndroid Build Coastguard Worker "..:server", 189*61c4878aSAndroid Build Coastguard Worker "..:test_protos.nanopb_rpc", 190*61c4878aSAndroid Build Coastguard Worker ] 191*61c4878aSAndroid Build Coastguard Worker sources = [ "callback_test.cc" ] 192*61c4878aSAndroid Build Coastguard Worker} 193*61c4878aSAndroid Build Coastguard Worker 194*61c4878aSAndroid Build Coastguard Workerpw_test("client_call_test") { 195*61c4878aSAndroid Build Coastguard Worker deps = [ 196*61c4878aSAndroid Build Coastguard Worker ":client_api", 197*61c4878aSAndroid Build Coastguard Worker ":internal_test_utils", 198*61c4878aSAndroid Build Coastguard Worker "..:test_protos.nanopb", 199*61c4878aSAndroid Build Coastguard Worker "..:test_utils", 200*61c4878aSAndroid Build Coastguard Worker ] 201*61c4878aSAndroid Build Coastguard Worker sources = [ "client_call_test.cc" ] 202*61c4878aSAndroid Build Coastguard Worker enable_if = dir_pw_third_party_nanopb != "" 203*61c4878aSAndroid Build Coastguard Worker 204*61c4878aSAndroid Build Coastguard Worker # TODO: https://pwbug.dev/325509758 - Doesn't work on the Pico yet; hangs 205*61c4878aSAndroid Build Coastguard Worker # indefinitely. 206*61c4878aSAndroid Build Coastguard Worker if (pw_build_EXECUTABLE_TARGET_TYPE == "pico_executable") { 207*61c4878aSAndroid Build Coastguard Worker enable_if = false 208*61c4878aSAndroid Build Coastguard Worker } 209*61c4878aSAndroid Build Coastguard Worker} 210*61c4878aSAndroid Build Coastguard Worker 211*61c4878aSAndroid Build Coastguard Workerpw_test("client_reader_writer_test") { 212*61c4878aSAndroid Build Coastguard Worker deps = [ 213*61c4878aSAndroid Build Coastguard Worker ":client_api", 214*61c4878aSAndroid Build Coastguard Worker ":client_testing", 215*61c4878aSAndroid Build Coastguard Worker "..:test_protos.nanopb_rpc", 216*61c4878aSAndroid Build Coastguard Worker ] 217*61c4878aSAndroid Build Coastguard Worker sources = [ "client_reader_writer_test.cc" ] 218*61c4878aSAndroid Build Coastguard Worker enable_if = dir_pw_third_party_nanopb != "" 219*61c4878aSAndroid Build Coastguard Worker} 220*61c4878aSAndroid Build Coastguard Worker 221*61c4878aSAndroid Build Coastguard Workerpw_test("client_server_context_test") { 222*61c4878aSAndroid Build Coastguard Worker deps = [ 223*61c4878aSAndroid Build Coastguard Worker ":client_api", 224*61c4878aSAndroid Build Coastguard Worker ":client_server_testing", 225*61c4878aSAndroid Build Coastguard Worker "$dir_pw_sync:mutex", 226*61c4878aSAndroid Build Coastguard Worker "..:test_protos.nanopb_rpc", 227*61c4878aSAndroid Build Coastguard Worker ] 228*61c4878aSAndroid Build Coastguard Worker sources = [ "client_server_context_test.cc" ] 229*61c4878aSAndroid Build Coastguard Worker enable_if = dir_pw_third_party_nanopb != "" && pw_sync_MUTEX_BACKEND != "" 230*61c4878aSAndroid Build Coastguard Worker} 231*61c4878aSAndroid Build Coastguard Worker 232*61c4878aSAndroid Build Coastguard Worker_stl_threading_and_nanopb_enabled = 233*61c4878aSAndroid Build Coastguard Worker pw_thread_THREAD_BACKEND == "$dir_pw_thread_stl:thread" && 234*61c4878aSAndroid Build Coastguard Worker pw_sync_BINARY_SEMAPHORE_BACKEND != "" && pw_sync_MUTEX_BACKEND != "" && 235*61c4878aSAndroid Build Coastguard Worker dir_pw_third_party_nanopb != "" 236*61c4878aSAndroid Build Coastguard Worker 237*61c4878aSAndroid Build Coastguard Workerpw_test("client_server_context_threaded_test") { 238*61c4878aSAndroid Build Coastguard Worker deps = [ 239*61c4878aSAndroid Build Coastguard Worker ":client_api", 240*61c4878aSAndroid Build Coastguard Worker ":client_server_testing_threaded", 241*61c4878aSAndroid Build Coastguard Worker "$dir_pw_sync:binary_semaphore", 242*61c4878aSAndroid Build Coastguard Worker "$dir_pw_sync:mutex", 243*61c4878aSAndroid Build Coastguard Worker "$dir_pw_thread:non_portable_test_thread_options", 244*61c4878aSAndroid Build Coastguard Worker "$dir_pw_thread_stl:non_portable_test_thread_options", 245*61c4878aSAndroid Build Coastguard Worker "..:test_protos.nanopb_rpc", 246*61c4878aSAndroid Build Coastguard Worker ] 247*61c4878aSAndroid Build Coastguard Worker sources = [ "client_server_context_threaded_test.cc" ] 248*61c4878aSAndroid Build Coastguard Worker enable_if = _stl_threading_and_nanopb_enabled 249*61c4878aSAndroid Build Coastguard Worker} 250*61c4878aSAndroid Build Coastguard Worker 251*61c4878aSAndroid Build Coastguard Workerpw_test("codegen_test") { 252*61c4878aSAndroid Build Coastguard Worker deps = [ 253*61c4878aSAndroid Build Coastguard Worker ":client_api", 254*61c4878aSAndroid Build Coastguard Worker ":internal_test_utils", 255*61c4878aSAndroid Build Coastguard Worker ":server_api", 256*61c4878aSAndroid Build Coastguard Worker ":test_method_context", 257*61c4878aSAndroid Build Coastguard Worker "..:test_protos.nanopb_rpc", 258*61c4878aSAndroid Build Coastguard Worker "..:test_utils", 259*61c4878aSAndroid Build Coastguard Worker ] 260*61c4878aSAndroid Build Coastguard Worker sources = [ "codegen_test.cc" ] 261*61c4878aSAndroid Build Coastguard Worker enable_if = dir_pw_third_party_nanopb != "" 262*61c4878aSAndroid Build Coastguard Worker} 263*61c4878aSAndroid Build Coastguard Worker 264*61c4878aSAndroid Build Coastguard Workerpw_test("fake_channel_output_test") { 265*61c4878aSAndroid Build Coastguard Worker deps = [ 266*61c4878aSAndroid Build Coastguard Worker ":server_api", 267*61c4878aSAndroid Build Coastguard Worker ":test_method_context", 268*61c4878aSAndroid Build Coastguard Worker "..:test_protos.nanopb_rpc", 269*61c4878aSAndroid Build Coastguard Worker ] 270*61c4878aSAndroid Build Coastguard Worker sources = [ "fake_channel_output_test.cc" ] 271*61c4878aSAndroid Build Coastguard Worker enable_if = dir_pw_third_party_nanopb != "" 272*61c4878aSAndroid Build Coastguard Worker} 273*61c4878aSAndroid Build Coastguard Worker 274*61c4878aSAndroid Build Coastguard Workerpw_test("method_test") { 275*61c4878aSAndroid Build Coastguard Worker deps = [ 276*61c4878aSAndroid Build Coastguard Worker ":internal_test_utils", 277*61c4878aSAndroid Build Coastguard Worker ":server_api", 278*61c4878aSAndroid Build Coastguard Worker "$dir_pw_containers", 279*61c4878aSAndroid Build Coastguard Worker "..:test_protos.nanopb", 280*61c4878aSAndroid Build Coastguard Worker "..:test_utils", 281*61c4878aSAndroid Build Coastguard Worker ] 282*61c4878aSAndroid Build Coastguard Worker sources = [ "method_test.cc" ] 283*61c4878aSAndroid Build Coastguard Worker enable_if = dir_pw_third_party_nanopb != "" 284*61c4878aSAndroid Build Coastguard Worker} 285*61c4878aSAndroid Build Coastguard Worker 286*61c4878aSAndroid Build Coastguard Workerpw_test("method_info_test") { 287*61c4878aSAndroid Build Coastguard Worker deps = [ 288*61c4878aSAndroid Build Coastguard Worker "..:common", 289*61c4878aSAndroid Build Coastguard Worker "..:test_protos.nanopb_rpc", 290*61c4878aSAndroid Build Coastguard Worker "..:test_utils", 291*61c4878aSAndroid Build Coastguard Worker ] 292*61c4878aSAndroid Build Coastguard Worker sources = [ "method_info_test.cc" ] 293*61c4878aSAndroid Build Coastguard Worker enable_if = dir_pw_third_party_nanopb != "" 294*61c4878aSAndroid Build Coastguard Worker} 295*61c4878aSAndroid Build Coastguard Worker 296*61c4878aSAndroid Build Coastguard Workerpw_test("method_lookup_test") { 297*61c4878aSAndroid Build Coastguard Worker deps = [ 298*61c4878aSAndroid Build Coastguard Worker ":server_api", 299*61c4878aSAndroid Build Coastguard Worker ":test_method_context", 300*61c4878aSAndroid Build Coastguard Worker "..:test_protos.nanopb_rpc", 301*61c4878aSAndroid Build Coastguard Worker "..:test_utils", 302*61c4878aSAndroid Build Coastguard Worker "../raw:test_method_context", 303*61c4878aSAndroid Build Coastguard Worker ] 304*61c4878aSAndroid Build Coastguard Worker sources = [ "method_lookup_test.cc" ] 305*61c4878aSAndroid Build Coastguard Worker enable_if = dir_pw_third_party_nanopb != "" 306*61c4878aSAndroid Build Coastguard Worker} 307*61c4878aSAndroid Build Coastguard Worker 308*61c4878aSAndroid Build Coastguard Workerpw_test("method_union_test") { 309*61c4878aSAndroid Build Coastguard Worker deps = [ 310*61c4878aSAndroid Build Coastguard Worker ":internal_test_utils", 311*61c4878aSAndroid Build Coastguard Worker ":server_api", 312*61c4878aSAndroid Build Coastguard Worker "..:test_protos.nanopb", 313*61c4878aSAndroid Build Coastguard Worker "..:test_utils", 314*61c4878aSAndroid Build Coastguard Worker ] 315*61c4878aSAndroid Build Coastguard Worker sources = [ "method_union_test.cc" ] 316*61c4878aSAndroid Build Coastguard Worker enable_if = dir_pw_third_party_nanopb != "" 317*61c4878aSAndroid Build Coastguard Worker} 318*61c4878aSAndroid Build Coastguard Worker 319*61c4878aSAndroid Build Coastguard Workerpw_test("echo_service_test") { 320*61c4878aSAndroid Build Coastguard Worker deps = [ 321*61c4878aSAndroid Build Coastguard Worker ":echo_service", 322*61c4878aSAndroid Build Coastguard Worker ":server_api", 323*61c4878aSAndroid Build Coastguard Worker ":test_method_context", 324*61c4878aSAndroid Build Coastguard Worker ] 325*61c4878aSAndroid Build Coastguard Worker sources = [ "echo_service_test.cc" ] 326*61c4878aSAndroid Build Coastguard Worker enable_if = dir_pw_third_party_nanopb != "" 327*61c4878aSAndroid Build Coastguard Worker} 328*61c4878aSAndroid Build Coastguard Worker 329*61c4878aSAndroid Build Coastguard Workerpw_test("serde_test") { 330*61c4878aSAndroid Build Coastguard Worker deps = [ 331*61c4878aSAndroid Build Coastguard Worker ":server_api", 332*61c4878aSAndroid Build Coastguard Worker "..:test_protos.nanopb", 333*61c4878aSAndroid Build Coastguard Worker ] 334*61c4878aSAndroid Build Coastguard Worker sources = [ "serde_test.cc" ] 335*61c4878aSAndroid Build Coastguard Worker enable_if = dir_pw_third_party_nanopb != "" 336*61c4878aSAndroid Build Coastguard Worker} 337*61c4878aSAndroid Build Coastguard Worker 338*61c4878aSAndroid Build Coastguard Workerpw_test("server_callback_test") { 339*61c4878aSAndroid Build Coastguard Worker deps = [ 340*61c4878aSAndroid Build Coastguard Worker ":server_api", 341*61c4878aSAndroid Build Coastguard Worker ":test_method_context", 342*61c4878aSAndroid Build Coastguard Worker "..:test_protos.nanopb_rpc", 343*61c4878aSAndroid Build Coastguard Worker ] 344*61c4878aSAndroid Build Coastguard Worker sources = [ "server_callback_test.cc" ] 345*61c4878aSAndroid Build Coastguard Worker enable_if = dir_pw_third_party_nanopb != "" 346*61c4878aSAndroid Build Coastguard Worker} 347*61c4878aSAndroid Build Coastguard Worker 348*61c4878aSAndroid Build Coastguard Workerpw_test("server_reader_writer_test") { 349*61c4878aSAndroid Build Coastguard Worker deps = [ 350*61c4878aSAndroid Build Coastguard Worker ":server_api", 351*61c4878aSAndroid Build Coastguard Worker ":test_method_context", 352*61c4878aSAndroid Build Coastguard Worker "..:test_protos.nanopb_rpc", 353*61c4878aSAndroid Build Coastguard Worker ] 354*61c4878aSAndroid Build Coastguard Worker sources = [ "server_reader_writer_test.cc" ] 355*61c4878aSAndroid Build Coastguard Worker enable_if = dir_pw_third_party_nanopb != "" 356*61c4878aSAndroid Build Coastguard Worker} 357*61c4878aSAndroid Build Coastguard Worker 358*61c4878aSAndroid Build Coastguard Workerpw_test("stub_generation_test") { 359*61c4878aSAndroid Build Coastguard Worker deps = [ "..:test_protos.nanopb_rpc" ] 360*61c4878aSAndroid Build Coastguard Worker sources = [ "stub_generation_test.cc" ] 361*61c4878aSAndroid Build Coastguard Worker enable_if = dir_pw_third_party_nanopb != "" 362*61c4878aSAndroid Build Coastguard Worker} 363*61c4878aSAndroid Build Coastguard Worker 364*61c4878aSAndroid Build Coastguard Workerpw_test("synchronous_call_test") { 365*61c4878aSAndroid Build Coastguard Worker deps = [ 366*61c4878aSAndroid Build Coastguard Worker ":test_method_context", 367*61c4878aSAndroid Build Coastguard Worker "$dir_pw_work_queue:pw_work_queue", 368*61c4878aSAndroid Build Coastguard Worker "$dir_pw_work_queue:stl_test_thread", 369*61c4878aSAndroid Build Coastguard Worker "$dir_pw_work_queue:test_thread", 370*61c4878aSAndroid Build Coastguard Worker "..:synchronous_client_api", 371*61c4878aSAndroid Build Coastguard Worker "..:test_protos.nanopb_rpc", 372*61c4878aSAndroid Build Coastguard Worker ] 373*61c4878aSAndroid Build Coastguard Worker sources = [ "synchronous_call_test.cc" ] 374*61c4878aSAndroid Build Coastguard Worker enable_if = dir_pw_third_party_nanopb != "" && 375*61c4878aSAndroid Build Coastguard Worker pw_sync_TIMED_THREAD_NOTIFICATION_BACKEND != "" 376*61c4878aSAndroid Build Coastguard Worker 377*61c4878aSAndroid Build Coastguard Worker # TODO: https://pwbug.dev/325509758 - Doesn't work on the Pico yet; hangs 378*61c4878aSAndroid Build Coastguard Worker # indefinitely. 379*61c4878aSAndroid Build Coastguard Worker if (pw_build_EXECUTABLE_TARGET_TYPE == "pico_executable") { 380*61c4878aSAndroid Build Coastguard Worker enable_if = false 381*61c4878aSAndroid Build Coastguard Worker } 382*61c4878aSAndroid Build Coastguard Worker} 383