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