1# Copyright 2017 gRPC authors. 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://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, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15licenses(["notice"]) # Apache v2 16 17load("//bazel:grpc_build_system.bzl", "grpc_cc_binary", "grpc_cc_library", "grpc_cc_test", "grpc_package") 18 19grpc_package( 20 name = "test/cpp/end2end", 21 visibility = "public", 22) # Allows external users to implement end2end tests. 23 24grpc_cc_library( 25 name = "test_service_impl", 26 testonly = True, 27 srcs = ["test_service_impl.cc"], 28 hdrs = ["test_service_impl.h"], 29 external_deps = [ 30 "gtest", 31 ], 32 deps = [ 33 "//src/proto/grpc/testing:echo_proto", 34 "//test/cpp/util:test_util", 35 ], 36) 37 38grpc_cc_library( 39 name = "test_health_check_service_impl", 40 testonly = True, 41 srcs = ["test_health_check_service_impl.cc"], 42 hdrs = ["test_health_check_service_impl.h"], 43 deps = [ 44 "//:grpc", 45 "//:grpc++", 46 "//src/proto/grpc/health/v1:health_proto", 47 ], 48) 49 50grpc_cc_library( 51 name = "interceptors_util", 52 testonly = True, 53 srcs = ["interceptors_util.cc"], 54 hdrs = ["interceptors_util.h"], 55 external_deps = [ 56 "gtest", 57 ], 58 deps = [ 59 "//src/proto/grpc/testing:echo_proto", 60 "//test/cpp/util:test_util", 61 ], 62) 63 64grpc_cc_test( 65 name = "async_end2end_test", 66 srcs = ["async_end2end_test.cc"], 67 external_deps = [ 68 "gtest", 69 ], 70 tags = ["no_test_ios"], 71 deps = [ 72 "//:gpr", 73 "//:grpc", 74 "//:grpc++", 75 "//src/proto/grpc/health/v1:health_proto", 76 "//src/proto/grpc/testing:echo_messages_proto", 77 "//src/proto/grpc/testing:echo_proto", 78 "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", 79 "//test/core/util:grpc_test_util", 80 "//test/cpp/util:test_util", 81 ], 82) 83 84grpc_cc_test( 85 name = "time_change_test", 86 srcs = ["time_change_test.cc"], 87 data = [ 88 ":client_crash_test_server", 89 ], 90 external_deps = [ 91 "gtest", 92 ], 93 tags = [ 94 "no_test_android", # android_cc_test doesn't work with data dependency. 95 "no_test_ios", 96 "no_windows", 97 ], 98 deps = [ 99 ":test_service_impl", 100 "//:gpr", 101 "//:grpc", 102 "//:grpc++", 103 "//src/proto/grpc/testing:echo_messages_proto", 104 "//src/proto/grpc/testing:echo_proto", 105 "//test/core/util:grpc_test_util", 106 "//test/cpp/util:test_util", 107 ], 108) 109 110grpc_cc_test( 111 name = "client_crash_test", 112 srcs = ["client_crash_test.cc"], 113 data = [ 114 ":client_crash_test_server", 115 ], 116 external_deps = [ 117 "gtest", 118 ], 119 tags = [ 120 "no_test_android", # android_cc_test doesn't work with data dependency. 121 "no_test_ios", 122 "no_windows", 123 ], 124 deps = [ 125 "//:gpr", 126 "//:grpc", 127 "//:grpc++", 128 "//src/proto/grpc/testing:echo_messages_proto", 129 "//src/proto/grpc/testing:echo_proto", 130 "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", 131 "//test/core/util:grpc_test_util", 132 "//test/cpp/util:test_util", 133 ], 134) 135 136grpc_cc_binary( 137 name = "client_crash_test_server", 138 testonly = True, 139 srcs = ["client_crash_test_server.cc"], 140 external_deps = [ 141 "gflags", 142 "gtest", 143 ], 144 deps = [ 145 ":test_service_impl", 146 "//:gpr", 147 "//:grpc", 148 "//:grpc++", 149 "//src/proto/grpc/testing:echo_messages_proto", 150 "//src/proto/grpc/testing:echo_proto", 151 "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", 152 "//test/core/util:grpc_test_util", 153 "//test/cpp/util:test_config", 154 "//test/cpp/util:test_util", 155 ], 156) 157 158grpc_cc_test( 159 name = "client_callback_end2end_test", 160 srcs = ["client_callback_end2end_test.cc"], 161 external_deps = [ 162 "gtest", 163 ], 164 deps = [ 165 ":interceptors_util", 166 ":test_service_impl", 167 "//:gpr", 168 "//:grpc", 169 "//:grpc++", 170 "//src/proto/grpc/testing:echo_messages_proto", 171 "//src/proto/grpc/testing:echo_proto", 172 "//src/proto/grpc/testing:simple_messages_proto", 173 "//test/core/util:grpc_test_util", 174 "//test/cpp/util:test_util", 175 ], 176) 177 178grpc_cc_test( 179 name = "delegating_channel_test", 180 srcs = ["delegating_channel_test.cc"], 181 external_deps = [ 182 "gtest", 183 ], 184 deps = [ 185 ":test_service_impl", 186 "//:gpr", 187 "//:grpc", 188 "//:grpc++", 189 "//src/proto/grpc/testing:echo_messages_proto", 190 "//src/proto/grpc/testing:echo_proto", 191 "//test/core/util:grpc_test_util", 192 "//test/cpp/util:test_util", 193 ], 194) 195 196grpc_cc_test( 197 name = "client_interceptors_end2end_test", 198 srcs = ["client_interceptors_end2end_test.cc"], 199 external_deps = [ 200 "gtest", 201 ], 202 deps = [ 203 ":interceptors_util", 204 ":test_service_impl", 205 "//:gpr", 206 "//:grpc", 207 "//:grpc++", 208 "//src/proto/grpc/testing:echo_messages_proto", 209 "//src/proto/grpc/testing:echo_proto", 210 "//test/core/util:grpc_test_util", 211 "//test/cpp/util:test_util", 212 ], 213) 214 215grpc_cc_library( 216 name = "end2end_test_lib", 217 testonly = True, 218 srcs = ["end2end_test.cc"], 219 external_deps = [ 220 "gtest", 221 ], 222 deps = [ 223 ":interceptors_util", 224 ":test_service_impl", 225 "//:gpr", 226 "//:grpc", 227 "//:grpc++", 228 "//:grpc++_test", 229 "//src/proto/grpc/testing:echo_messages_proto", 230 "//src/proto/grpc/testing:echo_proto", 231 "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", 232 "//test/core/util:grpc_test_util", 233 "//test/cpp/util:test_util", 234 ], 235 alwayslink = 1, 236) 237 238grpc_cc_test( 239 name = "channelz_service_test", 240 srcs = ["channelz_service_test.cc"], 241 external_deps = [ 242 "gtest", 243 ], 244 deps = [ 245 ":test_service_impl", 246 "//:gpr", 247 "//:grpc", 248 "//:grpc++", 249 "//:grpcpp_channelz", 250 "//src/proto/grpc/channelz:channelz_proto", 251 "//src/proto/grpc/testing:echo_messages_proto", 252 "//src/proto/grpc/testing:echo_proto", 253 "//test/core/util:grpc_test_util", 254 "//test/cpp/util:test_util", 255 ], 256) 257 258grpc_cc_test( 259 name = "server_early_return_test", 260 srcs = ["server_early_return_test.cc"], 261 external_deps = [ 262 "gtest", 263 ], 264 deps = [ 265 "//:gpr", 266 "//:grpc", 267 "//:grpc++", 268 "//src/proto/grpc/testing:echo_messages_proto", 269 "//src/proto/grpc/testing:echo_proto", 270 "//test/core/util:grpc_test_util", 271 "//test/cpp/util:test_util", 272 ], 273) 274 275grpc_cc_test( 276 name = "end2end_test", 277 size = "large", 278 flaky = True, # TODO(b/151704375) 279 tags = ["no_test_ios"], 280 deps = [ 281 ":end2end_test_lib", 282 # DO NOT REMOVE THE grpc++ dependence below since the internal build 283 # system uses it to specialize targets 284 "//:grpc++", 285 ], 286) 287 288grpc_cc_test( 289 name = "exception_test", 290 srcs = ["exception_test.cc"], 291 external_deps = [ 292 "gtest", 293 ], 294 deps = [ 295 "//:gpr", 296 "//:grpc", 297 "//:grpc++", 298 "//src/proto/grpc/testing:echo_messages_proto", 299 "//src/proto/grpc/testing:echo_proto", 300 "//test/core/util:grpc_test_util", 301 "//test/cpp/util:test_util", 302 ], 303) 304 305grpc_cc_test( 306 name = "filter_end2end_test", 307 srcs = ["filter_end2end_test.cc"], 308 external_deps = [ 309 "gtest", 310 ], 311 deps = [ 312 "//:gpr", 313 "//:grpc", 314 "//:grpc++", 315 "//src/proto/grpc/testing:echo_messages_proto", 316 "//src/proto/grpc/testing:echo_proto", 317 "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", 318 "//test/core/util:grpc_test_util", 319 "//test/cpp/util:test_util", 320 ], 321) 322 323grpc_cc_test( 324 name = "generic_end2end_test", 325 srcs = ["generic_end2end_test.cc"], 326 external_deps = [ 327 "gtest", 328 ], 329 deps = [ 330 "//:gpr", 331 "//:grpc", 332 "//:grpc++", 333 "//src/proto/grpc/testing:echo_messages_proto", 334 "//src/proto/grpc/testing:echo_proto", 335 "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", 336 "//test/core/util:grpc_test_util", 337 "//test/cpp/util:test_util", 338 ], 339) 340 341grpc_cc_test( 342 name = "health_service_end2end_test", 343 srcs = ["health_service_end2end_test.cc"], 344 external_deps = [ 345 "gtest", 346 ], 347 deps = [ 348 ":test_health_check_service_impl", 349 ":test_service_impl", 350 "//:gpr", 351 "//:grpc", 352 "//:grpc++", 353 "//src/proto/grpc/health/v1:health_proto", 354 "//src/proto/grpc/testing:echo_messages_proto", 355 "//src/proto/grpc/testing:echo_proto", 356 "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", 357 "//test/core/util:grpc_test_util", 358 "//test/cpp/util:test_util", 359 ], 360) 361 362grpc_cc_test( 363 name = "hybrid_end2end_test", 364 srcs = ["hybrid_end2end_test.cc"], 365 external_deps = [ 366 "gtest", 367 ], 368 deps = [ 369 ":test_service_impl", 370 "//:gpr", 371 "//:grpc", 372 "//:grpc++", 373 "//src/proto/grpc/testing:echo_messages_proto", 374 "//src/proto/grpc/testing:echo_proto", 375 "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", 376 "//test/core/util:grpc_test_util", 377 "//test/cpp/util:test_util", 378 ], 379) 380 381grpc_cc_test( 382 name = "raw_end2end_test", 383 srcs = ["raw_end2end_test.cc"], 384 external_deps = [ 385 "gtest", 386 ], 387 deps = [ 388 ":test_service_impl", 389 "//:gpr", 390 "//:grpc", 391 "//:grpc++", 392 "//src/proto/grpc/testing:echo_messages_proto", 393 "//src/proto/grpc/testing:echo_proto", 394 "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", 395 "//test/core/util:grpc_test_util", 396 "//test/cpp/util:test_util", 397 ], 398) 399 400grpc_cc_test( 401 name = "mock_test", 402 srcs = ["mock_test.cc"], 403 external_deps = [ 404 "gtest", 405 ], 406 deps = [ 407 "//:gpr", 408 "//:grpc", 409 "//:grpc++", 410 "//:grpc++_test", 411 "//src/proto/grpc/testing:echo_messages_proto", 412 "//src/proto/grpc/testing:echo_proto", 413 "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", 414 "//test/core/util:grpc_test_util", 415 "//test/cpp/util:test_util", 416 ], 417) 418 419grpc_cc_test( 420 name = "nonblocking_test", 421 srcs = ["nonblocking_test.cc"], 422 external_deps = [ 423 "gtest", 424 ], 425 deps = [ 426 "//:gpr", 427 "//:grpc", 428 "//:grpc++", 429 "//src/proto/grpc/testing:echo_messages_proto", 430 "//src/proto/grpc/testing:echo_proto", 431 "//test/core/util:grpc_test_util", 432 "//test/cpp/util:test_util", 433 ], 434) 435 436grpc_cc_test( 437 name = "client_lb_end2end_test", 438 srcs = ["client_lb_end2end_test.cc"], 439 external_deps = [ 440 "gtest", 441 ], 442 flaky = True, # TODO(b/151315347) 443 tags = ["no_windows"], # TODO(jtattermusch): fix test on windows 444 deps = [ 445 ":test_service_impl", 446 "//:gpr", 447 "//:grpc", 448 "//:grpc++", 449 "//src/proto/grpc/testing:echo_messages_proto", 450 "//src/proto/grpc/testing:echo_proto", 451 "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", 452 "//src/proto/grpc/testing/xds:orca_load_report_for_test_proto", 453 "//test/core/util:grpc_test_util", 454 "//test/core/util:test_lb_policies", 455 "//test/cpp/util:test_util", 456 ], 457) 458 459grpc_cc_test( 460 name = "service_config_end2end_test", 461 srcs = ["service_config_end2end_test.cc"], 462 external_deps = [ 463 "gtest", 464 ], 465 deps = [ 466 ":test_service_impl", 467 "//:gpr", 468 "//:grpc", 469 "//:grpc++", 470 "//src/proto/grpc/testing:echo_messages_proto", 471 "//src/proto/grpc/testing:echo_proto", 472 "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", 473 "//test/core/util:grpc_test_util", 474 "//test/cpp/util:test_util", 475 ], 476) 477 478grpc_cc_test( 479 name = "grpclb_end2end_test", 480 srcs = ["grpclb_end2end_test.cc"], 481 external_deps = [ 482 "gtest", 483 ], 484 flaky = True, # TODO(b/150567713) 485 tags = ["no_windows"], # TODO(jtattermusch): fix test on windows 486 deps = [ 487 ":test_service_impl", 488 "//:gpr", 489 "//:grpc", 490 "//:grpc++", 491 "//:grpc_resolver_fake", 492 "//src/proto/grpc/lb/v1:load_balancer_proto", 493 "//src/proto/grpc/testing:echo_messages_proto", 494 "//src/proto/grpc/testing:echo_proto", 495 "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", 496 "//test/core/util:grpc_test_util", 497 "//test/cpp/util:test_util", 498 ], 499) 500 501grpc_cc_test( 502 name = "xds_end2end_test", 503 size = "large", 504 srcs = ["xds_end2end_test.cc"], 505 external_deps = [ 506 "gtest", 507 ], 508 flaky = True, # TODO(b/144705388) 509 shard_count = 10, 510 tags = [ 511 "no_test_ios", 512 "no_windows", 513 ], # TODO(jtattermusch): fix test on windows 514 deps = [ 515 ":test_service_impl", 516 "//:gpr", 517 "//:grpc", 518 "//:grpc++", 519 "//:grpc_resolver_fake", 520 "//src/proto/grpc/testing:echo_messages_proto", 521 "//src/proto/grpc/testing:echo_proto", 522 "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", 523 "//src/proto/grpc/testing/xds:ads_for_test_proto", 524 "//src/proto/grpc/testing/xds:cds_for_test_proto", 525 "//src/proto/grpc/testing/xds:eds_for_test_proto", 526 "//src/proto/grpc/testing/xds:lds_rds_for_test_proto", 527 "//src/proto/grpc/testing/xds:lrs_for_test_proto", 528 "//test/core/util:grpc_test_util", 529 "//test/cpp/util:test_util", 530 ], 531) 532 533grpc_cc_test( 534 name = "proto_server_reflection_test", 535 srcs = ["proto_server_reflection_test.cc"], 536 external_deps = [ 537 "gtest", 538 "gflags", 539 ], 540 deps = [ 541 ":test_service_impl", 542 "//:gpr", 543 "//:grpc", 544 "//:grpc++", 545 "//:grpc++_reflection", 546 "//src/proto/grpc/testing:echo_messages_proto", 547 "//src/proto/grpc/testing:echo_proto", 548 "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", 549 "//test/core/util:grpc_test_util", 550 "//test/cpp/util:grpc++_proto_reflection_desc_db", 551 "//test/cpp/util:test_util", 552 ], 553) 554 555grpc_cc_test( 556 name = "server_builder_plugin_test", 557 srcs = ["server_builder_plugin_test.cc"], 558 external_deps = [ 559 "gtest", 560 ], 561 deps = [ 562 ":test_service_impl", 563 "//:gpr", 564 "//:grpc", 565 "//:grpc++", 566 "//src/proto/grpc/testing:echo_messages_proto", 567 "//src/proto/grpc/testing:echo_proto", 568 "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", 569 "//test/core/util:grpc_test_util", 570 "//test/cpp/util:test_util", 571 ], 572) 573 574grpc_cc_test( 575 name = "server_crash_test", 576 srcs = ["server_crash_test.cc"], 577 data = [ 578 ":server_crash_test_client", 579 ], 580 external_deps = [ 581 "gtest", 582 ], 583 tags = [ 584 "no_test_android", # android_cc_test doesn't work with data dependency. 585 "no_test_ios", 586 "no_windows", 587 ], 588 deps = [ 589 "//:gpr", 590 "//:grpc", 591 "//:grpc++", 592 "//src/proto/grpc/testing:echo_messages_proto", 593 "//src/proto/grpc/testing:echo_proto", 594 "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", 595 "//test/core/util:grpc_test_util", 596 "//test/cpp/util:test_util", 597 ], 598) 599 600grpc_cc_binary( 601 name = "server_crash_test_client", 602 testonly = True, 603 srcs = ["server_crash_test_client.cc"], 604 external_deps = [ 605 "gflags", 606 "gtest", 607 ], 608 deps = [ 609 "//:gpr", 610 "//:grpc", 611 "//:grpc++", 612 "//src/proto/grpc/testing:echo_messages_proto", 613 "//src/proto/grpc/testing:echo_proto", 614 "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", 615 "//test/core/util:grpc_test_util", 616 "//test/cpp/util:test_config", 617 "//test/cpp/util:test_util", 618 ], 619) 620 621grpc_cc_test( 622 name = "server_interceptors_end2end_test", 623 srcs = ["server_interceptors_end2end_test.cc"], 624 external_deps = [ 625 "gtest", 626 ], 627 deps = [ 628 ":interceptors_util", 629 ":test_service_impl", 630 "//:gpr", 631 "//:grpc", 632 "//:grpc++", 633 "//src/proto/grpc/testing:echo_messages_proto", 634 "//src/proto/grpc/testing:echo_proto", 635 "//test/core/util:grpc_test_util", 636 "//test/cpp/util:test_util", 637 ], 638) 639 640grpc_cc_test( 641 name = "server_load_reporting_end2end_test", 642 srcs = ["server_load_reporting_end2end_test.cc"], 643 external_deps = [ 644 "gtest", 645 ], 646 tags = [ 647 "no_test_ios", 648 "no_windows", 649 ], 650 deps = [ 651 "//:grpcpp_server_load_reporting", 652 "//src/proto/grpc/testing:echo_proto", 653 "//test/cpp/util:test_util", 654 ], 655) 656 657grpc_cc_test( 658 name = "flaky_network_test", 659 srcs = ["flaky_network_test.cc"], 660 external_deps = [ 661 "gtest", 662 ], 663 tags = [ 664 "manual", 665 "no_test_ios", 666 ], 667 deps = [ 668 ":test_service_impl", 669 "//:gpr", 670 "//:grpc", 671 "//:grpc++", 672 "//src/proto/grpc/testing:echo_messages_proto", 673 "//src/proto/grpc/testing:echo_proto", 674 "//test/core/util:grpc_test_util", 675 "//test/cpp/util:test_util", 676 ], 677) 678 679grpc_cc_test( 680 name = "shutdown_test", 681 srcs = ["shutdown_test.cc"], 682 external_deps = [ 683 "gtest", 684 ], 685 deps = [ 686 "//:gpr", 687 "//:grpc", 688 "//:grpc++", 689 "//src/proto/grpc/testing:echo_messages_proto", 690 "//src/proto/grpc/testing:echo_proto", 691 "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", 692 "//test/core/util:grpc_test_util", 693 "//test/cpp/util:test_util", 694 ], 695) 696 697grpc_cc_test( 698 name = "streaming_throughput_test", 699 srcs = ["streaming_throughput_test.cc"], 700 external_deps = [ 701 "gtest", 702 ], 703 tags = ["no_windows"], 704 deps = [ 705 "//:gpr", 706 "//:grpc", 707 "//:grpc++", 708 "//src/proto/grpc/testing:echo_messages_proto", 709 "//src/proto/grpc/testing:echo_proto", 710 "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", 711 "//test/core/util:grpc_test_util", 712 "//test/cpp/util:test_util", 713 ], 714) 715 716grpc_cc_test( 717 name = "thread_stress_test", 718 size = "large", 719 srcs = ["thread_stress_test.cc"], 720 external_deps = [ 721 "gtest", 722 ], 723 shard_count = 5, 724 tags = ["no_windows"], # TODO(jtattermusch): fix test on windows 725 deps = [ 726 "//:gpr", 727 "//:grpc", 728 "//:grpc++", 729 "//src/proto/grpc/testing:echo_messages_proto", 730 "//src/proto/grpc/testing:echo_proto", 731 "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", 732 "//test/core/util:grpc_test_util", 733 "//test/cpp/util:test_util", 734 ], 735) 736 737grpc_cc_test( 738 name = "cfstream_test", 739 srcs = ["cfstream_test.cc"], 740 external_deps = [ 741 "gtest", 742 ], 743 tags = [ 744 "manual", 745 "no_test_android", 746 "no_test_ios", 747 ], # test requires root, won't work with bazel RBE 748 deps = [ 749 ":test_service_impl", 750 "//:gpr", 751 "//:grpc", 752 "//:grpc++", 753 "//src/proto/grpc/testing:echo_messages_proto", 754 "//src/proto/grpc/testing:echo_proto", 755 "//src/proto/grpc/testing:simple_messages_proto", 756 "//test/core/util:grpc_test_util", 757 "//test/cpp/util:test_util", 758 ], 759) 760 761grpc_cc_test( 762 name = "message_allocator_end2end_test", 763 srcs = ["message_allocator_end2end_test.cc"], 764 external_deps = [ 765 "gtest", 766 ], 767 deps = [ 768 ":test_service_impl", 769 "//:gpr", 770 "//:grpc", 771 "//:grpc++", 772 "//src/proto/grpc/testing:echo_messages_proto", 773 "//src/proto/grpc/testing:echo_proto", 774 "//src/proto/grpc/testing:simple_messages_proto", 775 "//test/core/util:grpc_test_util", 776 "//test/cpp/util:test_util", 777 ], 778) 779 780grpc_cc_test( 781 name = "port_sharing_end2end_test", 782 srcs = ["port_sharing_end2end_test.cc"], 783 external_deps = [ 784 "gtest", 785 ], 786 deps = [ 787 ":test_service_impl", 788 "//:gpr", 789 "//:grpc", 790 "//:grpc++", 791 "//src/proto/grpc/testing:echo_messages_proto", 792 "//src/proto/grpc/testing:echo_proto", 793 "//test/core/util:grpc_test_util", 794 "//test/cpp/util:test_util", 795 ], 796) 797