1# Copyright 2022 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( 16 "//bazel:grpc_build_system.bzl", 17 "grpc_cc_library", 18 "grpc_cc_test", 19 "grpc_package", 20) 21load("//test/cpp/microbenchmarks:grpc_benchmark_config.bzl", "HISTORY", "grpc_cc_benchmark") 22 23grpc_package(name = "test/core/load_balancing") 24 25licenses(["notice"]) 26 27grpc_cc_library( 28 name = "lb_policy_test_lib", 29 testonly = True, 30 hdrs = ["lb_policy_test_lib.h"], 31 external_deps = [ 32 "absl/log:check", 33 "absl/log:log", 34 "gtest", 35 ], 36 language = "C++", 37 deps = [ 38 "//:oob_backend_metric", 39 "//src/core:client_channel_internal_header", 40 "//src/core:lb_policy", 41 "//src/core:subchannel_interface", 42 "//src/core:subchannel_pool_interface", 43 "//test/core/event_engine:event_engine_test_utils", 44 "//test/core/event_engine/fuzzing_event_engine", 45 ], 46) 47 48grpc_cc_test( 49 name = "pick_first_test", 50 srcs = ["pick_first_test.cc"], 51 external_deps = ["gtest"], 52 language = "C++", 53 tags = [ 54 "lb_unit_test", 55 ], 56 uses_event_engine = False, 57 uses_polling = False, 58 deps = [ 59 ":lb_policy_test_lib", 60 "//src/core:channel_args", 61 "//src/core:grpc_lb_policy_pick_first", 62 "//test/core/test_util:fake_stats_plugin", 63 "//test/core/test_util:grpc_test_util", 64 "//test/core/test_util:scoped_env_var", 65 ], 66) 67 68grpc_cc_test( 69 name = "round_robin_test", 70 srcs = ["round_robin_test.cc"], 71 external_deps = ["gtest"], 72 language = "C++", 73 tags = [ 74 "lb_unit_test", 75 ], 76 uses_event_engine = False, 77 uses_polling = False, 78 deps = [ 79 ":lb_policy_test_lib", 80 "//src/core:channel_args", 81 "//src/core:grpc_lb_policy_round_robin", 82 "//test/core/test_util:grpc_test_util", 83 ], 84) 85 86grpc_cc_test( 87 name = "outlier_detection_lb_config_parser_test", 88 srcs = ["outlier_detection_lb_config_parser_test.cc"], 89 external_deps = [ 90 "gtest", 91 ], 92 language = "C++", 93 tags = [ 94 "no_test_ios", 95 ], 96 uses_event_engine = False, 97 uses_polling = False, 98 deps = [ 99 "//:grpc", 100 "//src/core:channel_args", 101 "//test/core/test_util:grpc_test_util", 102 "//test/core/test_util:scoped_env_var", 103 ], 104) 105 106grpc_cc_test( 107 name = "outlier_detection_test", 108 srcs = ["outlier_detection_test.cc"], 109 external_deps = [ 110 "absl/log:log", 111 "gtest", 112 ], 113 language = "C++", 114 tags = [ 115 "lb_unit_test", 116 ], 117 uses_polling = False, 118 deps = [ 119 ":lb_policy_test_lib", 120 "//src/core:channel_args", 121 "//src/core:grpc_lb_policy_outlier_detection", 122 "//test/core/test_util:grpc_test_util", 123 ], 124) 125 126grpc_cc_test( 127 name = "xds_override_host_lb_config_parser_test", 128 srcs = ["xds_override_host_lb_config_parser_test.cc"], 129 external_deps = [ 130 "gtest", 131 ], 132 language = "C++", 133 tags = [ 134 "no_test_ios", 135 ], 136 uses_event_engine = False, 137 uses_polling = False, 138 deps = [ 139 "//:grpc", 140 "//src/core:client_channel_service_config", 141 "//test/core/test_util:grpc_test_util", 142 ], 143) 144 145grpc_cc_test( 146 name = "xds_override_host_test", 147 srcs = ["xds_override_host_test.cc"], 148 external_deps = [ 149 "absl/log:log", 150 "gtest", 151 ], 152 language = "C++", 153 tags = [ 154 "lb_unit_test", 155 ], 156 uses_event_engine = False, 157 uses_polling = False, 158 deps = [ 159 ":lb_policy_test_lib", 160 "//src/core:grpc_lb_policy_xds_override_host", 161 "//src/core:xds_health_status", 162 "//test/core/test_util:grpc_test_util", 163 ], 164) 165 166grpc_cc_test( 167 name = "rls_lb_config_parser_test", 168 srcs = ["rls_lb_config_parser_test.cc"], 169 external_deps = [ 170 "gtest", 171 ], 172 language = "C++", 173 tags = [ 174 "no_test_ios", 175 ], 176 uses_event_engine = False, 177 uses_polling = False, 178 deps = [ 179 "//:grpc", 180 "//src/core:channel_args", 181 "//test/core/test_util:grpc_test_util", 182 ], 183) 184 185grpc_cc_test( 186 name = "static_stride_scheduler_test", 187 srcs = ["static_stride_scheduler_test.cc"], 188 external_deps = [ 189 "gtest", 190 ], 191 language = "C++", 192 uses_event_engine = False, 193 uses_polling = False, 194 deps = [ 195 "//src/core:static_stride_scheduler", 196 ], 197) 198 199grpc_cc_benchmark( 200 name = "static_stride_scheduler_benchmark", 201 srcs = ["static_stride_scheduler_benchmark.cc"], 202 external_deps = [ 203 "absl/algorithm:container", 204 "absl/log:check", 205 ], 206 monitoring = HISTORY, 207 uses_event_engine = False, 208 deps = [ 209 "//src/core:no_destruct", 210 "//src/core:static_stride_scheduler", 211 ], 212) 213 214grpc_cc_test( 215 name = "weighted_round_robin_config_test", 216 srcs = ["weighted_round_robin_config_test.cc"], 217 external_deps = [ 218 "gtest", 219 ], 220 language = "C++", 221 tags = [ 222 "no_test_ios", 223 ], 224 uses_event_engine = False, 225 uses_polling = False, 226 deps = [ 227 "//:grpc", 228 "//test/core/test_util:fake_stats_plugin", 229 "//test/core/test_util:grpc_test_util", 230 ], 231) 232 233grpc_cc_test( 234 name = "weighted_round_robin_test", 235 srcs = ["weighted_round_robin_test.cc"], 236 external_deps = [ 237 "absl/log:log", 238 "gtest", 239 ], 240 language = "C++", 241 tags = [ 242 "lb_unit_test", 243 ], 244 uses_polling = False, 245 deps = [ 246 ":lb_policy_test_lib", 247 "//src/core:grpc_lb_policy_weighted_round_robin", 248 "//test/core/test_util:fake_stats_plugin", 249 "//test/core/test_util:grpc_test_util", 250 ], 251) 252 253grpc_cc_test( 254 name = "ring_hash_test", 255 srcs = ["ring_hash_test.cc"], 256 external_deps = ["gtest"], 257 language = "C++", 258 tags = [ 259 "lb_unit_test", 260 ], 261 uses_event_engine = False, 262 uses_polling = False, 263 deps = [ 264 ":lb_policy_test_lib", 265 "//src/core:channel_args", 266 "//src/core:grpc_lb_policy_ring_hash", 267 "//test/core/test_util:grpc_test_util", 268 "//test/core/test_util:scoped_env_var", 269 ], 270) 271 272grpc_cc_benchmark( 273 name = "bm_picker", 274 srcs = ["bm_picker.cc"], 275 external_deps = [ 276 "absl/strings", 277 ], 278 monitoring = HISTORY, 279 deps = [ 280 "//:config", 281 "//:grpc", 282 "//src/core:lb_policy", 283 "//test/core/test_util:build", 284 ], 285) 286