• 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/interop",
21    visibility = "public",
22)
23
24grpc_cc_library(
25    name = "server_helper_lib",
26    srcs = [
27        "server_helper.cc",
28    ],
29    hdrs = [
30        "server_helper.h",
31    ],
32    external_deps = [
33        "absl/flags:flag",
34    ],
35    language = "C++",
36    deps = [
37        "//test/cpp/util:test_util",
38    ],
39)
40
41grpc_cc_binary(
42    name = "grpclb_fallback_test",
43    srcs = [
44        "grpclb_fallback_test.cc",
45    ],
46    external_deps = [
47        "absl/flags:flag",
48        "absl/log:check",
49        "absl/log:log",
50        "absl/time:time",
51    ],
52    language = "C++",
53    tags = ["no_windows"],
54    deps = [
55        "//:grpc++",
56        "//src/proto/grpc/testing:empty_cc_proto",
57        "//src/proto/grpc/testing:messages_cc_proto",
58        "//src/proto/grpc/testing:test_cc_grpc",
59        "//test/cpp/util:test_config",
60        "//test/cpp/util:test_util",
61    ],
62)
63
64grpc_cc_binary(
65    name = "interop_server",
66    srcs = [
67        "interop_server_bootstrap.cc",
68    ],
69    external_deps = [
70        "absl/flags:flag",
71        "absl/log:check",
72    ],
73    language = "C++",
74    deps = [
75        ":interop_server_lib",
76        "//:grpc++",
77        "//test/cpp/util:test_util",
78    ],
79)
80
81grpc_cc_library(
82    name = "interop_server_lib",
83    srcs = [
84        "interop_server.cc",
85    ],
86    external_deps = [
87        "absl/log:check",
88    ],
89    language = "C++",
90    deps = [
91        ":server_helper_lib",
92        "//:grpcpp_orca_service",
93        "//src/proto/grpc/testing:empty_cc_proto",
94        "//src/proto/grpc/testing:messages_cc_proto",
95        "//src/proto/grpc/testing:test_cc_grpc",
96        "//test/cpp/util:test_config",
97    ],
98)
99
100grpc_cc_library(
101    name = "client_helper_lib",
102    srcs = [
103        "client_helper.cc",
104        "interop_client.cc",
105    ],
106    hdrs = [
107        "client_helper.h",
108        "interop_client.h",
109    ],
110    external_deps = [
111        "absl/flags:flag",
112        "absl/log:check",
113        "absl/log:log",
114    ],
115    language = "C++",
116    deps = [
117        ":backend_metrics_lb_policy",
118        "//src/proto/grpc/testing:empty_cc_proto",
119        "//src/proto/grpc/testing:messages_cc_proto",
120        "//src/proto/grpc/testing:test_cc_grpc",
121        "//test/core/security:oauth2_utils",
122        "//test/cpp/util:test_config",
123        "//test/cpp/util:test_util",
124    ],
125)
126
127grpc_cc_library(
128    name = "interop_client_main",
129    srcs = [
130        "client.cc",
131    ],
132    external_deps = [
133        "absl/flags:flag",
134    ],
135    language = "C++",
136    deps = [
137        ":client_helper_lib",
138    ],
139)
140
141grpc_cc_binary(
142    name = "interop_client",
143    external_deps = ["absl/log:check"],
144    language = "C++",
145    deps = [
146        ":interop_client_main",
147        "//:grpc++",
148        "//test/cpp/util:test_util",
149    ],
150)
151
152grpc_cc_binary(
153    name = "metrics_client",
154    srcs = ["metrics_client.cc"],
155    external_deps = [
156        "absl/flags:flag",
157    ],
158    language = "C++",
159    deps = [
160        "//:grpc++",
161        "//test/core/test_util:grpc_test_util",
162        "//test/cpp/util:metrics_server_lib",
163        "//test/cpp/util:test_config",
164    ],
165)
166
167grpc_cc_binary(
168    name = "reconnect_interop_client",
169    srcs = [
170        "reconnect_interop_client.cc",
171    ],
172    external_deps = [
173        "absl/flags:flag",
174        "absl/log:check",
175    ],
176    deps = [
177        ":client_helper_lib",
178        "//:grpc++",
179        "//test/core/test_util:grpc_test_util",
180    ],
181)
182
183grpc_cc_binary(
184    name = "reconnect_interop_server",
185    srcs = [
186        "reconnect_interop_server.cc",
187    ],
188    external_deps = [
189        "absl/flags:flag",
190        "absl/log:check",
191    ],
192    language = "C++",
193    deps = [
194        ":interop_server_lib",
195        "//:grpc++",
196        "//test/core/test_util:grpc_test_util",
197    ],
198)
199
200grpc_cc_binary(
201    name = "stress_test",
202    srcs = [
203        "stress_interop_client.cc",
204        "stress_interop_client.h",
205        "stress_test.cc",
206    ],
207    external_deps = [
208        "absl/flags:flag",
209        "absl/log:check",
210        "absl/log:globals",
211        "absl/log:log",
212    ],
213    deps = [
214        ":client_helper_lib",
215        "//:grpc++",
216        "//test/cpp/util:metrics_server_lib",
217        "//test/cpp/util:test_config",
218    ],
219)
220
221grpc_cc_binary(
222    name = "interop_test",
223    srcs = ["interop_test.cc"],
224    data = [
225        ":interop_client",
226        ":interop_server",
227    ],
228    external_deps = [
229        "absl/flags:flag",
230    ],
231    tags = ["no_windows"],
232    deps = [
233        "//:gpr",
234        "//:grpc",
235        "//:grpc++",
236        "//test/core/test_util:grpc_test_util",
237        "//test/cpp/util:test_config",
238        "//test/cpp/util:test_util",
239    ],
240)
241
242sh_test(
243    name = "interop_test_with_metadata_log",
244    srcs = [
245        "interop_test_with_metadata_log.sh",
246    ],
247    data = [
248        ":interop_test",
249    ],
250    tags = ["no_windows"],
251)
252
253grpc_cc_library(
254    name = "xds_stats_watcher",
255    srcs = ["xds_stats_watcher.cc"],
256    hdrs = ["xds_stats_watcher.h"],
257    external_deps = [
258        "absl/log:check",
259    ],
260    deps = [
261        ":rpc_behavior_lb_policy",
262        "//:grpc++",
263        "//:grpc++_reflection",
264        "//:grpcpp_admin",
265        "//src/proto/grpc/testing:empty_cc_proto",
266        "//src/proto/grpc/testing:messages_cc_proto",
267        "//src/proto/grpc/testing:test_cc_grpc",
268        "//test/core/test_util:grpc_test_util",
269        "//test/cpp/util:test_config",
270    ],
271)
272
273grpc_cc_test(
274    name = "xds_stats_watcher_test",
275    srcs = [
276        "xds_stats_watcher_test.cc",
277    ],
278    external_deps = ["gtest"],
279    deps = [":xds_stats_watcher"],
280)
281
282grpc_cc_binary(
283    name = "xds_interop_client",
284    srcs = [
285        "xds_interop_client.cc",
286    ],
287    external_deps = [
288        "absl/flags:flag",
289        "absl/log:check",
290        "otel/exporters/prometheus:prometheus_exporter",
291        "otel/sdk/src/metrics",
292    ],
293    deps = [
294        ":rpc_behavior_lb_policy",
295        ":xds_stats_watcher",
296        "//:grpc++",
297        "//:grpc++_reflection",
298        "//:grpcpp_admin",
299        "//:grpcpp_csm_observability",
300        "//src/proto/grpc/testing:empty_cc_proto",
301        "//src/proto/grpc/testing:messages_cc_proto",
302        "//src/proto/grpc/testing:test_cc_grpc",
303        "//test/core/test_util:grpc_test_util",
304        "//test/cpp/util:test_config",
305    ],
306)
307
308grpc_cc_library(
309    name = "xds_interop_server_lib",
310    testonly = True,
311    srcs = [
312        "pre_stop_hook_server.cc",
313        "xds_interop_server_lib.cc",
314    ],
315    hdrs = [
316        "pre_stop_hook_server.h",
317        "xds_interop_server_lib.h",
318    ],
319    deps = [
320        "//:grpc++",
321        "//:grpc++_reflection",
322        "//:grpcpp_admin",
323        "//src/proto/grpc/testing:empty_cc_proto",
324        "//src/proto/grpc/testing:messages_cc_proto",
325        "//src/proto/grpc/testing:test_cc_grpc",
326        "//test/cpp/end2end:test_health_check_service_impl",
327    ],
328)
329
330grpc_cc_binary(
331    name = "xds_interop_server",
332    testonly = True,
333    srcs = [
334        "xds_interop_server.cc",
335    ],
336    external_deps = [
337        "absl/flags:flag",
338        "otel/exporters/prometheus:prometheus_exporter",
339        "otel/sdk/src/metrics",
340    ],
341    deps = [
342        ":xds_interop_server_lib",
343        "//:grpc++",
344        "//:grpcpp_csm_observability",
345        "//test/core/test_util:grpc_test_util",
346        "//test/cpp/end2end:test_health_check_service_impl",
347        "//test/cpp/util:test_config",
348    ],
349)
350
351grpc_cc_test(
352    name = "pre_stop_hook_server_test",
353    srcs = [
354        "pre_stop_hook_server_test.cc",
355    ],
356    external_deps = ["gtest"],
357    deps = [
358        ":xds_interop_server_lib",
359        "//:grpc++",
360        "//src/proto/grpc/testing:istio_echo_cc_grpc",
361        "//test/core/test_util:grpc_test_util",
362        "//test/cpp/util:test_config",
363    ],
364)
365
366grpc_cc_test(
367    name = "xds_interop_server_test",
368    srcs = [
369        "xds_interop_server_test.cc",
370    ],
371    external_deps = ["gtest"],
372    deps = [
373        ":xds_interop_server_lib",
374        "//:grpc++",
375        "//src/proto/grpc/testing:istio_echo_cc_grpc",
376        "//test/core/test_util:grpc_test_util",
377        "//test/cpp/util:test_config",
378    ],
379)
380
381grpc_cc_library(
382    name = "istio_echo_server_lib",
383    srcs = [
384        "istio_echo_server_lib.cc",
385    ],
386    hdrs = ["istio_echo_server_lib.h"],
387    deps = [
388        "//:grpc++",
389        "//src/proto/grpc/testing:istio_echo_cc_grpc",
390    ],
391)
392
393grpc_cc_binary(
394    name = "istio_echo_server",
395    srcs = [
396        "istio_echo_server.cc",
397    ],
398    external_deps = [
399        "absl/flags:flag",
400    ],
401    deps = [
402        ":istio_echo_server_lib",
403        "//:grpc++",
404        "//:grpc++_reflection",
405        "//:grpcpp_admin",
406        "//src/proto/grpc/testing:istio_echo_cc_grpc",
407        "//test/core/test_util:grpc_test_util",
408        "//test/cpp/util:test_config",
409    ],
410)
411
412grpc_cc_test(
413    name = "istio_echo_server_test",
414    srcs = [
415        "istio_echo_server_test.cc",
416    ],
417    external_deps = ["gtest"],
418    deps = [
419        ":istio_echo_server_lib",
420        "//:grpc++",
421        "//src/proto/grpc/testing:istio_echo_cc_grpc",
422        "//test/core/test_util:grpc_test_util",
423        "//test/cpp/util:test_config",
424    ],
425)
426
427grpc_cc_binary(
428    name = "http2_client",
429    srcs = [
430        "http2_client.cc",
431        "http2_client.h",
432    ],
433    external_deps = [
434        "absl/flags:flag",
435        "absl/log:check",
436        "absl/log:log",
437    ],
438    deps = [
439        "//:grpc++",
440        "//src/proto/grpc/testing:empty_cc_proto",
441        "//src/proto/grpc/testing:messages_cc_proto",
442        "//src/proto/grpc/testing:test_cc_grpc",
443        "//test/core/test_util:grpc_test_util",
444        "//test/cpp/util:test_config",
445        "//test/cpp/util:test_util",
446    ],
447)
448
449grpc_cc_binary(
450    name = "xds_federation_client",
451    srcs = [
452        "xds_federation_client.cc",
453    ],
454    external_deps = [
455        "absl/flags:flag",
456        "absl/log:check",
457    ],
458    language = "C++",
459    deps = [
460        ":client_helper_lib",
461        "//:grpc++",
462        "//test/cpp/util:test_config",
463    ],
464)
465
466grpc_cc_binary(
467    name = "observability_interop_server",
468    srcs = [
469        "observability_interop_server_bootstrap.cc",
470    ],
471    external_deps = [
472        "absl/flags:flag",
473    ],
474    language = "C++",
475    tags = ["nobuilder"],
476    deps = [
477        ":interop_server_lib",
478        "//:grpc++",
479        "//:grpcpp_gcp_observability",
480        "//test/cpp/util:test_util",
481    ],
482)
483
484grpc_cc_library(
485    name = "observability_interop_client_main",
486    srcs = [
487        "observability_client.cc",
488    ],
489    external_deps = [
490        "absl/flags:flag",
491        "otel/exporters/prometheus:prometheus_exporter",
492        "otel/sdk/src/metrics",
493    ],
494    language = "C++",
495    tags = ["nobuilder"],
496    deps = [
497        ":client_helper_lib",
498        "//:grpcpp_gcp_observability",
499        "//src/cpp/ext/otel:otel_plugin",
500    ],
501)
502
503grpc_cc_binary(
504    name = "observability_interop_client",
505    language = "C++",
506    tags = ["nobuilder"],
507    deps = [
508        ":observability_interop_client_main",
509        "//:grpc++",
510        "//test/cpp/util:test_util",
511    ],
512)
513
514grpc_cc_binary(
515    name = "observability_interop_test",
516    srcs = ["interop_test.cc"],
517    data = [
518        ":observability_interop_client",
519        ":observability_interop_server",
520    ],
521    external_deps = [
522        "absl/flags:flag",
523    ],
524    tags = [
525        "no_windows",
526        "nobuilder",
527    ],
528    deps = [
529        "//:gpr",
530        "//:grpc",
531        "//:grpc++",
532        "//test/core/test_util:grpc_test_util",
533        "//test/cpp/util:test_config",
534        "//test/cpp/util:test_util",
535    ],
536)
537
538grpc_cc_library(
539    name = "backend_metrics_lb_policy",
540    srcs = [
541        "backend_metrics_lb_policy.cc",
542    ],
543    hdrs = [
544        "backend_metrics_lb_policy.h",
545    ],
546    external_deps = [
547        "absl/log:check",
548    ],
549    language = "C++",
550    tags = ["nobuilder"],
551    deps = [
552        "//:grpc",
553        "//:grpc++",
554        "//src/proto/grpc/testing:messages_cc_proto",
555    ],
556)
557
558grpc_cc_test(
559    name = "backend_metrics_lb_policy_test",
560    srcs = [
561        "backend_metrics_lb_policy_test.cc",
562    ],
563    external_deps = ["gtest"],
564    deps = [
565        ":backend_metrics_lb_policy",
566        "//:grpc++",
567        "//:grpcpp_orca_service",
568        "//src/proto/grpc/testing:test_cc_grpc",
569        "//test/core/test_util:grpc_test_util",
570        "//test/cpp/util:test_config",
571    ],
572)
573
574grpc_cc_library(
575    name = "rpc_behavior_lb_policy",
576    srcs = [
577        "rpc_behavior_lb_policy.cc",
578    ],
579    hdrs = [
580        "rpc_behavior_lb_policy.h",
581    ],
582    external_deps = [
583        "absl/log:check",
584    ],
585    language = "C++",
586    tags = ["nobuilder"],
587    deps = [
588        "//:grpc",
589        "//:grpc++",
590    ],
591)
592