519a33fd8a4abe30ce4d13452c3ed5d61031878d
[platform/upstream/grpc.git] / test / cpp / end2end / BUILD
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
15 licenses(["notice"])  # Apache v2
16
17 load("//bazel:grpc_build_system.bzl", "grpc_cc_binary", "grpc_cc_library", "grpc_cc_test", "grpc_package")
18
19 grpc_package(
20     name = "test/cpp/end2end",
21     visibility = "public",
22 )  # Allows external users to implement end2end tests.
23
24 grpc_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
38 grpc_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
50 grpc_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
64 grpc_cc_test(
65     name = "async_end2end_test",
66     srcs = ["async_end2end_test.cc"],
67     external_deps = [
68         "gtest",
69     ],
70     deps = [
71         "//:gpr",
72         "//:grpc",
73         "//:grpc++",
74         "//src/proto/grpc/health/v1:health_proto",
75         "//src/proto/grpc/testing:echo_messages_proto",
76         "//src/proto/grpc/testing:echo_proto",
77         "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
78         "//test/core/util:grpc_test_util",
79         "//test/cpp/util:test_util",
80     ],
81 )
82
83 grpc_cc_test(
84     name = "time_change_test",
85     srcs = ["time_change_test.cc"],
86     data = [
87         ":client_crash_test_server",
88     ],
89     external_deps = [
90         "gtest",
91     ],
92     deps = [
93         ":test_service_impl",
94         "//:gpr",
95         "//:grpc",
96         "//:grpc++",
97         "//src/proto/grpc/testing:echo_messages_proto",
98         "//src/proto/grpc/testing:echo_proto",
99         "//test/core/util:grpc_test_util",
100         "//test/cpp/util:test_util",
101     ],
102     tags = ["no_windows"],
103 )
104
105 grpc_cc_test(
106     name = "client_crash_test",
107     srcs = ["client_crash_test.cc"],
108     data = [
109         ":client_crash_test_server",
110     ],
111     external_deps = [
112         "gtest",
113     ],
114     deps = [
115         "//:gpr",
116         "//:grpc",
117         "//:grpc++",
118         "//src/proto/grpc/testing:echo_messages_proto",
119         "//src/proto/grpc/testing:echo_proto",
120         "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
121         "//test/core/util:grpc_test_util",
122         "//test/cpp/util:test_util",
123     ],
124 )
125
126 grpc_cc_binary(
127     name = "client_crash_test_server",
128     testonly = True,
129     srcs = ["client_crash_test_server.cc"],
130     external_deps = [
131         "gflags",
132         "gtest",
133     ],
134     deps = [
135         ":test_service_impl",
136         "//:gpr",
137         "//:grpc",
138         "//:grpc++",
139         "//src/proto/grpc/testing:echo_messages_proto",
140         "//src/proto/grpc/testing:echo_proto",
141         "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
142         "//test/core/util:grpc_test_util",
143         "//test/cpp/util:test_config",
144         "//test/cpp/util:test_util",
145     ],
146 )
147
148 grpc_cc_test(
149     name = "client_callback_end2end_test",
150     srcs = ["client_callback_end2end_test.cc"],
151     external_deps = [
152         "gtest",
153     ],
154     deps = [
155         ":interceptors_util",
156         ":test_service_impl",
157         "//:gpr",
158         "//:grpc",
159         "//:grpc++",
160         "//src/proto/grpc/testing:echo_messages_proto",
161         "//src/proto/grpc/testing:echo_proto",
162         "//src/proto/grpc/testing:simple_messages_proto",
163         "//test/core/util:grpc_test_util",
164         "//test/cpp/util:test_util",
165     ],
166 )
167
168 grpc_cc_test(
169     name = "client_interceptors_end2end_test",
170     srcs = ["client_interceptors_end2end_test.cc"],
171     external_deps = [
172         "gtest",
173     ],
174     deps = [
175         ":interceptors_util",
176         ":test_service_impl",
177         "//:gpr",
178         "//:grpc",
179         "//:grpc++",
180         "//src/proto/grpc/testing:echo_messages_proto",
181         "//src/proto/grpc/testing:echo_proto",
182         "//test/core/util:grpc_test_util",
183         "//test/cpp/util:test_util",
184     ],
185 )
186
187 grpc_cc_library(
188     name = "end2end_test_lib",
189     testonly = True,
190     srcs = ["end2end_test.cc"],
191     external_deps = [
192         "gtest",
193     ],
194     deps = [
195         ":interceptors_util",
196         ":test_service_impl",
197         "//:gpr",
198         "//:grpc",
199         "//:grpc++",
200         "//src/proto/grpc/testing:echo_messages_proto",
201         "//src/proto/grpc/testing:echo_proto",
202         "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
203         "//test/core/util:grpc_test_util",
204         "//test/cpp/util:test_util",
205     ],
206 )
207
208 grpc_cc_test(
209     name = "channelz_service_test",
210     srcs = ["channelz_service_test.cc"],
211     external_deps = [
212         "gtest",
213     ],
214     deps = [
215         ":test_service_impl",
216         "//:gpr",
217         "//:grpc",
218         "//:grpc++",
219         "//:grpcpp_channelz",
220         "//src/proto/grpc/channelz:channelz_proto",
221         "//src/proto/grpc/testing:echo_messages_proto",
222         "//src/proto/grpc/testing:echo_proto",
223         "//test/core/util:grpc_test_util",
224         "//test/cpp/util:test_util",
225     ],
226 )
227
228 grpc_cc_test(
229     name = "server_early_return_test",
230     srcs = ["server_early_return_test.cc"],
231     external_deps = [
232         "gtest",
233     ],
234     deps = [
235         "//:gpr",
236         "//:grpc",
237         "//:grpc++",
238         "//src/proto/grpc/testing:echo_messages_proto",
239         "//src/proto/grpc/testing:echo_proto",
240         "//test/core/util:grpc_test_util",
241         "//test/cpp/util:test_util",
242     ],
243 )
244
245 grpc_cc_test(
246     name = "end2end_test",
247     size = "large",
248     deps = [
249         ":end2end_test_lib",
250         # DO NOT REMOVE THE grpc++ dependence below since the internal build
251         # system uses it to specialize targets
252         "//:grpc++",
253     ],
254 )
255
256 grpc_cc_test(
257     name = "exception_test",
258     srcs = ["exception_test.cc"],
259     external_deps = [
260         "gtest",
261     ],
262     deps = [
263         "//:gpr",
264         "//:grpc",
265         "//:grpc++",
266         "//src/proto/grpc/testing:echo_messages_proto",
267         "//src/proto/grpc/testing:echo_proto",
268         "//test/core/util:grpc_test_util",
269         "//test/cpp/util:test_util",
270     ],
271 )
272
273 grpc_cc_test(
274     name = "filter_end2end_test",
275     srcs = ["filter_end2end_test.cc"],
276     external_deps = [
277         "gtest",
278     ],
279     deps = [
280         "//:gpr",
281         "//:grpc",
282         "//:grpc++",
283         "//src/proto/grpc/testing:echo_messages_proto",
284         "//src/proto/grpc/testing:echo_proto",
285         "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
286         "//test/core/util:grpc_test_util",
287         "//test/cpp/util:test_util",
288     ],
289 )
290
291 grpc_cc_test(
292     name = "generic_end2end_test",
293     srcs = ["generic_end2end_test.cc"],
294     external_deps = [
295         "gtest",
296     ],
297     deps = [
298         "//:gpr",
299         "//:grpc",
300         "//:grpc++",
301         "//src/proto/grpc/testing:echo_messages_proto",
302         "//src/proto/grpc/testing:echo_proto",
303         "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
304         "//test/core/util:grpc_test_util",
305         "//test/cpp/util:test_util",
306     ],
307 )
308
309 grpc_cc_test(
310     name = "health_service_end2end_test",
311     srcs = ["health_service_end2end_test.cc"],
312     external_deps = [
313         "gtest",
314     ],
315     deps = [
316         ":test_health_check_service_impl",
317         ":test_service_impl",
318         "//:gpr",
319         "//:grpc",
320         "//:grpc++",
321         "//src/proto/grpc/health/v1:health_proto",
322         "//src/proto/grpc/testing:echo_messages_proto",
323         "//src/proto/grpc/testing:echo_proto",
324         "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
325         "//test/core/util:grpc_test_util",
326         "//test/cpp/util:test_util",
327     ],
328 )
329
330 grpc_cc_test(
331     name = "hybrid_end2end_test",
332     srcs = ["hybrid_end2end_test.cc"],
333     external_deps = [
334         "gtest",
335     ],
336     deps = [
337         ":test_service_impl",
338         "//:gpr",
339         "//:grpc",
340         "//:grpc++",
341         "//src/proto/grpc/testing:echo_messages_proto",
342         "//src/proto/grpc/testing:echo_proto",
343         "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
344         "//test/core/util:grpc_test_util",
345         "//test/cpp/util:test_util",
346     ],
347 )
348
349 grpc_cc_test(
350     name = "raw_end2end_test",
351     srcs = ["raw_end2end_test.cc"],
352     external_deps = [
353         "gtest",
354     ],
355     deps = [
356         ":test_service_impl",
357         "//:gpr",
358         "//:grpc",
359         "//:grpc++",
360         "//src/proto/grpc/testing:echo_messages_proto",
361         "//src/proto/grpc/testing:echo_proto",
362         "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
363         "//test/core/util:grpc_test_util",
364         "//test/cpp/util:test_util",
365     ],
366 )
367
368 grpc_cc_test(
369     name = "mock_test",
370     srcs = ["mock_test.cc"],
371     external_deps = [
372         "gmock",
373         "gtest",
374     ],
375     deps = [
376         "//:gpr",
377         "//:grpc",
378         "//:grpc++",
379         "//:grpc++_test",
380         "//src/proto/grpc/testing:echo_messages_proto",
381         "//src/proto/grpc/testing:echo_proto",
382         "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
383         "//test/core/util:grpc_test_util",
384         "//test/cpp/util:test_util",
385     ],
386 )
387
388 grpc_cc_test(
389     name = "nonblocking_test",
390     srcs = ["nonblocking_test.cc"],
391     external_deps = [
392         "gtest",
393     ],
394     deps = [
395         "//:gpr",
396         "//:grpc",
397         "//:grpc++",
398         "//src/proto/grpc/testing:echo_messages_proto",
399         "//src/proto/grpc/testing:echo_proto",
400         "//test/core/util:grpc_test_util",
401         "//test/cpp/util:test_util",
402     ],
403 )
404
405 grpc_cc_test(
406     name = "client_lb_end2end_test",
407     srcs = ["client_lb_end2end_test.cc"],
408     external_deps = [
409         "gmock",
410         "gtest",
411     ],
412     deps = [
413         ":test_service_impl",
414         "//:gpr",
415         "//:grpc",
416         "//:grpc++",
417         "//src/proto/grpc/testing:echo_messages_proto",
418         "//src/proto/grpc/testing:echo_proto",
419         "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
420         "//test/core/util:grpc_test_util",
421         "//test/core/util:test_lb_policies",
422         "//test/cpp/util:test_util",
423     ],
424 )
425
426 grpc_cc_test(
427     name = "service_config_end2end_test",
428     srcs = ["service_config_end2end_test.cc"],
429     external_deps = [
430         "gmock",
431         "gtest",
432     ],
433     deps = [
434         ":test_service_impl",
435         "//:gpr",
436         "//:grpc",
437         "//:grpc++",
438         "//src/proto/grpc/testing:echo_messages_proto",
439         "//src/proto/grpc/testing:echo_proto",
440         "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
441         "//test/core/util:grpc_test_util",
442         "//test/cpp/util:test_util",
443     ],
444 )
445
446 grpc_cc_test(
447     name = "grpclb_end2end_test",
448     srcs = ["grpclb_end2end_test.cc"],
449     external_deps = [
450         "gmock",
451         "gtest",
452     ],
453     deps = [
454         ":test_service_impl",
455         "//:gpr",
456         "//:grpc",
457         "//:grpc++",
458         "//:grpc_resolver_fake",
459         "//src/proto/grpc/lb/v1:load_balancer_proto",
460         "//src/proto/grpc/testing:echo_messages_proto",
461         "//src/proto/grpc/testing:echo_proto",
462         "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
463         "//test/core/util:grpc_test_util",
464         "//test/cpp/util:test_util",
465     ],
466 )
467
468 grpc_cc_test(
469     name = "xds_end2end_test",
470     srcs = ["xds_end2end_test.cc"],
471     external_deps = [
472         "gmock",
473         "gtest",
474     ],
475     deps = [
476         ":test_service_impl",
477         "//:gpr",
478         "//:grpc",
479         "//:grpc++",
480         "//:grpc_resolver_fake",
481         "//src/proto/grpc/lb/v1:load_balancer_proto",
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",
487     ],
488 )
489
490 grpc_cc_test(
491     name = "proto_server_reflection_test",
492     srcs = ["proto_server_reflection_test.cc"],
493     external_deps = [
494         "gtest",
495         "gflags",
496     ],
497     deps = [
498         ":test_service_impl",
499         "//:gpr",
500         "//:grpc",
501         "//:grpc++",
502         "//:grpc++_reflection",
503         "//src/proto/grpc/testing:echo_messages_proto",
504         "//src/proto/grpc/testing:echo_proto",
505         "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
506         "//test/core/util:grpc_test_util",
507         "//test/cpp/util:grpc++_proto_reflection_desc_db",
508         "//test/cpp/util:test_util",
509     ],
510 )
511
512 grpc_cc_test(
513     name = "server_builder_plugin_test",
514     srcs = ["server_builder_plugin_test.cc"],
515     external_deps = [
516         "gtest",
517     ],
518     deps = [
519         ":test_service_impl",
520         "//:gpr",
521         "//:grpc",
522         "//:grpc++",
523         "//src/proto/grpc/testing:echo_messages_proto",
524         "//src/proto/grpc/testing:echo_proto",
525         "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
526         "//test/core/util:grpc_test_util",
527         "//test/cpp/util:test_util",
528     ],
529 )
530
531 grpc_cc_test(
532     name = "server_crash_test",
533     srcs = ["server_crash_test.cc"],
534     data = [
535         ":server_crash_test_client",
536     ],
537     external_deps = [
538         "gtest",
539     ],
540     deps = [
541         "//:gpr",
542         "//:grpc",
543         "//:grpc++",
544         "//src/proto/grpc/testing:echo_messages_proto",
545         "//src/proto/grpc/testing:echo_proto",
546         "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
547         "//test/core/util:grpc_test_util",
548         "//test/cpp/util:test_util",
549     ],
550 )
551
552 grpc_cc_binary(
553     name = "server_crash_test_client",
554     testonly = True,
555     srcs = ["server_crash_test_client.cc"],
556     external_deps = [
557         "gflags",
558         "gtest",
559     ],
560     deps = [
561         "//:gpr",
562         "//:grpc",
563         "//:grpc++",
564         "//src/proto/grpc/testing:echo_messages_proto",
565         "//src/proto/grpc/testing:echo_proto",
566         "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
567         "//test/core/util:grpc_test_util",
568         "//test/cpp/util:test_config",
569         "//test/cpp/util:test_util",
570     ],
571 )
572
573 grpc_cc_test(
574     name = "server_interceptors_end2end_test",
575     srcs = ["server_interceptors_end2end_test.cc"],
576     external_deps = [
577         "gtest",
578     ],
579     deps = [
580         ":interceptors_util",
581         ":test_service_impl",
582         "//:gpr",
583         "//:grpc",
584         "//:grpc++",
585         "//src/proto/grpc/testing:echo_messages_proto",
586         "//src/proto/grpc/testing:echo_proto",
587         "//test/core/util:grpc_test_util",
588         "//test/cpp/util:test_util",
589     ],
590 )
591
592 grpc_cc_test(
593     name = "server_load_reporting_end2end_test",
594     srcs = ["server_load_reporting_end2end_test.cc"],
595     external_deps = [
596         "gtest",
597         "gmock",
598     ],
599     deps = [
600         "//:grpcpp_server_load_reporting",
601         "//src/proto/grpc/testing:echo_proto",
602         "//test/cpp/util:test_util",
603     ],
604 )
605
606 grpc_cc_test(
607     name = "flaky_network_test",
608     srcs = ["flaky_network_test.cc"],
609     external_deps = [
610         "gtest",
611     ],
612     tags = ["manual"],
613     deps = [
614         ":test_service_impl",
615         "//:gpr",
616         "//:grpc",
617         "//:grpc++",
618         "//src/proto/grpc/testing:echo_messages_proto",
619         "//src/proto/grpc/testing:echo_proto",
620         "//test/core/util:grpc_test_util",
621         "//test/cpp/util:test_util",
622     ],
623 )
624
625 grpc_cc_test(
626     name = "shutdown_test",
627     srcs = ["shutdown_test.cc"],
628     external_deps = [
629         "gtest",
630     ],
631     deps = [
632         "//:gpr",
633         "//:grpc",
634         "//:grpc++",
635         "//src/proto/grpc/testing:echo_messages_proto",
636         "//src/proto/grpc/testing:echo_proto",
637         "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
638         "//test/core/util:grpc_test_util",
639         "//test/cpp/util:test_util",
640     ],
641 )
642
643 grpc_cc_test(
644     name = "streaming_throughput_test",
645     srcs = ["streaming_throughput_test.cc"],
646     external_deps = [
647         "gtest",
648     ],
649     deps = [
650         "//:gpr",
651         "//:grpc",
652         "//:grpc++",
653         "//src/proto/grpc/testing:echo_messages_proto",
654         "//src/proto/grpc/testing:echo_proto",
655         "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
656         "//test/core/util:grpc_test_util",
657         "//test/cpp/util:test_util",
658     ],
659     tags = ["no_windows"],
660 )
661
662 grpc_cc_test(
663     name = "thread_stress_test",
664     timeout = "long",
665     srcs = ["thread_stress_test.cc"],
666     external_deps = [
667         "gtest",
668     ],
669     deps = [
670         "//:gpr",
671         "//:grpc",
672         "//:grpc++",
673         "//src/proto/grpc/testing:echo_messages_proto",
674         "//src/proto/grpc/testing:echo_proto",
675         "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
676         "//test/core/util:grpc_test_util",
677         "//test/cpp/util:test_util",
678     ],
679 )
680
681 grpc_cc_test(
682     name = "cfstream_test",
683     srcs = ["cfstream_test.cc"],
684     external_deps = [
685         "gtest",
686     ],
687     tags = ["manual"],  # test requires root, won't work with bazel RBE
688     deps = [
689         ":test_service_impl",
690         "//:gpr",
691         "//:grpc",
692         "//:grpc++",
693         "//src/proto/grpc/testing:echo_messages_proto",
694         "//src/proto/grpc/testing:echo_proto",
695         "//src/proto/grpc/testing:simple_messages_proto",
696         "//test/core/util:grpc_test_util",
697         "//test/cpp/util:test_util",
698     ],
699 )
700
701 grpc_cc_test(
702     name = "message_allocator_end2end_test",
703     srcs = ["message_allocator_end2end_test.cc"],
704     external_deps = [
705         "gtest",
706     ],
707     deps = [
708         ":test_service_impl",
709         "//:grpc",
710         "//:gpr",
711         "//:grpc++",
712         "//src/proto/grpc/testing:echo_messages_proto",
713         "//src/proto/grpc/testing:echo_proto",
714         "//src/proto/grpc/testing:simple_messages_proto",
715         "//test/core/util:grpc_test_util",
716         "//test/cpp/util:test_util",
717     ],
718 )
719