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