|
|
|
# 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_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++",
|
|
|
|
],
|
|
|
|
)
|