xref: /aosp_15_r20/external/grpc-grpc/test/cpp/end2end/BUILD (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
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
15load("//bazel:grpc_build_system.bzl", "grpc_cc_binary", "grpc_cc_library", "grpc_cc_test", "grpc_package")
16
17licenses(["notice"])
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        "absl/synchronization",
32    ],
33    deps = [
34        "//src/proto/grpc/testing:echo_proto",
35        "//test/core/util:grpc_test_util",
36        "//test/cpp/util:test_util",
37    ],
38)
39
40grpc_cc_library(
41    name = "test_health_check_service_impl",
42    testonly = True,
43    srcs = ["test_health_check_service_impl.cc"],
44    hdrs = ["test_health_check_service_impl.h"],
45    deps = [
46        "//:grpc",
47        "//:grpc++",
48        "//src/proto/grpc/health/v1:health_proto",
49    ],
50)
51
52grpc_cc_library(
53    name = "counted_service",
54    hdrs = ["counted_service.h"],
55    deps = [
56        "//:grpc",
57    ],
58)
59
60grpc_cc_library(
61    name = "connection_attempt_injector",
62    testonly = True,
63    srcs = ["connection_attempt_injector.cc"],
64    hdrs = ["connection_attempt_injector.h"],
65    deps = [
66        "//:grpc",
67    ],
68)
69
70grpc_cc_library(
71    name = "interceptors_util",
72    testonly = True,
73    srcs = ["interceptors_util.cc"],
74    hdrs = ["interceptors_util.h"],
75    external_deps = [
76        "gtest",
77    ],
78    deps = [
79        "//src/proto/grpc/testing:echo_proto",
80        "//test/cpp/util:test_util",
81    ],
82)
83
84grpc_cc_library(
85    name = "rls_server",
86    testonly = True,
87    srcs = ["rls_server.cc"],
88    hdrs = ["rls_server.h"],
89    external_deps = [
90        "gtest",
91    ],
92    deps = [
93        ":counted_service",
94        "//src/proto/grpc/lookup/v1:rls_proto",
95        "//test/core/util:grpc_test_util",
96    ],
97)
98
99grpc_cc_test(
100    name = "async_end2end_test",
101    srcs = ["async_end2end_test.cc"],
102    external_deps = [
103        "gtest",
104    ],
105    shard_count = 10,
106    tags = [
107        "cpp_end2end_test",
108        "no_test_ios",
109    ],
110    deps = [
111        "//:gpr",
112        "//:grpc",
113        "//:grpc++",
114        "//src/proto/grpc/health/v1:health_proto",
115        "//src/proto/grpc/testing:echo_messages_proto",
116        "//src/proto/grpc/testing:echo_proto",
117        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
118        "//test/core/util:grpc_test_util",
119        "//test/cpp/util:test_util",
120    ],
121)
122
123grpc_cc_test(
124    name = "time_change_test",
125    srcs = ["time_change_test.cc"],
126    data = [
127        ":client_crash_test_server",
128    ],
129    external_deps = [
130        "gtest",
131    ],
132    tags = [
133        "cpp_end2end_test",
134        "no_test_android",  # android_cc_test doesn't work with data dependency.
135        "no_test_ios",
136        "no_windows",
137    ],
138    deps = [
139        ":test_service_impl",
140        "//:gpr",
141        "//:grpc",
142        "//:grpc++",
143        "//src/proto/grpc/testing:echo_messages_proto",
144        "//src/proto/grpc/testing:echo_proto",
145        "//test/core/util:grpc_test_util",
146        "//test/cpp/util:test_util",
147    ],
148)
149
150grpc_cc_test(
151    name = "client_crash_test",
152    srcs = ["client_crash_test.cc"],
153    data = [
154        ":client_crash_test_server",
155    ],
156    external_deps = [
157        "gtest",
158    ],
159    tags = [
160        "no_test_android",  # android_cc_test doesn't work with data dependency.
161        "no_test_ios",
162        "no_windows",
163    ],
164    deps = [
165        "//:gpr",
166        "//:grpc",
167        "//:grpc++",
168        "//src/proto/grpc/testing:echo_messages_proto",
169        "//src/proto/grpc/testing:echo_proto",
170        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
171        "//test/core/util:grpc_test_util",
172        "//test/cpp/util:test_util",
173    ],
174)
175
176grpc_cc_binary(
177    name = "client_crash_test_server",
178    testonly = True,
179    srcs = ["client_crash_test_server.cc"],
180    external_deps = [
181        "absl/flags:flag",
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        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
192        "//test/core/util:grpc_test_util",
193        "//test/cpp/util:test_config",
194        "//test/cpp/util:test_util",
195    ],
196)
197
198grpc_cc_test(
199    name = "client_fork_test",
200    srcs = ["client_fork_test.cc"],
201    external_deps = [
202        "absl/strings",
203        "gtest",
204    ],
205    tags = [
206        "fork_test",
207        "no_test_ios",
208        "no_windows",
209    ],
210    deps = [
211        "//:gpr",
212        "//:grpc",
213        "//:grpc++",
214        "//src/proto/grpc/testing:echo_messages_proto",
215        "//src/proto/grpc/testing:echo_proto",
216        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
217        "//test/core/util:grpc_test_util",
218        "//test/cpp/util:test_config",
219    ],
220)
221
222grpc_cc_test(
223    name = "client_callback_end2end_test",
224    srcs = ["client_callback_end2end_test.cc"],
225    external_deps = [
226        "gtest",
227    ],
228    tags = ["cpp_end2end_test"],
229    deps = [
230        ":interceptors_util",
231        ":test_service_impl",
232        "//:gpr",
233        "//:grpc",
234        "//:grpc++",
235        "//src/proto/grpc/testing:echo_messages_proto",
236        "//src/proto/grpc/testing:echo_proto",
237        "//src/proto/grpc/testing:simple_messages_proto",
238        "//test/core/util:grpc_test_util",
239        "//test/cpp/util:test_util",
240    ],
241)
242
243grpc_cc_test(
244    name = "delegating_channel_test",
245    srcs = ["delegating_channel_test.cc"],
246    external_deps = [
247        "gtest",
248    ],
249    tags = ["cpp_end2end_test"],
250    deps = [
251        ":test_service_impl",
252        "//:gpr",
253        "//:grpc",
254        "//:grpc++",
255        "//src/proto/grpc/testing:echo_messages_proto",
256        "//src/proto/grpc/testing:echo_proto",
257        "//test/core/util:grpc_test_util",
258        "//test/cpp/util:test_util",
259    ],
260)
261
262grpc_cc_test(
263    name = "client_interceptors_end2end_test",
264    srcs = ["client_interceptors_end2end_test.cc"],
265    external_deps = [
266        "gtest",
267    ],
268    tags = ["cpp_end2end_test"],
269    deps = [
270        ":interceptors_util",
271        ":test_service_impl",
272        "//:gpr",
273        "//:grpc",
274        "//:grpc++",
275        "//src/proto/grpc/testing:echo_messages_proto",
276        "//src/proto/grpc/testing:echo_proto",
277        "//test/core/util:grpc_test_util",
278        "//test/cpp/util:test_util",
279    ],
280)
281
282grpc_cc_library(
283    name = "end2end_test_lib",
284    testonly = True,
285    srcs = ["end2end_test.cc"],
286    external_deps = [
287        "gtest",
288    ],
289    linkstatic = True,
290    deps = [
291        ":interceptors_util",
292        ":test_service_impl",
293        "//:gpr",
294        "//:grpc",
295        "//:grpc++",
296        "//:grpc++_test",
297        "//src/proto/grpc/testing:echo_messages_proto",
298        "//src/proto/grpc/testing:echo_proto",
299        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
300        "//test/core/util:grpc_test_util",
301        "//test/cpp/util:test_util",
302    ],
303    alwayslink = 1,
304)
305
306grpc_cc_test(
307    name = "channelz_service_test",
308    srcs = ["channelz_service_test.cc"],
309    data = [
310        "//src/core/tsi/test_creds:ca.pem",
311        "//src/core/tsi/test_creds:client.key",
312        "//src/core/tsi/test_creds:client.pem",
313        "//src/core/tsi/test_creds:server1.key",
314        "//src/core/tsi/test_creds:server1.pem",
315    ],
316    external_deps = [
317        "gtest",
318    ],
319    # TODO(yulin-liang): The test is not able to load the certificate files on
320    # iOS. Figure out why.
321    tags = [
322        "cpp_end2end_test",
323        "no_test_ios",
324    ],
325    deps = [
326        ":test_service_impl",
327        "//:gpr",
328        "//:grpc",
329        "//:grpc++",
330        "//:grpcpp_channelz",
331        "//src/core:slice",
332        "//src/proto/grpc/channelz:channelz_proto",
333        "//src/proto/grpc/testing:echo_messages_proto",
334        "//src/proto/grpc/testing:echo_proto",
335        "//test/core/event_engine:event_engine_test_utils",
336        "//test/core/util:grpc_test_util",
337        "//test/cpp/util:test_util",
338    ],
339)
340
341grpc_cc_test(
342    name = "server_early_return_test",
343    srcs = ["server_early_return_test.cc"],
344    external_deps = [
345        "gtest",
346    ],
347    tags = ["cpp_end2end_test"],
348    deps = [
349        "//:gpr",
350        "//:grpc",
351        "//:grpc++",
352        "//src/proto/grpc/testing:echo_messages_proto",
353        "//src/proto/grpc/testing:echo_proto",
354        "//test/core/util:grpc_test_util",
355        "//test/cpp/util:test_util",
356    ],
357)
358
359grpc_cc_test(
360    name = "end2end_test",
361    size = "large",
362    flaky = True,  # TODO(b/151704375)
363    shard_count = 10,
364    tags = [
365        "cpp_end2end_test",
366        "no_test_ios",
367    ],
368    deps = [
369        ":end2end_test_lib",
370        # DO NOT REMOVE THE grpc++ dependence below since the internal build
371        # system uses it to specialize targets
372        "//:grpc++",
373    ],
374)
375
376grpc_cc_test(
377    name = "exception_test",
378    srcs = ["exception_test.cc"],
379    external_deps = [
380        "gtest",
381    ],
382    deps = [
383        "//:gpr",
384        "//:grpc",
385        "//:grpc++",
386        "//src/proto/grpc/testing:echo_messages_proto",
387        "//src/proto/grpc/testing:echo_proto",
388        "//test/core/util:grpc_test_util",
389        "//test/cpp/util:test_util",
390    ],
391)
392
393grpc_cc_test(
394    name = "generic_end2end_test",
395    srcs = ["generic_end2end_test.cc"],
396    external_deps = [
397        "gtest",
398    ],
399    tags = ["cpp_end2end_test"],
400    deps = [
401        "//:gpr",
402        "//:grpc",
403        "//:grpc++",
404        "//src/proto/grpc/testing:echo_messages_proto",
405        "//src/proto/grpc/testing:echo_proto",
406        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
407        "//test/core/util:grpc_test_util",
408        "//test/cpp/util:test_util",
409    ],
410)
411
412grpc_cc_test(
413    name = "health_service_end2end_test",
414    srcs = ["health_service_end2end_test.cc"],
415    external_deps = [
416        "gtest",
417    ],
418    tags = ["cpp_end2end_test"],
419    deps = [
420        ":test_health_check_service_impl",
421        ":test_service_impl",
422        "//:gpr",
423        "//:grpc",
424        "//:grpc++",
425        "//src/proto/grpc/health/v1:health_proto",
426        "//src/proto/grpc/testing:echo_messages_proto",
427        "//src/proto/grpc/testing:echo_proto",
428        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
429        "//test/core/util:grpc_test_util",
430        "//test/cpp/util:test_util",
431    ],
432)
433
434grpc_cc_test(
435    name = "hybrid_end2end_test",
436    srcs = ["hybrid_end2end_test.cc"],
437    external_deps = [
438        "gtest",
439    ],
440    tags = ["cpp_end2end_test"],
441    deps = [
442        ":test_service_impl",
443        "//:gpr",
444        "//:grpc",
445        "//:grpc++",
446        "//src/proto/grpc/testing:echo_messages_proto",
447        "//src/proto/grpc/testing:echo_proto",
448        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
449        "//test/core/util:grpc_test_util",
450        "//test/cpp/util:test_util",
451    ],
452)
453
454grpc_cc_test(
455    name = "raw_end2end_test",
456    srcs = ["raw_end2end_test.cc"],
457    external_deps = [
458        "gtest",
459    ],
460    tags = ["cpp_end2end_test"],
461    deps = [
462        ":test_service_impl",
463        "//:gpr",
464        "//:grpc",
465        "//:grpc++",
466        "//src/proto/grpc/testing:echo_messages_proto",
467        "//src/proto/grpc/testing:echo_proto",
468        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
469        "//test/core/util:grpc_test_util",
470        "//test/cpp/util:test_util",
471    ],
472)
473
474grpc_cc_test(
475    name = "mock_test",
476    srcs = ["mock_test.cc"],
477    external_deps = [
478        "gtest",
479    ],
480    tags = ["cpp_end2end_test"],
481    deps = [
482        "//:gpr",
483        "//:grpc",
484        "//:grpc++",
485        "//:grpc++_test",
486        "//src/proto/grpc/testing:echo_messages_proto",
487        "//src/proto/grpc/testing:echo_proto",
488        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
489        "//test/core/util:grpc_test_util",
490        "//test/cpp/util:test_util",
491    ],
492)
493
494grpc_cc_test(
495    name = "nonblocking_test",
496    srcs = ["nonblocking_test.cc"],
497    external_deps = [
498        "gtest",
499    ],
500    tags = ["cpp_end2end_test"],
501    deps = [
502        "//:gpr",
503        "//:grpc",
504        "//:grpc++",
505        "//src/proto/grpc/testing:echo_messages_proto",
506        "//src/proto/grpc/testing:echo_proto",
507        "//test/core/util:grpc_test_util",
508        "//test/cpp/util:test_util",
509    ],
510)
511
512grpc_cc_test(
513    name = "client_lb_end2end_test",
514    srcs = ["client_lb_end2end_test.cc"],
515    external_deps = [
516        "gtest",
517    ],
518    flaky = True,  # TODO(b/151315347)
519    tags = [
520        "cpp_end2end_test",
521        "cpp_lb_end2end_test",
522        "no_windows",
523    ],  # TODO(jtattermusch): fix test on windows
524    deps = [
525        ":connection_attempt_injector",
526        ":test_service_impl",
527        "//:gpr",
528        "//:grpc",
529        "//:grpc++",
530        "//:grpcpp_backend_metric_recorder",
531        "//:grpcpp_call_metric_recorder",
532        "//:grpcpp_orca_service",
533        "//src/core:channel_args",
534        "//src/core:config_selector",
535        "//src/proto/grpc/health/v1:health_proto",
536        "//src/proto/grpc/testing:echo_messages_proto",
537        "//src/proto/grpc/testing:echo_proto",
538        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
539        "//src/proto/grpc/testing/xds/v3:orca_load_report_proto",
540        "//test/core/util:grpc_test_util",
541        "//test/core/util:test_lb_policies",
542        "//test/cpp/util:test_util",
543    ],
544)
545
546grpc_cc_test(
547    name = "rls_end2end_test",
548    srcs = ["rls_end2end_test.cc"],
549    external_deps = [
550        "gtest",
551        "absl/types:optional",
552    ],
553    flaky = True,
554    tags = [
555        "cpp_end2end_test",
556        "no_test_ios",
557    ],
558    deps = [
559        ":counted_service",
560        ":rls_server",
561        ":test_service_impl",
562        "//:gpr",
563        "//:grpc",
564        "//:grpc++",
565        "//src/core:channel_args",
566        "//src/proto/grpc/lookup/v1:rls_proto",
567        "//src/proto/grpc/testing:echo_messages_proto",
568        "//src/proto/grpc/testing:echo_proto",
569        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
570        "//test/core/util:fake_stats_plugin",
571        "//test/core/util:grpc_test_util",
572        "//test/core/util:test_lb_policies",
573        "//test/cpp/util:test_config",
574        "//test/cpp/util:test_util",
575    ],
576)
577
578grpc_cc_test(
579    name = "service_config_end2end_test",
580    srcs = ["service_config_end2end_test.cc"],
581    external_deps = [
582        "gtest",
583    ],
584    tags = ["cpp_end2end_test"],
585    deps = [
586        ":test_service_impl",
587        "//:gpr",
588        "//:grpc",
589        "//:grpc++",
590        "//src/core:channel_args",
591        "//src/proto/grpc/testing:echo_messages_proto",
592        "//src/proto/grpc/testing:echo_proto",
593        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
594        "//test/core/util:grpc_test_util",
595        "//test/cpp/util:test_util",
596    ],
597)
598
599grpc_cc_test(
600    name = "grpclb_end2end_test",
601    srcs = ["grpclb_end2end_test.cc"],
602    external_deps = [
603        "gtest",
604    ],
605    flaky = True,  # TODO(b/150567713)
606    shard_count = 20,
607    tags = [
608        "cpp_end2end_test",
609        "cpp_lb_end2end_test",
610        "no_windows",
611    ],  # TODO(jtattermusch): fix test on windows
612    deps = [
613        ":counted_service",
614        ":test_service_impl",
615        "//:gpr",
616        "//:grpc",
617        "//:grpc++",
618        "//:grpc_resolver_fake",
619        "//src/core:channel_args",
620        "//src/proto/grpc/lb/v1:load_balancer_proto",
621        "//src/proto/grpc/testing:echo_messages_proto",
622        "//src/proto/grpc/testing:echo_proto",
623        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
624        "//test/core/util:grpc_test_util",
625        "//test/cpp/util:test_config",
626        "//test/cpp/util:test_util",
627    ],
628)
629
630grpc_cc_test(
631    name = "proto_server_reflection_test",
632    srcs = ["proto_server_reflection_test.cc"],
633    external_deps = [
634        "gtest",
635    ],
636    tags = ["cpp_end2end_test"],
637    deps = [
638        ":test_service_impl",
639        "//:gpr",
640        "//:grpc",
641        "//:grpc++",
642        "//:grpc++_reflection",
643        "//src/proto/grpc/testing:echo_messages_proto",
644        "//src/proto/grpc/testing:echo_proto",
645        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
646        "//test/core/util:grpc_test_util",
647        "//test/cpp/util:grpc++_proto_reflection_desc_db",
648        "//test/cpp/util:test_util",
649    ],
650)
651
652grpc_cc_test(
653    name = "server_builder_plugin_test",
654    srcs = ["server_builder_plugin_test.cc"],
655    external_deps = [
656        "gtest",
657    ],
658    tags = ["cpp_end2end_test"],
659    deps = [
660        ":test_service_impl",
661        "//:gpr",
662        "//:grpc",
663        "//:grpc++",
664        "//src/proto/grpc/testing:echo_messages_proto",
665        "//src/proto/grpc/testing:echo_proto",
666        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
667        "//test/core/util:grpc_test_util",
668        "//test/cpp/util:test_util",
669    ],
670)
671
672grpc_cc_test(
673    name = "server_crash_test",
674    srcs = ["server_crash_test.cc"],
675    data = [
676        ":server_crash_test_client",
677    ],
678    external_deps = [
679        "gtest",
680    ],
681    tags = [
682        "no_test_android",  # android_cc_test doesn't work with data dependency.
683        "no_test_ios",
684        "no_windows",
685    ],
686    deps = [
687        "//:gpr",
688        "//:grpc",
689        "//:grpc++",
690        "//src/proto/grpc/testing:echo_messages_proto",
691        "//src/proto/grpc/testing:echo_proto",
692        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
693        "//test/core/util:grpc_test_util",
694        "//test/cpp/util:test_util",
695    ],
696)
697
698grpc_cc_binary(
699    name = "server_crash_test_client",
700    testonly = True,
701    srcs = ["server_crash_test_client.cc"],
702    external_deps = [
703        "absl/flags:flag",
704        "gtest",
705    ],
706    deps = [
707        "//:gpr",
708        "//:grpc",
709        "//:grpc++",
710        "//src/proto/grpc/testing:echo_messages_proto",
711        "//src/proto/grpc/testing:echo_proto",
712        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
713        "//test/core/util:grpc_test_util",
714        "//test/cpp/util:test_config",
715        "//test/cpp/util:test_util",
716    ],
717)
718
719grpc_cc_test(
720    name = "server_interceptors_end2end_test",
721    srcs = ["server_interceptors_end2end_test.cc"],
722    external_deps = [
723        "gtest",
724    ],
725    tags = ["cpp_end2end_test"],
726    deps = [
727        ":interceptors_util",
728        ":test_service_impl",
729        "//:gpr",
730        "//:grpc",
731        "//:grpc++",
732        "//src/proto/grpc/testing:echo_messages_proto",
733        "//src/proto/grpc/testing:echo_proto",
734        "//test/core/util:grpc_test_util",
735        "//test/cpp/util:test_util",
736    ],
737)
738
739grpc_cc_test(
740    name = "server_load_reporting_end2end_test",
741    srcs = ["server_load_reporting_end2end_test.cc"],
742    external_deps = [
743        "gtest",
744    ],
745    tags = [
746        "cpp_end2end_test",
747        "no_test_ios",
748        "no_windows",
749    ],
750    deps = [
751        "//:grpcpp_server_load_reporting",
752        "//src/proto/grpc/testing:echo_proto",
753        "//test/cpp/util:test_util",
754    ],
755)
756
757grpc_cc_test(
758    name = "flaky_network_test",
759    srcs = ["flaky_network_test.cc"],
760    external_deps = [
761        "gtest",
762    ],
763    tags = [
764        # Test manipulates network settings (e.g. using iptables) while running so it is only
765        # run on demand ("manual") and when no other tests are running ("exclusive").
766        # It also means that the test won't work with setups like bazel RBE.
767        "manual",
768        "exclusive",
769        "no_test_ios",
770    ],
771    deps = [
772        ":test_service_impl",
773        "//:gpr",
774        "//:grpc",
775        "//:grpc++",
776        "//src/proto/grpc/testing:echo_messages_proto",
777        "//src/proto/grpc/testing:echo_proto",
778        "//test/core/util:grpc_test_util",
779        "//test/cpp/util:test_util",
780    ],
781)
782
783grpc_cc_test(
784    name = "shutdown_test",
785    srcs = ["shutdown_test.cc"],
786    external_deps = [
787        "gtest",
788    ],
789    tags = ["cpp_end2end_test"],
790    deps = [
791        "//:gpr",
792        "//:grpc",
793        "//:grpc++",
794        "//src/proto/grpc/testing:echo_messages_proto",
795        "//src/proto/grpc/testing:echo_proto",
796        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
797        "//test/core/util:grpc_test_util",
798        "//test/cpp/util:test_util",
799    ],
800)
801
802grpc_cc_test(
803    name = "streaming_throughput_test",
804    srcs = ["streaming_throughput_test.cc"],
805    external_deps = [
806        "gtest",
807    ],
808    tags = [
809        "cpp_end2end_test",
810        "no_windows",
811    ],
812    deps = [
813        "//:gpr",
814        "//:grpc",
815        "//:grpc++",
816        "//src/proto/grpc/testing:echo_messages_proto",
817        "//src/proto/grpc/testing:echo_proto",
818        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
819        "//test/core/util:grpc_test_util",
820        "//test/cpp/util:test_util",
821    ],
822)
823
824grpc_cc_test(
825    name = "thread_stress_test",
826    size = "large",
827    srcs = ["thread_stress_test.cc"],
828    external_deps = [
829        "gtest",
830    ],
831    shard_count = 5,
832    tags = [
833        "cpp_end2end_test",
834        "no_windows",
835    ],  # TODO(jtattermusch): fix test on windows
836    deps = [
837        "//:gpr",
838        "//:grpc",
839        "//:grpc++",
840        "//src/proto/grpc/testing:echo_messages_proto",
841        "//src/proto/grpc/testing:echo_proto",
842        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
843        "//test/core/util:grpc_test_util",
844        "//test/cpp/util:test_util",
845    ],
846)
847
848grpc_cc_test(
849    name = "cfstream_test",
850    srcs = ["cfstream_test.cc"],
851    external_deps = [
852        "gtest",
853    ],
854    tags = [
855        # Test requires root and manipulates network settings while running so it is only
856        # run on demand ("manual") and when no other tests are running ("exclusive").
857        # It also means that the test won't work with setups like bazel RBE.
858        "manual",
859        "exclusive",
860        "no_test_android",
861        "no_test_ios",
862    ],
863    deps = [
864        ":test_service_impl",
865        "//:gpr",
866        "//:grpc",
867        "//:grpc++",
868        "//src/proto/grpc/testing:echo_messages_proto",
869        "//src/proto/grpc/testing:echo_proto",
870        "//src/proto/grpc/testing:simple_messages_proto",
871        "//test/core/util:grpc_test_util",
872        "//test/cpp/util:test_util",
873    ],
874)
875
876grpc_cc_test(
877    name = "message_allocator_end2end_test",
878    srcs = ["message_allocator_end2end_test.cc"],
879    external_deps = [
880        "gtest",
881    ],
882    tags = ["cpp_end2end_test"],
883    deps = [
884        ":test_service_impl",
885        "//:gpr",
886        "//:grpc",
887        "//:grpc++",
888        "//src/proto/grpc/testing:echo_messages_proto",
889        "//src/proto/grpc/testing:echo_proto",
890        "//src/proto/grpc/testing:simple_messages_proto",
891        "//test/core/util:grpc_test_util",
892        "//test/cpp/util:test_util",
893    ],
894)
895
896grpc_cc_test(
897    name = "context_allocator_end2end_test",
898    srcs = ["context_allocator_end2end_test.cc"],
899    external_deps = [
900        "gtest",
901    ],
902    tags = ["cpp_end2end_test"],
903    deps = [
904        ":test_service_impl",
905        "//:gpr",
906        "//:grpc",
907        "//:grpc++",
908        "//src/proto/grpc/testing:echo_messages_proto",
909        "//src/proto/grpc/testing:echo_proto",
910        "//src/proto/grpc/testing:simple_messages_proto",
911        "//test/core/util:grpc_test_util",
912        "//test/cpp/util:test_util",
913    ],
914)
915
916grpc_cc_test(
917    name = "port_sharing_end2end_test",
918    srcs = ["port_sharing_end2end_test.cc"],
919    external_deps = [
920        "gtest",
921    ],
922    tags = ["cpp_end2end_test"],
923    deps = [
924        ":test_service_impl",
925        "//:gpr",
926        "//:grpc",
927        "//:grpc++",
928        "//src/proto/grpc/testing:echo_messages_proto",
929        "//src/proto/grpc/testing:echo_proto",
930        "//test/core/util:grpc_test_util",
931        "//test/cpp/util:test_util",
932    ],
933)
934
935grpc_cc_test(
936    name = "admin_services_end2end_test",
937    srcs = ["admin_services_end2end_test.cc"],
938    external_deps = [
939        "gtest",
940    ],
941    tags = ["cpp_end2end_test"],
942    deps = [
943        "//:grpc++",
944        "//:grpc++_reflection",
945        "//:grpcpp_admin",
946        "//test/core/util:grpc_test_util",
947        "//test/cpp/util:test_util",
948    ],
949)
950
951grpc_cc_test(
952    name = "grpc_authz_end2end_test",
953    srcs = ["grpc_authz_end2end_test.cc"],
954    data = [
955        "//src/core/tsi/test_creds:ca.pem",
956        "//src/core/tsi/test_creds:client-with-spiffe.key",
957        "//src/core/tsi/test_creds:client-with-spiffe.pem",
958        "//src/core/tsi/test_creds:server1.key",
959        "//src/core/tsi/test_creds:server1.pem",
960    ],
961    external_deps = [
962        "gtest",
963    ],
964    tags = ["cpp_end2end_test"],
965    deps = [
966        ":test_service_impl",
967        "//:gpr",
968        "//:grpc",
969        "//:grpc++",
970        "//:grpc++_authorization_provider",
971        "//src/proto/grpc/testing:echo_messages_proto",
972        "//src/proto/grpc/testing:echo_proto",
973        "//test/core/util:audit_logging_utils",
974        "//test/core/util:grpc_test_util",
975        "//test/cpp/util:test_util",
976    ],
977)
978
979grpc_cc_test(
980    name = "tls_key_export_test",
981    srcs = ["tls_key_export_test.cc"],
982    data = [
983        "//src/core/tsi/test_creds:ca.pem",
984        "//src/core/tsi/test_creds:client.key",
985        "//src/core/tsi/test_creds:client.pem",
986        "//src/core/tsi/test_creds:server0.key",
987        "//src/core/tsi/test_creds:server0.pem",
988    ],
989    external_deps = [
990        "gtest",
991    ],
992    tags = ["cpp_end2end_test"],
993    deps = [
994        "//:gpr",
995        "//:grpc",
996        "//:grpc++",
997        "//src/proto/grpc/testing:echo_messages_proto",
998        "//src/proto/grpc/testing:echo_proto",
999        "//test/core/util:grpc_test_util",
1000        "//test/cpp/util:test_util",
1001    ],
1002)
1003
1004grpc_cc_test(
1005    name = "orca_service_end2end_test",
1006    srcs = ["orca_service_end2end_test.cc"],
1007    external_deps = [
1008        "gtest",
1009    ],
1010    tags = ["cpp_end2end_test"],
1011    deps = [
1012        "//:grpc++",
1013        "//:grpcpp_backend_metric_recorder",
1014        "//:grpcpp_call_metric_recorder",
1015        "//:grpcpp_orca_service",
1016        "//src/proto/grpc/testing/xds/v3:orca_service_proto",
1017        "//test/core/util:grpc_test_util",
1018        "//test/cpp/util:test_util",
1019    ],
1020)
1021
1022grpc_cc_test(
1023    name = "resource_quota_end2end_stress_test",
1024    srcs = ["resource_quota_end2end_stress_test.cc"],
1025    external_deps = [
1026        "gtest",
1027        "absl/strings",
1028        "absl/time",
1029    ],
1030    deps = [
1031        "//:grpc++",
1032        "//src/core:event_engine_tcp_socket_utils",
1033        "//src/core:experiments",
1034        "//src/core:grpc_fake_credentials",
1035        "//src/proto/grpc/testing:echo_messages_proto",
1036        "//src/proto/grpc/testing:echo_proto",
1037        "//test/core/util:grpc_test_util",
1038        "//test/cpp/util:test_util",
1039    ],
1040)
1041
1042grpc_cc_test(
1043    name = "ssl_credentials_test",
1044    srcs = ["ssl_credentials_test.cc"],
1045    data = [
1046        "//src/core/tsi/test_creds:ca.pem",
1047        "//src/core/tsi/test_creds:client.key",
1048        "//src/core/tsi/test_creds:client.pem",
1049        "//src/core/tsi/test_creds:server1.key",
1050        "//src/core/tsi/test_creds:server1.pem",
1051    ],
1052    external_deps = [
1053        "gtest",
1054    ],
1055    tags = ["ssl_credentials_test"],
1056    deps = [
1057        ":test_service_impl",
1058        "//:gpr",
1059        "//:grpc",
1060        "//:grpc++",
1061        "//src/proto/grpc/testing:echo_messages_proto",
1062        "//src/proto/grpc/testing:echo_proto",
1063        "//test/core/util:grpc_test_util",
1064        "//test/cpp/util:test_util",
1065    ],
1066)
1067
1068grpc_cc_test(
1069    name = "tls_credentials_test",
1070    srcs = ["tls_credentials_test.cc"],
1071    data = [
1072        "//src/core/tsi/test_creds:ca.pem",
1073        "//src/core/tsi/test_creds:client.key",
1074        "//src/core/tsi/test_creds:client.pem",
1075        "//src/core/tsi/test_creds:server1.key",
1076        "//src/core/tsi/test_creds:server1.pem",
1077    ],
1078    external_deps = [
1079        "gtest",
1080    ],
1081    tags = ["tls_credentials_test"],
1082    deps = [
1083        ":test_service_impl",
1084        "//:gpr",
1085        "//:grpc",
1086        "//:grpc++",
1087        "//src/proto/grpc/testing:echo_messages_proto",
1088        "//src/proto/grpc/testing:echo_proto",
1089        "//test/core/util:grpc_test_util",
1090        "//test/cpp/util:test_util",
1091    ],
1092)
1093
1094grpc_cc_test(
1095    name = "crl_provider_test",
1096    srcs = ["crl_provider_test.cc"],
1097    data = [
1098        "//test/core/tsi/test_creds/crl_data:ca.pem",
1099        "//test/core/tsi/test_creds/crl_data:revoked.key",
1100        "//test/core/tsi/test_creds/crl_data:revoked.pem",
1101        "//test/core/tsi/test_creds/crl_data:valid.key",
1102        "//test/core/tsi/test_creds/crl_data:valid.pem",
1103        "//test/core/tsi/test_creds/crl_data/crls:current.crl",
1104    ],
1105    external_deps = [
1106        "gtest",
1107    ],
1108    tags = ["crl_provider_test"],
1109    deps = [
1110        ":test_service_impl",
1111        "//:gpr",
1112        "//:grpc",
1113        "//:grpc++",
1114        "//src/proto/grpc/testing:echo_messages_proto",
1115        "//src/proto/grpc/testing:echo_proto",
1116        "//test/core/util:grpc_test_util",
1117        "//test/cpp/util:test_util",
1118    ],
1119)
1120