707a628148eb0eee301ea4fe0fc335ed8bf5d49d
[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_util",
144     ],
145 )
146
147 grpc_cc_test(
148     name = "client_callback_end2end_test",
149     srcs = ["client_callback_end2end_test.cc"],
150     external_deps = [
151         "gtest",
152     ],
153     deps = [
154         ":interceptors_util",
155         ":test_service_impl",
156         "//:gpr",
157         "//:grpc",
158         "//:grpc++",
159         "//src/proto/grpc/testing:echo_messages_proto",
160         "//src/proto/grpc/testing:echo_proto",
161         "//src/proto/grpc/testing:simple_messages_proto",
162         "//test/core/util:grpc_test_util",
163         "//test/cpp/util:test_util",
164     ],
165 )
166
167 grpc_cc_test(
168     name = "client_interceptors_end2end_test",
169     srcs = ["client_interceptors_end2end_test.cc"],
170     external_deps = [
171         "gtest",
172     ],
173     deps = [
174         ":interceptors_util",
175         ":test_service_impl",
176         "//:gpr",
177         "//:grpc",
178         "//:grpc++",
179         "//src/proto/grpc/testing:echo_messages_proto",
180         "//src/proto/grpc/testing:echo_proto",
181         "//test/core/util:grpc_test_util",
182         "//test/cpp/util:test_util",
183     ],
184 )
185
186 grpc_cc_library(
187     name = "end2end_test_lib",
188     testonly = True,
189     srcs = ["end2end_test.cc"],
190     external_deps = [
191         "gtest",
192     ],
193     deps = [
194         ":interceptors_util",
195         ":test_service_impl",
196         "//:gpr",
197         "//:grpc",
198         "//:grpc++",
199         "//src/proto/grpc/testing:echo_messages_proto",
200         "//src/proto/grpc/testing:echo_proto",
201         "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
202         "//test/core/util:grpc_test_util",
203         "//test/cpp/util:test_util",
204     ],
205 )
206
207 grpc_cc_test(
208     name = "channelz_service_test",
209     srcs = ["channelz_service_test.cc"],
210     external_deps = [
211         "gtest",
212     ],
213     deps = [
214         ":test_service_impl",
215         "//:gpr",
216         "//:grpc",
217         "//:grpc++",
218         "//:grpcpp_channelz",
219         "//src/proto/grpc/channelz:channelz_proto",
220         "//src/proto/grpc/testing:echo_messages_proto",
221         "//src/proto/grpc/testing:echo_proto",
222         "//test/core/util:grpc_test_util",
223         "//test/cpp/util:test_util",
224     ],
225 )
226
227 grpc_cc_test(
228     name = "server_early_return_test",
229     srcs = ["server_early_return_test.cc"],
230     external_deps = [
231         "gtest",
232     ],
233     deps = [
234         "//:gpr",
235         "//:grpc",
236         "//:grpc++",
237         "//src/proto/grpc/testing:echo_messages_proto",
238         "//src/proto/grpc/testing:echo_proto",
239         "//test/core/util:grpc_test_util",
240         "//test/cpp/util:test_util",
241     ],
242 )
243
244 grpc_cc_test(
245     name = "end2end_test",
246     size = "large",
247     deps = [
248         ":end2end_test_lib",
249         # DO NOT REMOVE THE grpc++ dependence below since the internal build
250         # system uses it to specialize targets
251         "//:grpc++",
252     ],
253 )
254
255 grpc_cc_test(
256     name = "exception_test",
257     srcs = ["exception_test.cc"],
258     external_deps = [
259         "gtest",
260     ],
261     deps = [
262         "//:gpr",
263         "//:grpc",
264         "//:grpc++",
265         "//src/proto/grpc/testing:echo_messages_proto",
266         "//src/proto/grpc/testing:echo_proto",
267         "//test/core/util:grpc_test_util",
268         "//test/cpp/util:test_util",
269     ],
270 )
271
272 grpc_cc_test(
273     name = "filter_end2end_test",
274     srcs = ["filter_end2end_test.cc"],
275     external_deps = [
276         "gtest",
277     ],
278     deps = [
279         "//:gpr",
280         "//:grpc",
281         "//:grpc++",
282         "//src/proto/grpc/testing:echo_messages_proto",
283         "//src/proto/grpc/testing:echo_proto",
284         "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
285         "//test/core/util:grpc_test_util",
286         "//test/cpp/util:test_util",
287     ],
288 )
289
290 grpc_cc_test(
291     name = "generic_end2end_test",
292     srcs = ["generic_end2end_test.cc"],
293     external_deps = [
294         "gtest",
295     ],
296     deps = [
297         "//:gpr",
298         "//:grpc",
299         "//:grpc++",
300         "//src/proto/grpc/testing:echo_messages_proto",
301         "//src/proto/grpc/testing:echo_proto",
302         "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
303         "//test/core/util:grpc_test_util",
304         "//test/cpp/util:test_util",
305     ],
306 )
307
308 grpc_cc_test(
309     name = "health_service_end2end_test",
310     srcs = ["health_service_end2end_test.cc"],
311     external_deps = [
312         "gtest",
313     ],
314     deps = [
315         ":test_health_check_service_impl",
316         ":test_service_impl",
317         "//:gpr",
318         "//:grpc",
319         "//:grpc++",
320         "//src/proto/grpc/health/v1:health_proto",
321         "//src/proto/grpc/testing:echo_messages_proto",
322         "//src/proto/grpc/testing:echo_proto",
323         "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
324         "//test/core/util:grpc_test_util",
325         "//test/cpp/util:test_util",
326     ],
327 )
328
329 grpc_cc_test(
330     name = "hybrid_end2end_test",
331     srcs = ["hybrid_end2end_test.cc"],
332     external_deps = [
333         "gtest",
334     ],
335     deps = [
336         ":test_service_impl",
337         "//:gpr",
338         "//:grpc",
339         "//:grpc++",
340         "//src/proto/grpc/testing:echo_messages_proto",
341         "//src/proto/grpc/testing:echo_proto",
342         "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
343         "//test/core/util:grpc_test_util",
344         "//test/cpp/util:test_util",
345     ],
346 )
347
348 grpc_cc_test(
349     name = "raw_end2end_test",
350     srcs = ["raw_end2end_test.cc"],
351     external_deps = [
352         "gtest",
353     ],
354     deps = [
355         ":test_service_impl",
356         "//:gpr",
357         "//:grpc",
358         "//:grpc++",
359         "//src/proto/grpc/testing:echo_messages_proto",
360         "//src/proto/grpc/testing:echo_proto",
361         "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
362         "//test/core/util:grpc_test_util",
363         "//test/cpp/util:test_util",
364     ],
365 )
366
367 grpc_cc_test(
368     name = "mock_test",
369     srcs = ["mock_test.cc"],
370     external_deps = [
371         "gmock",
372         "gtest",
373     ],
374     deps = [
375         "//:gpr",
376         "//:grpc",
377         "//:grpc++",
378         "//:grpc++_test",
379         "//src/proto/grpc/testing:echo_messages_proto",
380         "//src/proto/grpc/testing:echo_proto",
381         "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
382         "//test/core/util:grpc_test_util",
383         "//test/cpp/util:test_util",
384     ],
385 )
386
387 grpc_cc_test(
388     name = "nonblocking_test",
389     srcs = ["nonblocking_test.cc"],
390     external_deps = [
391         "gtest",
392     ],
393     deps = [
394         "//:gpr",
395         "//:grpc",
396         "//:grpc++",
397         "//src/proto/grpc/testing:echo_messages_proto",
398         "//src/proto/grpc/testing:echo_proto",
399         "//test/core/util:grpc_test_util",
400         "//test/cpp/util:test_util",
401     ],
402 )
403
404 grpc_cc_test(
405     name = "client_lb_end2end_test",
406     srcs = ["client_lb_end2end_test.cc"],
407     external_deps = [
408         "gmock",
409         "gtest",
410     ],
411     deps = [
412         ":test_service_impl",
413         "//:gpr",
414         "//:grpc",
415         "//:grpc++",
416         "//src/proto/grpc/testing:echo_messages_proto",
417         "//src/proto/grpc/testing:echo_proto",
418         "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
419         "//test/core/util:grpc_test_util",
420         "//test/core/util:test_lb_policies",
421         "//test/cpp/util:test_util",
422     ],
423 )
424
425 grpc_cc_test(
426     name = "grpclb_end2end_test",
427     srcs = ["grpclb_end2end_test.cc"],
428     external_deps = [
429         "gmock",
430         "gtest",
431     ],
432     deps = [
433         ":test_service_impl",
434         "//:gpr",
435         "//:grpc",
436         "//:grpc++",
437         "//:grpc_resolver_fake",
438         "//src/proto/grpc/lb/v1:load_balancer_proto",
439         "//src/proto/grpc/testing:echo_messages_proto",
440         "//src/proto/grpc/testing:echo_proto",
441         "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
442         "//test/core/util:grpc_test_util",
443         "//test/cpp/util:test_util",
444     ],
445 )
446
447 grpc_cc_test(
448     name = "xds_end2end_test",
449     srcs = ["xds_end2end_test.cc"],
450     external_deps = [
451         "gmock",
452         "gtest",
453     ],
454     deps = [
455         ":test_service_impl",
456         "//:gpr",
457         "//:grpc",
458         "//:grpc++",
459         "//:grpc_resolver_fake",
460         "//src/proto/grpc/lb/v1:load_balancer_proto",
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         "//test/core/util:grpc_test_util",
465         "//test/cpp/util:test_util",
466     ],
467 )
468
469 grpc_cc_test(
470     name = "proto_server_reflection_test",
471     srcs = ["proto_server_reflection_test.cc"],
472     external_deps = [
473         "gtest",
474         "gflags",
475     ],
476     deps = [
477         ":test_service_impl",
478         "//:gpr",
479         "//:grpc",
480         "//:grpc++",
481         "//:grpc++_reflection",
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:grpc++_proto_reflection_desc_db",
487         "//test/cpp/util:test_util",
488     ],
489 )
490
491 grpc_cc_test(
492     name = "server_builder_plugin_test",
493     srcs = ["server_builder_plugin_test.cc"],
494     external_deps = [
495         "gtest",
496     ],
497     deps = [
498         ":test_service_impl",
499         "//:gpr",
500         "//:grpc",
501         "//:grpc++",
502         "//src/proto/grpc/testing:echo_messages_proto",
503         "//src/proto/grpc/testing:echo_proto",
504         "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
505         "//test/core/util:grpc_test_util",
506         "//test/cpp/util:test_util",
507     ],
508 )
509
510 grpc_cc_test(
511     name = "server_crash_test",
512     srcs = ["server_crash_test.cc"],
513     data = [
514         ":server_crash_test_client",
515     ],
516     external_deps = [
517         "gtest",
518     ],
519     deps = [
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_binary(
532     name = "server_crash_test_client",
533     testonly = True,
534     srcs = ["server_crash_test_client.cc"],
535     external_deps = [
536         "gflags",
537         "gtest",
538     ],
539     deps = [
540         "//:gpr",
541         "//:grpc",
542         "//:grpc++",
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         "//test/core/util:grpc_test_util",
547         "//test/cpp/util:test_util",
548     ],
549 )
550
551 grpc_cc_test(
552     name = "server_interceptors_end2end_test",
553     srcs = ["server_interceptors_end2end_test.cc"],
554     external_deps = [
555         "gtest",
556     ],
557     deps = [
558         ":interceptors_util",
559         ":test_service_impl",
560         "//:gpr",
561         "//:grpc",
562         "//:grpc++",
563         "//src/proto/grpc/testing:echo_messages_proto",
564         "//src/proto/grpc/testing:echo_proto",
565         "//test/core/util:grpc_test_util",
566         "//test/cpp/util:test_util",
567     ],
568 )
569
570 grpc_cc_test(
571     name = "server_load_reporting_end2end_test",
572     srcs = ["server_load_reporting_end2end_test.cc"],
573     external_deps = [
574         "gtest",
575         "gmock",
576     ],
577     deps = [
578         "//:grpcpp_server_load_reporting",
579         "//src/proto/grpc/testing:echo_proto",
580         "//test/cpp/util:test_util",
581     ],
582 )
583
584 grpc_cc_test(
585     name = "flaky_network_test",
586     srcs = ["flaky_network_test.cc"],
587     external_deps = [
588         "gtest",
589     ],
590     tags = ["manual"],
591     deps = [
592         ":test_service_impl",
593         "//:gpr",
594         "//:grpc",
595         "//:grpc++",
596         "//src/proto/grpc/testing:echo_messages_proto",
597         "//src/proto/grpc/testing:echo_proto",
598         "//test/core/util:grpc_test_util",
599         "//test/cpp/util:test_util",
600     ],
601 )
602
603 grpc_cc_test(
604     name = "shutdown_test",
605     srcs = ["shutdown_test.cc"],
606     external_deps = [
607         "gtest",
608     ],
609     deps = [
610         "//:gpr",
611         "//:grpc",
612         "//:grpc++",
613         "//src/proto/grpc/testing:echo_messages_proto",
614         "//src/proto/grpc/testing:echo_proto",
615         "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
616         "//test/core/util:grpc_test_util",
617         "//test/cpp/util:test_util",
618     ],
619 )
620
621 grpc_cc_test(
622     name = "streaming_throughput_test",
623     srcs = ["streaming_throughput_test.cc"],
624     external_deps = [
625         "gtest",
626     ],
627     deps = [
628         "//:gpr",
629         "//:grpc",
630         "//:grpc++",
631         "//src/proto/grpc/testing:echo_messages_proto",
632         "//src/proto/grpc/testing:echo_proto",
633         "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
634         "//test/core/util:grpc_test_util",
635         "//test/cpp/util:test_util",
636     ],
637     tags = ["no_windows"],
638 )
639
640 grpc_cc_test(
641     name = "thread_stress_test",
642     timeout = "long",
643     srcs = ["thread_stress_test.cc"],
644     external_deps = [
645         "gtest",
646     ],
647     deps = [
648         "//:gpr",
649         "//:grpc",
650         "//:grpc++",
651         "//src/proto/grpc/testing:echo_messages_proto",
652         "//src/proto/grpc/testing:echo_proto",
653         "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
654         "//test/core/util:grpc_test_util",
655         "//test/cpp/util:test_util",
656     ],
657 )
658
659 grpc_cc_test(
660     name = "cfstream_test",
661     srcs = ["cfstream_test.cc"],
662     external_deps = [
663         "gtest",
664     ],
665     tags = ["manual"],  # test requires root, won't work with bazel RBE
666     deps = [
667         ":test_service_impl",
668         "//:gpr",
669         "//:grpc",
670         "//:grpc++",
671         "//src/proto/grpc/testing:echo_messages_proto",
672         "//src/proto/grpc/testing:echo_proto",
673         "//src/proto/grpc/testing:simple_messages_proto",
674         "//test/core/util:grpc_test_util",
675         "//test/cpp/util:test_util",
676     ],
677 )