1 # Copyright 2017 gRPC authors.
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
7 # http://www.apache.org/licenses/LICENSE-2.0
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.
15 load("//bazel:grpc_build_system.bzl", "grpc_cc_binary", "grpc_cc_library", "grpc_cc_test", "grpc_package")
20 name = "test/cpp/end2end",
21 visibility = "public",
22 ) # Allows external users to implement end2end tests.
25 name = "test_service_impl",
27 srcs = ["test_service_impl.cc"],
28 hdrs = ["test_service_impl.h"],
33 "//src/proto/grpc/testing:echo_proto",
34 "//test/cpp/util:test_util",
39 name = "test_health_check_service_impl",
41 srcs = ["test_health_check_service_impl.cc"],
42 hdrs = ["test_health_check_service_impl.h"],
46 "//src/proto/grpc/health/v1:health_proto",
51 name = "interceptors_util",
53 srcs = ["interceptors_util.cc"],
54 hdrs = ["interceptors_util.h"],
59 "//src/proto/grpc/testing:echo_proto",
60 "//test/cpp/util:test_util",
65 name = "async_end2end_test",
66 srcs = ["async_end2end_test.cc"],
70 tags = ["no_test_ios"],
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",
85 name = "time_change_test",
86 srcs = ["time_change_test.cc"],
88 ":client_crash_test_server",
94 "no_test_android", # android_cc_test doesn't work with data dependency.
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",
111 name = "client_crash_test",
112 srcs = ["client_crash_test.cc"],
114 ":client_crash_test_server",
119 flaky = True, # TODO(b/161828686)
121 "no_test_android", # android_cc_test doesn't work with data dependency.
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",
138 name = "client_crash_test_server",
140 srcs = ["client_crash_test_server.cc"],
146 ":test_service_impl",
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",
160 name = "client_callback_end2end_test",
161 srcs = ["client_callback_end2end_test.cc"],
166 ":interceptors_util",
167 ":test_service_impl",
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",
180 name = "delegating_channel_test",
181 srcs = ["delegating_channel_test.cc"],
186 ":test_service_impl",
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",
198 name = "client_interceptors_end2end_test",
199 srcs = ["client_interceptors_end2end_test.cc"],
204 ":interceptors_util",
205 ":test_service_impl",
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",
217 name = "end2end_test_lib",
219 srcs = ["end2end_test.cc"],
225 ":interceptors_util",
226 ":test_service_impl",
231 "//src/proto/grpc/testing:echo_messages_proto",
232 "//src/proto/grpc/testing:echo_proto",
233 "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
234 "//test/core/util:grpc_test_util",
235 "//test/cpp/util:test_util",
241 name = "channelz_service_test",
242 srcs = ["channelz_service_test.cc"],
244 "//src/core/tsi/test_creds:ca.pem",
245 "//src/core/tsi/test_creds:client.key",
246 "//src/core/tsi/test_creds:client.pem",
247 "//src/core/tsi/test_creds:server1.key",
248 "//src/core/tsi/test_creds:server1.pem",
253 # TODO(yulin-liang): The test is not able to load the certificate files on
254 # iOS. Figure out why.
255 tags = ["no_test_ios"],
257 ":test_service_impl",
261 "//:grpcpp_channelz",
262 "//src/proto/grpc/channelz:channelz_proto",
263 "//src/proto/grpc/testing:echo_messages_proto",
264 "//src/proto/grpc/testing:echo_proto",
265 "//test/core/util:grpc_test_util",
266 "//test/cpp/util:test_util",
271 name = "server_early_return_test",
272 srcs = ["server_early_return_test.cc"],
280 "//src/proto/grpc/testing:echo_messages_proto",
281 "//src/proto/grpc/testing:echo_proto",
282 "//test/core/util:grpc_test_util",
283 "//test/cpp/util:test_util",
288 name = "end2end_test",
290 flaky = True, # TODO(b/151704375)
291 tags = ["no_test_ios"],
294 # DO NOT REMOVE THE grpc++ dependence below since the internal build
295 # system uses it to specialize targets
301 name = "exception_test",
302 srcs = ["exception_test.cc"],
310 "//src/proto/grpc/testing:echo_messages_proto",
311 "//src/proto/grpc/testing:echo_proto",
312 "//test/core/util:grpc_test_util",
313 "//test/cpp/util:test_util",
318 name = "filter_end2end_test",
319 srcs = ["filter_end2end_test.cc"],
327 "//src/proto/grpc/testing:echo_messages_proto",
328 "//src/proto/grpc/testing:echo_proto",
329 "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
330 "//test/core/util:grpc_test_util",
331 "//test/cpp/util:test_util",
336 name = "generic_end2end_test",
337 srcs = ["generic_end2end_test.cc"],
345 "//src/proto/grpc/testing:echo_messages_proto",
346 "//src/proto/grpc/testing:echo_proto",
347 "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
348 "//test/core/util:grpc_test_util",
349 "//test/cpp/util:test_util",
354 name = "health_service_end2end_test",
355 srcs = ["health_service_end2end_test.cc"],
360 ":test_health_check_service_impl",
361 ":test_service_impl",
365 "//src/proto/grpc/health/v1:health_proto",
366 "//src/proto/grpc/testing:echo_messages_proto",
367 "//src/proto/grpc/testing:echo_proto",
368 "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
369 "//test/core/util:grpc_test_util",
370 "//test/cpp/util:test_util",
375 name = "hybrid_end2end_test",
376 srcs = ["hybrid_end2end_test.cc"],
381 ":test_service_impl",
385 "//src/proto/grpc/testing:echo_messages_proto",
386 "//src/proto/grpc/testing:echo_proto",
387 "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
388 "//test/core/util:grpc_test_util",
389 "//test/cpp/util:test_util",
394 name = "raw_end2end_test",
395 srcs = ["raw_end2end_test.cc"],
400 ":test_service_impl",
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",
414 srcs = ["mock_test.cc"],
423 "//src/proto/grpc/testing:echo_messages_proto",
424 "//src/proto/grpc/testing:echo_proto",
425 "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
426 "//test/core/util:grpc_test_util",
427 "//test/cpp/util:test_util",
432 name = "nonblocking_test",
433 srcs = ["nonblocking_test.cc"],
441 "//src/proto/grpc/testing:echo_messages_proto",
442 "//src/proto/grpc/testing:echo_proto",
443 "//test/core/util:grpc_test_util",
444 "//test/cpp/util:test_util",
449 name = "client_lb_end2end_test",
450 srcs = ["client_lb_end2end_test.cc"],
454 flaky = True, # TODO(b/151315347)
455 tags = ["no_windows"], # TODO(jtattermusch): fix test on windows
457 ":test_service_impl",
461 "//src/proto/grpc/testing:echo_messages_proto",
462 "//src/proto/grpc/testing:echo_proto",
463 "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
464 "//src/proto/grpc/testing/xds:orca_load_report_for_test_proto",
465 "//test/core/util:grpc_test_util",
466 "//test/core/util:test_lb_policies",
467 "//test/cpp/util:test_util",
472 name = "service_config_end2end_test",
473 srcs = ["service_config_end2end_test.cc"],
478 ":test_service_impl",
482 "//src/proto/grpc/testing:echo_messages_proto",
483 "//src/proto/grpc/testing:echo_proto",
484 "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
485 "//test/core/util:grpc_test_util",
486 "//test/cpp/util:test_util",
491 name = "grpclb_end2end_test",
492 srcs = ["grpclb_end2end_test.cc"],
496 flaky = True, # TODO(b/150567713)
497 tags = ["no_windows"], # TODO(jtattermusch): fix test on windows
499 ":test_service_impl",
503 "//:grpc_resolver_fake",
504 "//src/proto/grpc/lb/v1:load_balancer_proto",
505 "//src/proto/grpc/testing:echo_messages_proto",
506 "//src/proto/grpc/testing:echo_proto",
507 "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
508 "//test/core/util:grpc_test_util",
509 "//test/cpp/util:test_config",
510 "//test/cpp/util:test_util",
515 name = "xds_end2end_test",
517 srcs = ["xds_end2end_test.cc"],
519 "//src/core/tsi/test_creds:badclient.key",
520 "//src/core/tsi/test_creds:badclient.pem",
521 "//src/core/tsi/test_creds:ca.pem",
522 "//src/core/tsi/test_creds:client.key",
523 "//src/core/tsi/test_creds:client.pem",
524 "//src/core/tsi/test_creds:server1.key",
525 "//src/core/tsi/test_creds:server1.pem",
530 flaky = True, # TODO(b/144705388)
535 ], # TODO(jtattermusch): fix test on windows
537 ":test_service_impl",
541 "//:grpc_resolver_fake",
543 "//src/proto/grpc/testing:echo_messages_proto",
544 "//src/proto/grpc/testing:echo_proto",
545 "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
546 "//src/proto/grpc/testing/xds:ads_for_test_proto",
547 "//src/proto/grpc/testing/xds:cds_for_test_proto",
548 "//src/proto/grpc/testing/xds:eds_for_test_proto",
549 "//src/proto/grpc/testing/xds:lds_rds_for_test_proto",
550 "//src/proto/grpc/testing/xds:lrs_for_test_proto",
551 "//src/proto/grpc/testing/xds/v3:ads_proto",
552 "//src/proto/grpc/testing/xds/v3:aggregate_cluster_proto",
553 "//src/proto/grpc/testing/xds/v3:cluster_proto",
554 "//src/proto/grpc/testing/xds/v3:discovery_proto",
555 "//src/proto/grpc/testing/xds/v3:endpoint_proto",
556 "//src/proto/grpc/testing/xds/v3:fault_common_proto",
557 "//src/proto/grpc/testing/xds/v3:fault_proto",
558 "//src/proto/grpc/testing/xds/v3:http_connection_manager_proto",
559 "//src/proto/grpc/testing/xds/v3:listener_proto",
560 "//src/proto/grpc/testing/xds/v3:lrs_proto",
561 "//src/proto/grpc/testing/xds/v3:route_proto",
562 "//src/proto/grpc/testing/xds/v3:router_proto",
563 "//src/proto/grpc/testing/xds/v3:tls_proto",
564 "//test/core/util:grpc_test_util",
565 "//test/cpp/util:test_config",
566 "//test/cpp/util:test_util",
571 name = "proto_server_reflection_test",
572 srcs = ["proto_server_reflection_test.cc"],
577 ":test_service_impl",
581 "//:grpc++_reflection",
582 "//src/proto/grpc/testing:echo_messages_proto",
583 "//src/proto/grpc/testing:echo_proto",
584 "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
585 "//test/core/util:grpc_test_util",
586 "//test/cpp/util:grpc++_proto_reflection_desc_db",
587 "//test/cpp/util:test_util",
592 name = "server_builder_plugin_test",
593 srcs = ["server_builder_plugin_test.cc"],
598 ":test_service_impl",
602 "//src/proto/grpc/testing:echo_messages_proto",
603 "//src/proto/grpc/testing:echo_proto",
604 "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
605 "//test/core/util:grpc_test_util",
606 "//test/cpp/util:test_util",
611 name = "server_crash_test",
612 srcs = ["server_crash_test.cc"],
614 ":server_crash_test_client",
620 "no_test_android", # android_cc_test doesn't work with data dependency.
628 "//src/proto/grpc/testing:echo_messages_proto",
629 "//src/proto/grpc/testing:echo_proto",
630 "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
631 "//test/core/util:grpc_test_util",
632 "//test/cpp/util:test_util",
637 name = "server_crash_test_client",
639 srcs = ["server_crash_test_client.cc"],
648 "//src/proto/grpc/testing:echo_messages_proto",
649 "//src/proto/grpc/testing:echo_proto",
650 "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
651 "//test/core/util:grpc_test_util",
652 "//test/cpp/util:test_config",
653 "//test/cpp/util:test_util",
658 name = "server_interceptors_end2end_test",
659 srcs = ["server_interceptors_end2end_test.cc"],
664 ":interceptors_util",
665 ":test_service_impl",
669 "//src/proto/grpc/testing:echo_messages_proto",
670 "//src/proto/grpc/testing:echo_proto",
671 "//test/core/util:grpc_test_util",
672 "//test/cpp/util:test_util",
677 name = "server_load_reporting_end2end_test",
678 srcs = ["server_load_reporting_end2end_test.cc"],
687 "//:grpcpp_server_load_reporting",
688 "//src/proto/grpc/testing:echo_proto",
689 "//test/cpp/util:test_util",
694 name = "flaky_network_test",
695 srcs = ["flaky_network_test.cc"],
700 # Test manipulates network settings (e.g. using iptables) while running so it is only
701 # run on demand ("manual") and when no other tests are running ("exclusive").
702 # It also means that the test won't work with setups like bazel RBE.
708 ":test_service_impl",
712 "//src/proto/grpc/testing:echo_messages_proto",
713 "//src/proto/grpc/testing:echo_proto",
714 "//test/core/util:grpc_test_util",
715 "//test/cpp/util:test_util",
720 name = "shutdown_test",
721 srcs = ["shutdown_test.cc"],
729 "//src/proto/grpc/testing:echo_messages_proto",
730 "//src/proto/grpc/testing:echo_proto",
731 "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
732 "//test/core/util:grpc_test_util",
733 "//test/cpp/util:test_util",
738 name = "streaming_throughput_test",
739 srcs = ["streaming_throughput_test.cc"],
743 tags = ["no_windows"],
748 "//src/proto/grpc/testing:echo_messages_proto",
749 "//src/proto/grpc/testing:echo_proto",
750 "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
751 "//test/core/util:grpc_test_util",
752 "//test/cpp/util:test_util",
757 name = "thread_stress_test",
759 srcs = ["thread_stress_test.cc"],
764 tags = ["no_windows"], # TODO(jtattermusch): fix test on windows
769 "//src/proto/grpc/testing:echo_messages_proto",
770 "//src/proto/grpc/testing:echo_proto",
771 "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
772 "//test/core/util:grpc_test_util",
773 "//test/cpp/util:test_util",
778 name = "cfstream_test",
779 srcs = ["cfstream_test.cc"],
784 # Test requires root and manipulates network settings while running so it is only
785 # run on demand ("manual") and when no other tests are running ("exclusive").
786 # It also means that the test won't work with setups like bazel RBE.
793 ":test_service_impl",
797 "//src/proto/grpc/testing:echo_messages_proto",
798 "//src/proto/grpc/testing:echo_proto",
799 "//src/proto/grpc/testing:simple_messages_proto",
800 "//test/core/util:grpc_test_util",
801 "//test/cpp/util:test_util",
806 name = "message_allocator_end2end_test",
807 srcs = ["message_allocator_end2end_test.cc"],
812 ":test_service_impl",
816 "//src/proto/grpc/testing:echo_messages_proto",
817 "//src/proto/grpc/testing:echo_proto",
818 "//src/proto/grpc/testing:simple_messages_proto",
819 "//test/core/util:grpc_test_util",
820 "//test/cpp/util:test_util",
825 name = "context_allocator_end2end_test",
826 srcs = ["context_allocator_end2end_test.cc"],
831 ":test_service_impl",
835 "//src/proto/grpc/testing:echo_messages_proto",
836 "//src/proto/grpc/testing:echo_proto",
837 "//src/proto/grpc/testing:simple_messages_proto",
838 "//test/core/util:grpc_test_util",
839 "//test/cpp/util:test_util",
844 name = "port_sharing_end2end_test",
845 srcs = ["port_sharing_end2end_test.cc"],
850 ":test_service_impl",
854 "//src/proto/grpc/testing:echo_messages_proto",
855 "//src/proto/grpc/testing:echo_proto",
856 "//test/core/util:grpc_test_util",
857 "//test/cpp/util:test_util",
862 name = "xds_credentials_end2end_test",
863 srcs = ["xds_credentials_end2end_test.cc"],
867 tags = ["no_test_ios"],
869 ":test_service_impl",
873 "//src/proto/grpc/testing:echo_messages_proto",
874 "//src/proto/grpc/testing:echo_proto",
875 "//test/core/util:grpc_test_util",
876 "//test/cpp/util:test_util",
881 name = "admin_services_end2end_test",
882 srcs = ["admin_services_end2end_test.cc"],
888 "//:grpc++_reflection",
890 "//test/core/util:grpc_test_util",
891 "//test/cpp/util:test_util",
896 name = "sdk_authz_end2end_test",
897 srcs = ["sdk_authz_end2end_test.cc"],
902 ":test_service_impl",
906 "//:grpc++_authorization_provider",
907 "//src/proto/grpc/testing:echo_messages_proto",
908 "//src/proto/grpc/testing:echo_proto",
909 "//test/core/util:grpc_test_util",
910 "//test/cpp/util:test_util",