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 15licenses(["notice"]) # Apache v2 16 17load("//bazel:grpc_build_system.bzl", "grpc_cc_binary", "grpc_cc_library", "grpc_cc_test", "grpc_package") 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 "gflags", 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 language = "C++", 47 tags = ["no_windows"], 48 deps = [ 49 "//:grpc++", 50 "//src/proto/grpc/testing:empty_proto", 51 "//src/proto/grpc/testing:messages_proto", 52 "//src/proto/grpc/testing:test_proto", 53 "//test/cpp/util:test_config", 54 "//test/cpp/util:test_util", 55 ], 56) 57 58grpc_cc_binary( 59 name = "interop_server", 60 srcs = [ 61 "interop_server_bootstrap.cc", 62 ], 63 language = "C++", 64 deps = [ 65 ":interop_server_lib", 66 "//:grpc++", 67 ], 68) 69 70grpc_cc_library( 71 name = "interop_server_lib", 72 srcs = [ 73 "interop_server.cc", 74 ], 75 language = "C++", 76 deps = [ 77 ":server_helper_lib", 78 "//src/proto/grpc/testing:empty_proto", 79 "//src/proto/grpc/testing:messages_proto", 80 "//src/proto/grpc/testing:test_proto", 81 "//test/cpp/util:test_config", 82 ], 83) 84 85grpc_cc_library( 86 name = "client_helper_lib", 87 srcs = [ 88 "client_helper.cc", 89 "interop_client.cc", 90 ], 91 hdrs = [ 92 "client_helper.h", 93 "interop_client.h", 94 ], 95 language = "C++", 96 deps = [ 97 "//src/proto/grpc/testing:empty_proto", 98 "//src/proto/grpc/testing:messages_proto", 99 "//src/proto/grpc/testing:test_proto", 100 "//test/core/security:oauth2_utils", 101 "//test/cpp/util:test_config", 102 "//test/cpp/util:test_util", 103 ], 104) 105 106grpc_cc_library( 107 name = "interop_client_main", 108 srcs = [ 109 "client.cc", 110 ], 111 language = "C++", 112 deps = [ 113 ":client_helper_lib", 114 ], 115) 116 117grpc_cc_binary( 118 name = "interop_client", 119 language = "C++", 120 deps = [ 121 ":interop_client_main", 122 "//:grpc++", 123 ], 124) 125 126grpc_cc_binary( 127 name = "metrics_client", 128 srcs = ["metrics_client.cc"], 129 external_deps = [ 130 "gflags", 131 ], 132 language = "C++", 133 deps = [ 134 "//:grpc++", 135 "//test/cpp/util:metrics_server_lib", 136 "//test/cpp/util:test_config", 137 ], 138) 139 140grpc_cc_binary( 141 name = "reconnect_interop_client", 142 srcs = [ 143 "reconnect_interop_client.cc", 144 ], 145 deps = [ 146 ":client_helper_lib", 147 "//:grpc++", 148 "//test/core/util:grpc_test_util", 149 ], 150) 151 152grpc_cc_binary( 153 name = "reconnect_interop_server", 154 srcs = [ 155 "reconnect_interop_server.cc", 156 ], 157 language = "C++", 158 deps = [ 159 ":interop_server_lib", 160 "//:grpc++", 161 "//test/core/util:grpc_test_util", 162 ], 163) 164 165grpc_cc_binary( 166 name = "stress_test", 167 srcs = [ 168 "stress_interop_client.cc", 169 "stress_interop_client.h", 170 "stress_test.cc", 171 ], 172 deps = [ 173 ":client_helper_lib", 174 "//:grpc++", 175 "//test/cpp/util:metrics_server_lib", 176 "//test/cpp/util:test_config", 177 ], 178) 179 180grpc_cc_test( 181 name = "interop_test", 182 srcs = ["interop_test.cc"], 183 data = [ 184 ":interop_client", 185 ":interop_server", 186 ], 187 external_deps = [ 188 "gflags", 189 ], 190 tags = ["no_windows"], 191 deps = [ 192 "//:gpr", 193 "//:grpc", 194 "//:grpc++", 195 "//test/core/util:grpc_test_util", 196 "//test/cpp/util:test_config", 197 "//test/cpp/util:test_util", 198 ], 199) 200 201grpc_cc_binary( 202 name = "xds_interop_client", 203 srcs = [ 204 "xds_interop_client.cc", 205 ], 206 deps = [ 207 "//:grpc++", 208 "//src/proto/grpc/testing:empty_proto", 209 "//src/proto/grpc/testing:messages_proto", 210 "//src/proto/grpc/testing:test_proto", 211 "//test/core/util:grpc_test_util", 212 "//test/cpp/util:test_config", 213 ], 214) 215 216grpc_cc_binary( 217 name = "xds_interop_server", 218 srcs = [ 219 "xds_interop_server.cc", 220 ], 221 deps = [ 222 "//:grpc++", 223 "//src/proto/grpc/testing:empty_proto", 224 "//src/proto/grpc/testing:messages_proto", 225 "//src/proto/grpc/testing:test_proto", 226 "//test/core/util:grpc_test_util", 227 "//test/cpp/util:test_config", 228 ], 229) 230 231grpc_cc_binary( 232 name = "http2_client", 233 srcs = [ 234 "http2_client.cc", 235 "http2_client.h", 236 ], 237 deps = [ 238 "//:grpc++", 239 "//src/proto/grpc/testing:empty_proto", 240 "//src/proto/grpc/testing:messages_proto", 241 "//src/proto/grpc/testing:test_proto", 242 "//test/core/util:grpc_test_util", 243 "//test/cpp/util:test_config", 244 "//test/cpp/util:test_util", 245 ], 246) 247