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"])
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    flaky = True,  # TODO(b/161828686)
120    tags = [
121        "no_test_android",  # android_cc_test doesn't work with data dependency.
122        "no_test_ios",
123        "no_windows",
124    ],
125    deps = [
126        "//:gpr",
127        "//:grpc",
128        "//:grpc++",
129        "//src/proto/grpc/testing:echo_messages_proto",
130        "//src/proto/grpc/testing:echo_proto",
131        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
132        "//test/core/util:grpc_test_util",
133        "//test/cpp/util:test_util",
134    ],
135)
136
137grpc_cc_binary(
138    name = "client_crash_test_server",
139    testonly = True,
140    srcs = ["client_crash_test_server.cc"],
141    external_deps = [
142        "absl/flags:flag",
143        "gtest",
144    ],
145    deps = [
146        ":test_service_impl",
147        "//:gpr",
148        "//:grpc",
149        "//:grpc++",
150        "//src/proto/grpc/testing:echo_messages_proto",
151        "//src/proto/grpc/testing:echo_proto",
152        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
153        "//test/core/util:grpc_test_util",
154        "//test/cpp/util:test_config",
155        "//test/cpp/util:test_util",
156    ],
157)
158
159grpc_cc_test(
160    name = "client_callback_end2end_test",
161    srcs = ["client_callback_end2end_test.cc"],
162    external_deps = [
163        "gtest",
164    ],
165    deps = [
166        ":interceptors_util",
167        ":test_service_impl",
168        "//:gpr",
169        "//:grpc",
170        "//:grpc++",
171        "//src/proto/grpc/testing:echo_messages_proto",
172        "//src/proto/grpc/testing:echo_proto",
173        "//src/proto/grpc/testing:simple_messages_proto",
174        "//test/core/util:grpc_test_util",
175        "//test/cpp/util:test_util",
176    ],
177)
178
179grpc_cc_test(
180    name = "delegating_channel_test",
181    srcs = ["delegating_channel_test.cc"],
182    external_deps = [
183        "gtest",
184    ],
185    deps = [
186        ":test_service_impl",
187        "//:gpr",
188        "//:grpc",
189        "//:grpc++",
190        "//src/proto/grpc/testing:echo_messages_proto",
191        "//src/proto/grpc/testing:echo_proto",
192        "//test/core/util:grpc_test_util",
193        "//test/cpp/util:test_util",
194    ],
195)
196
197grpc_cc_test(
198    name = "client_interceptors_end2end_test",
199    srcs = ["client_interceptors_end2end_test.cc"],
200    external_deps = [
201        "gtest",
202    ],
203    deps = [
204        ":interceptors_util",
205        ":test_service_impl",
206        "//:gpr",
207        "//:grpc",
208        "//:grpc++",
209        "//src/proto/grpc/testing:echo_messages_proto",
210        "//src/proto/grpc/testing:echo_proto",
211        "//test/core/util:grpc_test_util",
212        "//test/cpp/util:test_util",
213    ],
214)
215
216grpc_cc_library(
217    name = "end2end_test_lib",
218    testonly = True,
219    srcs = ["end2end_test.cc"],
220    external_deps = [
221        "gtest",
222    ],
223    deps = [
224        ":interceptors_util",
225        ":test_service_impl",
226        "//:gpr",
227        "//:grpc",
228        "//:grpc++",
229        "//:grpc++_test",
230        "//src/proto/grpc/testing:echo_messages_proto",
231        "//src/proto/grpc/testing:echo_proto",
232        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
233        "//test/core/util:grpc_test_util",
234        "//test/cpp/util:test_util",
235    ],
236    alwayslink = 1,
237)
238
239grpc_cc_test(
240    name = "channelz_service_test",
241    srcs = ["channelz_service_test.cc"],
242    external_deps = [
243        "gtest",
244    ],
245    deps = [
246        ":test_service_impl",
247        "//:gpr",
248        "//:grpc",
249        "//:grpc++",
250        "//:grpcpp_channelz",
251        "//src/proto/grpc/channelz:channelz_proto",
252        "//src/proto/grpc/testing:echo_messages_proto",
253        "//src/proto/grpc/testing:echo_proto",
254        "//test/core/util:grpc_test_util",
255        "//test/cpp/util:test_util",
256    ],
257)
258
259grpc_cc_test(
260    name = "server_early_return_test",
261    srcs = ["server_early_return_test.cc"],
262    external_deps = [
263        "gtest",
264    ],
265    deps = [
266        "//:gpr",
267        "//:grpc",
268        "//:grpc++",
269        "//src/proto/grpc/testing:echo_messages_proto",
270        "//src/proto/grpc/testing:echo_proto",
271        "//test/core/util:grpc_test_util",
272        "//test/cpp/util:test_util",
273    ],
274)
275
276grpc_cc_test(
277    name = "end2end_test",
278    size = "large",
279    flaky = True,  # TODO(b/151704375)
280    tags = ["no_test_ios"],
281    deps = [
282        ":end2end_test_lib",
283        # DO NOT REMOVE THE grpc++ dependence below since the internal build
284        # system uses it to specialize targets
285        "//:grpc++",
286    ],
287)
288
289grpc_cc_test(
290    name = "exception_test",
291    srcs = ["exception_test.cc"],
292    external_deps = [
293        "gtest",
294    ],
295    deps = [
296        "//:gpr",
297        "//:grpc",
298        "//:grpc++",
299        "//src/proto/grpc/testing:echo_messages_proto",
300        "//src/proto/grpc/testing:echo_proto",
301        "//test/core/util:grpc_test_util",
302        "//test/cpp/util:test_util",
303    ],
304)
305
306grpc_cc_test(
307    name = "filter_end2end_test",
308    srcs = ["filter_end2end_test.cc"],
309    external_deps = [
310        "gtest",
311    ],
312    deps = [
313        "//:gpr",
314        "//:grpc",
315        "//:grpc++",
316        "//src/proto/grpc/testing:echo_messages_proto",
317        "//src/proto/grpc/testing:echo_proto",
318        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
319        "//test/core/util:grpc_test_util",
320        "//test/cpp/util:test_util",
321    ],
322)
323
324grpc_cc_test(
325    name = "generic_end2end_test",
326    srcs = ["generic_end2end_test.cc"],
327    external_deps = [
328        "gtest",
329    ],
330    deps = [
331        "//:gpr",
332        "//:grpc",
333        "//:grpc++",
334        "//src/proto/grpc/testing:echo_messages_proto",
335        "//src/proto/grpc/testing:echo_proto",
336        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
337        "//test/core/util:grpc_test_util",
338        "//test/cpp/util:test_util",
339    ],
340)
341
342grpc_cc_test(
343    name = "health_service_end2end_test",
344    srcs = ["health_service_end2end_test.cc"],
345    external_deps = [
346        "gtest",
347    ],
348    deps = [
349        ":test_health_check_service_impl",
350        ":test_service_impl",
351        "//:gpr",
352        "//:grpc",
353        "//:grpc++",
354        "//src/proto/grpc/health/v1:health_proto",
355        "//src/proto/grpc/testing:echo_messages_proto",
356        "//src/proto/grpc/testing:echo_proto",
357        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
358        "//test/core/util:grpc_test_util",
359        "//test/cpp/util:test_util",
360    ],
361)
362
363grpc_cc_test(
364    name = "hybrid_end2end_test",
365    srcs = ["hybrid_end2end_test.cc"],
366    external_deps = [
367        "gtest",
368    ],
369    deps = [
370        ":test_service_impl",
371        "//:gpr",
372        "//:grpc",
373        "//:grpc++",
374        "//src/proto/grpc/testing:echo_messages_proto",
375        "//src/proto/grpc/testing:echo_proto",
376        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
377        "//test/core/util:grpc_test_util",
378        "//test/cpp/util:test_util",
379    ],
380)
381
382grpc_cc_test(
383    name = "raw_end2end_test",
384    srcs = ["raw_end2end_test.cc"],
385    external_deps = [
386        "gtest",
387    ],
388    deps = [
389        ":test_service_impl",
390        "//:gpr",
391        "//:grpc",
392        "//:grpc++",
393        "//src/proto/grpc/testing:echo_messages_proto",
394        "//src/proto/grpc/testing:echo_proto",
395        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
396        "//test/core/util:grpc_test_util",
397        "//test/cpp/util:test_util",
398    ],
399)
400
401grpc_cc_test(
402    name = "mock_test",
403    srcs = ["mock_test.cc"],
404    external_deps = [
405        "gtest",
406    ],
407    deps = [
408        "//:gpr",
409        "//:grpc",
410        "//:grpc++",
411        "//:grpc++_test",
412        "//src/proto/grpc/testing:echo_messages_proto",
413        "//src/proto/grpc/testing:echo_proto",
414        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
415        "//test/core/util:grpc_test_util",
416        "//test/cpp/util:test_util",
417    ],
418)
419
420grpc_cc_test(
421    name = "nonblocking_test",
422    srcs = ["nonblocking_test.cc"],
423    external_deps = [
424        "gtest",
425    ],
426    deps = [
427        "//:gpr",
428        "//:grpc",
429        "//:grpc++",
430        "//src/proto/grpc/testing:echo_messages_proto",
431        "//src/proto/grpc/testing:echo_proto",
432        "//test/core/util:grpc_test_util",
433        "//test/cpp/util:test_util",
434    ],
435)
436
437grpc_cc_test(
438    name = "client_lb_end2end_test",
439    srcs = ["client_lb_end2end_test.cc"],
440    external_deps = [
441        "gtest",
442    ],
443    flaky = True,  # TODO(b/151315347)
444    tags = ["no_windows"],  # TODO(jtattermusch): fix test on windows
445    deps = [
446        ":test_service_impl",
447        "//:gpr",
448        "//:grpc",
449        "//:grpc++",
450        "//src/proto/grpc/testing:echo_messages_proto",
451        "//src/proto/grpc/testing:echo_proto",
452        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
453        "//src/proto/grpc/testing/xds:orca_load_report_for_test_proto",
454        "//test/core/util:grpc_test_util",
455        "//test/core/util:test_lb_policies",
456        "//test/cpp/util:test_util",
457    ],
458)
459
460grpc_cc_test(
461    name = "service_config_end2end_test",
462    srcs = ["service_config_end2end_test.cc"],
463    external_deps = [
464        "gtest",
465    ],
466    deps = [
467        ":test_service_impl",
468        "//:gpr",
469        "//:grpc",
470        "//:grpc++",
471        "//src/proto/grpc/testing:echo_messages_proto",
472        "//src/proto/grpc/testing:echo_proto",
473        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
474        "//test/core/util:grpc_test_util",
475        "//test/cpp/util:test_util",
476    ],
477)
478
479grpc_cc_test(
480    name = "grpclb_end2end_test",
481    srcs = ["grpclb_end2end_test.cc"],
482    external_deps = [
483        "gtest",
484    ],
485    flaky = True,  # TODO(b/150567713)
486    tags = ["no_windows"],  # TODO(jtattermusch): fix test on windows
487    deps = [
488        ":test_service_impl",
489        "//:gpr",
490        "//:grpc",
491        "//:grpc++",
492        "//:grpc_resolver_fake",
493        "//src/proto/grpc/lb/v1:load_balancer_proto",
494        "//src/proto/grpc/testing:echo_messages_proto",
495        "//src/proto/grpc/testing:echo_proto",
496        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
497        "//test/core/util:grpc_test_util",
498        "//test/cpp/util:test_util",
499    ],
500)
501
502grpc_cc_test(
503    name = "xds_end2end_test",
504    size = "large",
505    srcs = ["xds_end2end_test.cc"],
506    external_deps = [
507        "gtest",
508    ],
509    flaky = True,  # TODO(b/144705388)
510    shard_count = 10,
511    tags = [
512        "no_test_ios",
513        "no_windows",
514    ],  # TODO(jtattermusch): fix test on windows
515    deps = [
516        ":test_service_impl",
517        "//:gpr",
518        "//:grpc",
519        "//:grpc++",
520        "//:grpc_resolver_fake",
521        "//src/proto/grpc/testing:echo_messages_proto",
522        "//src/proto/grpc/testing:echo_proto",
523        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
524        "//src/proto/grpc/testing/xds:ads_for_test_proto",
525        "//src/proto/grpc/testing/xds:cds_for_test_proto",
526        "//src/proto/grpc/testing/xds:eds_for_test_proto",
527        "//src/proto/grpc/testing/xds:lds_rds_for_test_proto",
528        "//src/proto/grpc/testing/xds:lrs_for_test_proto",
529        "//src/proto/grpc/testing/xds/v3:ads_proto",
530        "//src/proto/grpc/testing/xds/v3:cluster_proto",
531        "//src/proto/grpc/testing/xds/v3:discovery_proto",
532        "//src/proto/grpc/testing/xds/v3:endpoint_proto",
533        "//src/proto/grpc/testing/xds/v3:http_connection_manager_proto",
534        "//src/proto/grpc/testing/xds/v3:listener_proto",
535        "//src/proto/grpc/testing/xds/v3:lrs_proto",
536        "//src/proto/grpc/testing/xds/v3:route_proto",
537        "//test/core/util:grpc_test_util",
538        "//test/cpp/util:test_util",
539    ],
540)
541
542grpc_cc_test(
543    name = "proto_server_reflection_test",
544    srcs = ["proto_server_reflection_test.cc"],
545    external_deps = [
546        "gtest",
547    ],
548    deps = [
549        ":test_service_impl",
550        "//:gpr",
551        "//:grpc",
552        "//:grpc++",
553        "//:grpc++_reflection",
554        "//src/proto/grpc/testing:echo_messages_proto",
555        "//src/proto/grpc/testing:echo_proto",
556        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
557        "//test/core/util:grpc_test_util",
558        "//test/cpp/util:grpc++_proto_reflection_desc_db",
559        "//test/cpp/util:test_util",
560    ],
561)
562
563grpc_cc_test(
564    name = "server_builder_plugin_test",
565    srcs = ["server_builder_plugin_test.cc"],
566    external_deps = [
567        "gtest",
568    ],
569    deps = [
570        ":test_service_impl",
571        "//:gpr",
572        "//:grpc",
573        "//:grpc++",
574        "//src/proto/grpc/testing:echo_messages_proto",
575        "//src/proto/grpc/testing:echo_proto",
576        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
577        "//test/core/util:grpc_test_util",
578        "//test/cpp/util:test_util",
579    ],
580)
581
582grpc_cc_test(
583    name = "server_crash_test",
584    srcs = ["server_crash_test.cc"],
585    data = [
586        ":server_crash_test_client",
587    ],
588    external_deps = [
589        "gtest",
590    ],
591    tags = [
592        "no_test_android",  # android_cc_test doesn't work with data dependency.
593        "no_test_ios",
594        "no_windows",
595    ],
596    deps = [
597        "//:gpr",
598        "//:grpc",
599        "//:grpc++",
600        "//src/proto/grpc/testing:echo_messages_proto",
601        "//src/proto/grpc/testing:echo_proto",
602        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
603        "//test/core/util:grpc_test_util",
604        "//test/cpp/util:test_util",
605    ],
606)
607
608grpc_cc_binary(
609    name = "server_crash_test_client",
610    testonly = True,
611    srcs = ["server_crash_test_client.cc"],
612    external_deps = [
613        "absl/flags:flag",
614        "gtest",
615    ],
616    deps = [
617        "//:gpr",
618        "//:grpc",
619        "//:grpc++",
620        "//src/proto/grpc/testing:echo_messages_proto",
621        "//src/proto/grpc/testing:echo_proto",
622        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
623        "//test/core/util:grpc_test_util",
624        "//test/cpp/util:test_config",
625        "//test/cpp/util:test_util",
626    ],
627)
628
629grpc_cc_test(
630    name = "server_interceptors_end2end_test",
631    srcs = ["server_interceptors_end2end_test.cc"],
632    external_deps = [
633        "gtest",
634    ],
635    deps = [
636        ":interceptors_util",
637        ":test_service_impl",
638        "//:gpr",
639        "//:grpc",
640        "//:grpc++",
641        "//src/proto/grpc/testing:echo_messages_proto",
642        "//src/proto/grpc/testing:echo_proto",
643        "//test/core/util:grpc_test_util",
644        "//test/cpp/util:test_util",
645    ],
646)
647
648grpc_cc_test(
649    name = "server_load_reporting_end2end_test",
650    srcs = ["server_load_reporting_end2end_test.cc"],
651    external_deps = [
652        "gtest",
653    ],
654    tags = [
655        "no_test_ios",
656        "no_windows",
657    ],
658    deps = [
659        "//:grpcpp_server_load_reporting",
660        "//src/proto/grpc/testing:echo_proto",
661        "//test/cpp/util:test_util",
662    ],
663)
664
665grpc_cc_test(
666    name = "flaky_network_test",
667    srcs = ["flaky_network_test.cc"],
668    external_deps = [
669        "gtest",
670    ],
671    tags = [
672        # Test manipulates network settings (e.g. using iptables) while running so it is only
673        # run on demand ("manual") and when no other tests are running ("exclusive").
674        # It also means that the test won't work with setups like bazel RBE.
675        "manual",
676        "exclusive",
677        "no_test_ios",
678    ],
679    deps = [
680        ":test_service_impl",
681        "//:gpr",
682        "//:grpc",
683        "//:grpc++",
684        "//src/proto/grpc/testing:echo_messages_proto",
685        "//src/proto/grpc/testing:echo_proto",
686        "//test/core/util:grpc_test_util",
687        "//test/cpp/util:test_util",
688    ],
689)
690
691grpc_cc_test(
692    name = "shutdown_test",
693    srcs = ["shutdown_test.cc"],
694    external_deps = [
695        "gtest",
696    ],
697    deps = [
698        "//:gpr",
699        "//:grpc",
700        "//:grpc++",
701        "//src/proto/grpc/testing:echo_messages_proto",
702        "//src/proto/grpc/testing:echo_proto",
703        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
704        "//test/core/util:grpc_test_util",
705        "//test/cpp/util:test_util",
706    ],
707)
708
709grpc_cc_test(
710    name = "streaming_throughput_test",
711    srcs = ["streaming_throughput_test.cc"],
712    external_deps = [
713        "gtest",
714    ],
715    tags = ["no_windows"],
716    deps = [
717        "//:gpr",
718        "//:grpc",
719        "//:grpc++",
720        "//src/proto/grpc/testing:echo_messages_proto",
721        "//src/proto/grpc/testing:echo_proto",
722        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
723        "//test/core/util:grpc_test_util",
724        "//test/cpp/util:test_util",
725    ],
726)
727
728grpc_cc_test(
729    name = "thread_stress_test",
730    size = "large",
731    srcs = ["thread_stress_test.cc"],
732    external_deps = [
733        "gtest",
734    ],
735    shard_count = 5,
736    tags = ["no_windows"],  # TODO(jtattermusch): fix test on windows
737    deps = [
738        "//:gpr",
739        "//:grpc",
740        "//:grpc++",
741        "//src/proto/grpc/testing:echo_messages_proto",
742        "//src/proto/grpc/testing:echo_proto",
743        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
744        "//test/core/util:grpc_test_util",
745        "//test/cpp/util:test_util",
746    ],
747)
748
749grpc_cc_test(
750    name = "cfstream_test",
751    srcs = ["cfstream_test.cc"],
752    external_deps = [
753        "gtest",
754    ],
755    tags = [
756        # Test requires root and manipulates network settings while running so it is only
757        # run on demand ("manual") and when no other tests are running ("exclusive").
758        # It also means that the test won't work with setups like bazel RBE.
759        "manual",
760        "exclusive",
761        "no_test_android",
762        "no_test_ios",
763    ],
764    deps = [
765        ":test_service_impl",
766        "//:gpr",
767        "//:grpc",
768        "//:grpc++",
769        "//src/proto/grpc/testing:echo_messages_proto",
770        "//src/proto/grpc/testing:echo_proto",
771        "//src/proto/grpc/testing:simple_messages_proto",
772        "//test/core/util:grpc_test_util",
773        "//test/cpp/util:test_util",
774    ],
775)
776
777grpc_cc_test(
778    name = "message_allocator_end2end_test",
779    srcs = ["message_allocator_end2end_test.cc"],
780    external_deps = [
781        "gtest",
782    ],
783    deps = [
784        ":test_service_impl",
785        "//:gpr",
786        "//:grpc",
787        "//:grpc++",
788        "//src/proto/grpc/testing:echo_messages_proto",
789        "//src/proto/grpc/testing:echo_proto",
790        "//src/proto/grpc/testing:simple_messages_proto",
791        "//test/core/util:grpc_test_util",
792        "//test/cpp/util:test_util",
793    ],
794)
795
796grpc_cc_test(
797    name = "port_sharing_end2end_test",
798    srcs = ["port_sharing_end2end_test.cc"],
799    external_deps = [
800        "gtest",
801    ],
802    deps = [
803        ":test_service_impl",
804        "//:gpr",
805        "//:grpc",
806        "//:grpc++",
807        "//src/proto/grpc/testing:echo_messages_proto",
808        "//src/proto/grpc/testing:echo_proto",
809        "//test/core/util:grpc_test_util",
810        "//test/cpp/util:test_util",
811    ],
812)
813
814grpc_cc_test(
815    name = "xds_credentials_end2end_test",
816    srcs = ["xds_credentials_end2end_test.cc"],
817    external_deps = [
818        "gtest",
819    ],
820    deps = [
821        ":test_service_impl",
822        "//:gpr",
823        "//:grpc",
824        "//:grpc++",
825        "//src/proto/grpc/testing:echo_messages_proto",
826        "//src/proto/grpc/testing:echo_proto",
827        "//test/core/util:grpc_test_util",
828        "//test/cpp/util:test_util",
829    ],
830)
831