• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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