The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#) https://grpc.io/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

567 lines
12 KiB

# Copyright 2017 gRPC authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
load("//bazel:grpc_build_system.bzl", "grpc_cc_binary", "grpc_cc_library", "grpc_cc_test", "grpc_package")
licenses(["notice"])
grpc_package(
name = "test/cpp/interop",
visibility = "public",
)
grpc_cc_library(
name = "server_helper_lib",
srcs = [
"server_helper.cc",
],
hdrs = [
"server_helper.h",
],
external_deps = [
"absl/flags:flag",
],
language = "C++",
deps = [
"//test/cpp/util:test_util",
],
)
grpc_cc_binary(
name = "grpclb_fallback_test",
srcs = [
"grpclb_fallback_test.cc",
],
external_deps = [
"absl/flags:flag",
"absl/time:time",
],
language = "C++",
tags = ["no_windows"],
deps = [
"//:grpc++",
"//src/proto/grpc/testing:empty_proto",
"//src/proto/grpc/testing:messages_proto",
"//src/proto/grpc/testing:test_proto",
"//test/cpp/util:test_config",
"//test/cpp/util:test_util",
],
)
grpc_cc_binary(
name = "interop_server",
srcs = [
"interop_server_bootstrap.cc",
],
external_deps = [
"absl/flags:flag",
],
language = "C++",
deps = [
":interop_server_lib",
"//:grpc++",
"//test/cpp/util:test_util",
],
)
grpc_cc_library(
name = "interop_server_lib",
srcs = [
"interop_server.cc",
],
language = "C++",
deps = [
":server_helper_lib",
"//:grpcpp_orca_service",
"//src/proto/grpc/testing:empty_proto",
"//src/proto/grpc/testing:messages_proto",
"//src/proto/grpc/testing:test_proto",
"//test/cpp/util:test_config",
],
)
grpc_cc_library(
name = "client_helper_lib",
srcs = [
"client_helper.cc",
"interop_client.cc",
],
hdrs = [
"client_helper.h",
"interop_client.h",
],
external_deps = [
"absl/flags:flag",
],
language = "C++",
deps = [
":backend_metrics_lb_policy",
"//src/proto/grpc/testing:empty_proto",
"//src/proto/grpc/testing:messages_proto",
"//src/proto/grpc/testing:test_proto",
"//test/core/security:oauth2_utils",
"//test/cpp/util:test_config",
"//test/cpp/util:test_util",
],
)
grpc_cc_library(
name = "interop_client_main",
srcs = [
"client.cc",
],
external_deps = [
"absl/flags:flag",
],
language = "C++",
deps = [
":client_helper_lib",
],
)
grpc_cc_binary(
name = "interop_client",
language = "C++",
deps = [
":interop_client_main",
"//:grpc++",
"//test/cpp/util:test_util",
],
)
grpc_cc_binary(
name = "metrics_client",
srcs = ["metrics_client.cc"],
external_deps = [
"absl/flags:flag",
],
language = "C++",
deps = [
"//:grpc++",
"//test/cpp/util:metrics_server_lib",
"//test/cpp/util:test_config",
],
)
grpc_cc_binary(
name = "reconnect_interop_client",
srcs = [
"reconnect_interop_client.cc",
],
external_deps = [
"absl/flags:flag",
],
deps = [
":client_helper_lib",
"//:grpc++",
"//test/core/util:grpc_test_util",
],
)
grpc_cc_binary(
name = "reconnect_interop_server",
srcs = [
"reconnect_interop_server.cc",
],
external_deps = [
"absl/flags:flag",
],
language = "C++",
deps = [
":interop_server_lib",
"//:grpc++",
"//test/core/util:grpc_test_util",
],
)
grpc_cc_binary(
name = "stress_test",
srcs = [
"stress_interop_client.cc",
"stress_interop_client.h",
"stress_test.cc",
],
external_deps = [
"absl/flags:flag",
],
deps = [
":client_helper_lib",
"//:grpc++",
"//test/cpp/util:metrics_server_lib",
"//test/cpp/util:test_config",
],
)
grpc_cc_binary(
name = "interop_test",
srcs = ["interop_test.cc"],
data = [
":interop_client",
":interop_server",
],
external_deps = [
"absl/flags:flag",
],
tags = ["no_windows"],
deps = [
"//:gpr",
"//:grpc",
"//:grpc++",
"//test/core/util:grpc_test_util",
"//test/cpp/util:test_config",
"//test/cpp/util:test_util",
],
)
sh_test(
name = "interop_test_with_metadata_log",
srcs = [
"interop_test_with_metadata_log.sh",
],
data = [
":interop_test",
],
tags = ["no_windows"],
)
grpc_cc_library(
name = "xds_stats_watcher",
srcs = ["xds_stats_watcher.cc"],
hdrs = ["xds_stats_watcher.h"],
deps = [
":rpc_behavior_lb_policy",
"//:grpc++",
"//:grpc++_reflection",
"//:grpcpp_admin",
"//src/proto/grpc/testing:empty_proto",
"//src/proto/grpc/testing:messages_proto",
"//src/proto/grpc/testing:test_proto",
"//test/core/util:grpc_test_util",
"//test/cpp/util:test_config",
],
)
grpc_cc_test(
name = "xds_stats_watcher_test",
srcs = [
"xds_stats_watcher_test.cc",
],
external_deps = ["gtest"],
deps = [":xds_stats_watcher"],
)
grpc_cc_binary(
name = "xds_interop_client",
srcs = [
"xds_interop_client.cc",
],
external_deps = [
"absl/flags:flag",
"otel/exporters/prometheus:prometheus_exporter",
"otel/sdk/src/metrics",
],
deps = [
":rpc_behavior_lb_policy",
":xds_stats_watcher",
"//:grpc++",
"//:grpc++_reflection",
"//:grpcpp_admin",
"//:grpcpp_csm_observability",
"//src/proto/grpc/testing:empty_proto",
"//src/proto/grpc/testing:messages_proto",
"//src/proto/grpc/testing:test_proto",
"//test/core/util:grpc_test_util",
"//test/cpp/util:test_config",
],
)
grpc_cc_library(
name = "xds_interop_server_lib",
testonly = True,
srcs = [
"pre_stop_hook_server.cc",
"xds_interop_server_lib.cc",
],
hdrs = [
"pre_stop_hook_server.h",
"xds_interop_server_lib.h",
],
deps = [
"//:grpc++",
"//:grpc++_reflection",
"//:grpcpp_admin",
"//src/proto/grpc/testing:empty_proto",
"//src/proto/grpc/testing:messages_proto",
"//src/proto/grpc/testing:test_proto",
"//test/cpp/end2end:test_health_check_service_impl",
],
)
grpc_cc_binary(
name = "xds_interop_server",
testonly = True,
srcs = [
"xds_interop_server.cc",
],
external_deps = [
"absl/flags:flag",
"otel/exporters/prometheus:prometheus_exporter",
"otel/sdk/src/metrics",
],
deps = [
":xds_interop_server_lib",
"//:grpc++",
"//:grpcpp_csm_observability",
"//test/core/util:grpc_test_util",
"//test/cpp/end2end:test_health_check_service_impl",
"//test/cpp/util:test_config",
],
)
grpc_cc_test(
name = "pre_stop_hook_server_test",
srcs = [
"pre_stop_hook_server_test.cc",
],
external_deps = ["gtest"],
deps = [
":xds_interop_server_lib",
"//:grpc++",
"//src/proto/grpc/testing:istio_echo_proto",
"//test/core/util:grpc_test_util",
"//test/cpp/util:test_config",
],
)
grpc_cc_test(
name = "xds_interop_server_test",
srcs = [
"xds_interop_server_test.cc",
],
external_deps = ["gtest"],
deps = [
":xds_interop_server_lib",
"//:grpc++",
"//src/proto/grpc/testing:istio_echo_proto",
"//test/core/util:grpc_test_util",
"//test/cpp/util:test_config",
],
)
grpc_cc_library(
name = "istio_echo_server_lib",
srcs = [
"istio_echo_server_lib.cc",
],
hdrs = ["istio_echo_server_lib.h"],
deps = [
"//:grpc++",
"//src/proto/grpc/testing:istio_echo_proto",
],
)
grpc_cc_binary(
name = "istio_echo_server",
srcs = [
"istio_echo_server.cc",
],
external_deps = [
"absl/flags:flag",
],
deps = [
":istio_echo_server_lib",
"//:grpc++",
"//:grpc++_reflection",
"//:grpcpp_admin",
"//src/proto/grpc/testing:istio_echo_proto",
"//test/core/util:grpc_test_util",
"//test/cpp/util:test_config",
],
)
grpc_cc_test(
name = "istio_echo_server_test",
srcs = [
"istio_echo_server_test.cc",
],
external_deps = ["gtest"],
deps = [
":istio_echo_server_lib",
"//:grpc++",
"//src/proto/grpc/testing:istio_echo_proto",
"//test/core/util:grpc_test_util",
"//test/cpp/util:test_config",
],
)
grpc_cc_binary(
name = "http2_client",
srcs = [
"http2_client.cc",
"http2_client.h",
],
external_deps = [
"absl/flags:flag",
],
deps = [
"//:grpc++",
"//src/proto/grpc/testing:empty_proto",
"//src/proto/grpc/testing:messages_proto",
"//src/proto/grpc/testing:test_proto",
"//test/core/util:grpc_test_util",
"//test/cpp/util:test_config",
"//test/cpp/util:test_util",
],
)
grpc_cc_binary(
name = "xds_federation_client",
srcs = [
"xds_federation_client.cc",
],
external_deps = [
"absl/flags:flag",
],
language = "C++",
deps = [
":client_helper_lib",
"//:grpc++",
"//test/cpp/util:test_config",
],
)
grpc_cc_binary(
name = "observability_interop_server",
srcs = [
"observability_interop_server_bootstrap.cc",
],
external_deps = [
"absl/flags:flag",
],
language = "C++",
tags = ["nobuilder"],
deps = [
":interop_server_lib",
"//:grpc++",
"//:grpcpp_gcp_observability",
"//test/cpp/util:test_util",
],
)
grpc_cc_library(
name = "observability_interop_client_main",
srcs = [
"observability_client.cc",
],
external_deps = [
"absl/flags:flag",
"otel/exporters/prometheus:prometheus_exporter",
"otel/sdk/src/metrics",
],
language = "C++",
tags = ["nobuilder"],
deps = [
":client_helper_lib",
"//:grpcpp_gcp_observability",
"//src/cpp/ext/otel:otel_plugin",
],
)
grpc_cc_binary(
name = "observability_interop_client",
language = "C++",
tags = ["nobuilder"],
deps = [
":observability_interop_client_main",
"//:grpc++",
"//test/cpp/util:test_util",
],
)
grpc_cc_binary(
name = "observability_interop_test",
srcs = ["interop_test.cc"],
data = [
":observability_interop_client",
":observability_interop_server",
],
external_deps = [
"absl/flags:flag",
],
tags = [
"no_windows",
"nobuilder",
],
deps = [
"//:gpr",
"//:grpc",
"//:grpc++",
"//test/core/util:grpc_test_util",
"//test/cpp/util:test_config",
"//test/cpp/util:test_util",
],
)
grpc_cc_library(
name = "backend_metrics_lb_policy",
srcs = [
"backend_metrics_lb_policy.cc",
],
hdrs = [
"backend_metrics_lb_policy.h",
],
external_deps = [
],
language = "C++",
tags = ["nobuilder"],
deps = [
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing:messages_proto",
],
)
grpc_cc_test(
name = "backend_metrics_lb_policy_test",
srcs = [
"backend_metrics_lb_policy_test.cc",
],
external_deps = ["gtest"],
deps = [
":backend_metrics_lb_policy",
"//:grpc++",
"//:grpcpp_orca_service",
"//src/proto/grpc/testing:test_proto",
"//test/core/util:grpc_test_util",
"//test/cpp/util:test_config",
],
)
grpc_cc_library(
name = "rpc_behavior_lb_policy",
srcs = [
"rpc_behavior_lb_policy.cc",
],
hdrs = [
"rpc_behavior_lb_policy.h",
],
external_deps = [
],
language = "C++",
tags = ["nobuilder"],
deps = [
"//:grpc",
"//:grpc++",
],
)