• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2016 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("//bazel:custom_exec_properties.bzl", "LARGE_MACHINE")
16load("//bazel:grpc_build_system.bzl", "grpc_cc_test", "grpc_package")
17load("//test/core/util:grpc_fuzzer.bzl", "grpc_fuzzer", "grpc_proto_fuzzer")
18
19licenses(["notice"])
20
21grpc_package(name = "test/core/transport/chttp2")
22
23grpc_proto_fuzzer(
24    name = "hpack_parser_fuzzer",
25    srcs = ["hpack_parser_fuzzer_test.cc"],
26    corpus = "hpack_parser_corpus",
27    proto = "hpack_parser_fuzzer.proto",
28    proto_deps = ["//test/core/util:fuzz_config_vars_proto"],
29    tags = ["no_windows"],
30    uses_polling = False,
31    deps = [
32        "//:grpc",
33        "//test/core/util:fuzz_config_vars",
34        "//test/core/util:grpc_test_util",
35        "//test/core/util:proto_bit_gen",
36    ],
37)
38
39grpc_proto_fuzzer(
40    name = "hpack_sync_fuzzer",
41    srcs = ["hpack_sync_fuzzer.cc"],
42    corpus = "hpack_sync_corpus",
43    proto = "hpack_sync_fuzzer.proto",
44    proto_deps = ["//test/core/util:fuzz_config_vars_proto"],
45    tags = ["no_windows"],
46    uses_polling = False,
47    deps = [
48        "//:grpc",
49        "//test/core/util:fuzz_config_vars",
50        "//test/core/util:grpc_test_util",
51        "//test/core/util:proto_bit_gen",
52    ],
53)
54
55grpc_proto_fuzzer(
56    name = "flow_control_fuzzer",
57    srcs = ["flow_control_fuzzer.cc"],
58    corpus = "flow_control_fuzzer_corpus",
59    language = "C++",
60    proto = "flow_control_fuzzer.proto",
61    proto_deps = ["//test/core/util:fuzz_config_vars_proto"],
62    tags = ["no_windows"],
63    uses_event_engine = False,
64    uses_polling = False,
65    deps = [
66        "//:gpr",
67        "//src/core:chttp2_flow_control",
68        "//test/core/util:fuzz_config_vars",
69    ],
70)
71
72grpc_fuzzer(
73    name = "hpack_parser_input_size_fuzzer",
74    srcs = ["hpack_parser_input_size_fuzzer.cc"],
75    corpus = "hpack_parser_input_size_corpus",
76    external_deps = [
77        "absl/cleanup",
78        "absl/status:statusor",
79        "absl/status",
80        "absl/random:mocking_bit_gen",
81    ],
82    tags = ["no_windows"],
83    uses_polling = False,
84    deps = [
85        "//:grpc",
86        "//test/core/util:grpc_test_util",
87        "//test/core/util:grpc_test_util_base",
88    ],
89)
90
91grpc_fuzzer(
92    name = "decode_huff_fuzzer",
93    srcs = ["decode_huff_fuzzer.cc"],
94    corpus = "decode_huff_corpus",
95    external_deps = [
96        "absl/types:optional",
97        "absl/strings",
98    ],
99    language = "C++",
100    tags = ["no_windows"],
101    deps = [
102        "//:grpc",
103        "//src/core:decode_huff",
104        "//src/core:huffsyms",
105    ],
106)
107
108grpc_fuzzer(
109    name = "encode_decode_huff_fuzzer",
110    srcs = ["encode_decode_huff_fuzzer.cc"],
111    corpus = "encode_decode_huff_corpus",
112    external_deps = [
113        "absl/types:optional",
114        "absl/strings",
115    ],
116    language = "C++",
117    tags = ["no_windows"],
118    deps = [
119        "//:grpc",
120        "//src/core:decode_huff",
121        "//src/core:huffsyms",
122    ],
123)
124
125grpc_cc_test(
126    name = "alpn_test",
127    srcs = ["alpn_test.cc"],
128    external_deps = ["gtest"],
129    language = "C++",
130    deps = [
131        "//:gpr",
132        "//:grpc",
133        "//test/core/util:grpc_test_util",
134    ],
135)
136
137grpc_cc_test(
138    name = "bin_decoder_test",
139    srcs = ["bin_decoder_test.cc"],
140    external_deps = ["gtest"],
141    language = "C++",
142    uses_event_engine = False,
143    uses_polling = False,
144    deps = [
145        "//:gpr",
146        "//:grpc",
147        "//src/core:slice",
148        "//test/core/util:grpc_test_util",
149    ],
150)
151
152grpc_cc_test(
153    name = "frame_test",
154    srcs = ["frame_test.cc"],
155    external_deps = ["gtest"],
156    language = "C++",
157    uses_event_engine = False,
158    uses_polling = False,
159    deps = [
160        "//:chttp2_frame",
161        "//src/core:http2_errors",
162    ],
163)
164
165grpc_cc_test(
166    name = "bin_encoder_test",
167    srcs = ["bin_encoder_test.cc"],
168    external_deps = ["gtest"],
169    language = "C++",
170    uses_event_engine = False,
171    uses_polling = False,
172    deps = [
173        "//:gpr",
174        "//:grpc",
175        "//src/core:slice",
176        "//test/core/util:grpc_test_util",
177    ],
178)
179
180grpc_cc_test(
181    name = "ping_abuse_policy_test",
182    srcs = ["ping_abuse_policy_test.cc"],
183    external_deps = ["gtest"],
184    language = "C++",
185    uses_polling = False,
186    deps = [
187        "//:gpr",
188        "//:grpc",
189        "//test/core/util:grpc_test_util",
190        "//test/core/util:grpc_test_util_base",
191    ],
192)
193
194grpc_cc_test(
195    name = "ping_rate_policy_test",
196    srcs = ["ping_rate_policy_test.cc"],
197    external_deps = ["gtest"],
198    language = "C++",
199    uses_polling = False,
200    deps = [
201        "//:gpr",
202        "//:grpc",
203        "//test/core/util:grpc_test_util",
204        "//test/core/util:grpc_test_util_base",
205    ],
206)
207
208grpc_cc_test(
209    name = "ping_configuration_test",
210    srcs = ["ping_configuration_test.cc"],
211    external_deps = ["gtest"],
212    language = "C++",
213    uses_polling = False,
214    deps = [
215        "//:gpr",
216        "//:grpc",
217        "//test/core/util:grpc_test_util",
218        "//test/core/util:grpc_test_util_base",
219    ],
220)
221
222grpc_cc_test(
223    name = "ping_callbacks_test",
224    srcs = ["ping_callbacks_test.cc"],
225    external_deps = [
226        "gtest",
227        "absl/random",
228    ],
229    language = "C++",
230    uses_polling = False,
231    deps = [
232        "//:gpr",
233        "//:grpc",
234        "//test/core/event_engine:mock_event_engine",
235    ],
236)
237
238grpc_cc_test(
239    name = "write_size_policy_test",
240    srcs = ["write_size_policy_test.cc"],
241    external_deps = [
242        "gtest",
243        "absl/random",
244    ],
245    language = "C++",
246    uses_polling = False,
247    deps = [
248        "//src/core:write_size_policy",
249    ],
250)
251
252grpc_cc_test(
253    name = "flow_control_test",
254    srcs = ["flow_control_test.cc"],
255    external_deps = [
256        "gtest",
257    ],
258    language = "C++",
259    tags = ["flow_control_test"],
260    uses_event_engine = False,
261    uses_polling = False,
262    deps = [
263        "//src/core:chttp2_flow_control",
264        "//src/core:resource_quota",
265    ],
266)
267
268grpc_cc_test(
269    name = "graceful_shutdown_test",
270    srcs = ["graceful_shutdown_test.cc"],
271    external_deps = ["gtest"],
272    language = "C++",
273    deps = [
274        "//:gpr",
275        "//:grpc",
276        "//src/core:channel_args",
277        "//src/core:closure",
278        "//src/core:slice",
279        "//test/core/end2end:cq_verifier",
280        "//test/core/util:grpc_test_util",
281    ],
282)
283
284grpc_cc_test(
285    name = "hpack_encoder_test",
286    srcs = ["hpack_encoder_test.cc"],
287    external_deps = ["gtest"],
288    language = "C++",
289    tags = ["hpack_test"],
290    uses_event_engine = False,
291    uses_polling = False,
292    deps = [
293        "//:gpr",
294        "//:grpc",
295        "//test/core/util:grpc_test_util",
296        "//test/core/util:grpc_test_util_base",
297    ],
298)
299
300grpc_cc_test(
301    name = "hpack_parser_test",
302    srcs = ["hpack_parser_test.cc"],
303    external_deps = ["gtest"],
304    language = "C++",
305    tags = ["hpack_test"],
306    uses_event_engine = False,
307    uses_polling = False,
308    deps = [
309        "//:gpr",
310        "//:grpc",
311        "//test/core/util:grpc_test_util",
312        "//test/core/util:grpc_test_util_base",
313    ],
314)
315
316grpc_cc_test(
317    name = "hpack_parser_table_test",
318    srcs = ["hpack_parser_table_test.cc"],
319    external_deps = ["gtest"],
320    language = "C++",
321    tags = ["hpack_test"],
322    uses_event_engine = False,
323    uses_polling = False,
324    deps = [
325        "//:gpr",
326        "//:grpc",
327        "//test/core/util:grpc_test_util",
328        "//test/core/util:grpc_test_util_base",
329    ],
330)
331
332grpc_cc_test(
333    name = "max_concurrent_streams_policy_test",
334    srcs = ["max_concurrent_streams_policy_test.cc"],
335    external_deps = ["gtest"],
336    language = "C++",
337    deps = [
338        "//src/core:max_concurrent_streams_policy",
339    ],
340)
341
342grpc_cc_test(
343    name = "streams_not_seen_test",
344    srcs = ["streams_not_seen_test.cc"],
345    external_deps = ["gtest"],
346    language = "C++",
347    deps = [
348        "//:channel_stack_builder",
349        "//:gpr",
350        "//:grpc",
351        "//src/core:channel_args",
352        "//src/core:closure",
353        "//src/core:slice",
354        "//test/core/end2end:cq_verifier",
355        "//test/core/util:grpc_test_util",
356        "//test/core/util:grpc_test_util_base",
357    ],
358)
359
360grpc_cc_test(
361    name = "settings_timeout_test",
362    srcs = ["settings_timeout_test.cc"],
363    external_deps = [
364        "gtest",
365    ],
366    language = "C++",
367    deps = [
368        "//:gpr",
369        "//:grpc",
370        "//src/core:closure",
371        "//test/core/util:grpc_test_util",
372        "//test/core/util:grpc_test_util_base",
373    ],
374)
375
376grpc_cc_test(
377    name = "too_many_pings_test",
378    timeout = "long",  # Required for internal test infrastructure (cl/325757166)
379    srcs = ["too_many_pings_test.cc"],
380    external_deps = ["gtest"],
381    flaky = True,
382    shard_count = 7,
383    deps = [
384        "//:gpr",
385        "//:grpc",
386        "//:grpc++",
387        "//src/core:channel_args",
388        "//test/core/end2end:cq_verifier",
389        "//test/core/util:grpc_test_util",
390        "//test/cpp/util:test_config",
391        "//test/cpp/util:test_util",
392    ],
393)
394
395grpc_cc_test(
396    name = "varint_test",
397    srcs = ["varint_test.cc"],
398    external_deps = ["gtest"],
399    language = "C++",
400    uses_event_engine = False,
401    uses_polling = False,
402    deps = [
403        "//:gpr",
404        "//:grpc",
405        "//test/core/util:grpc_test_util",
406    ],
407)
408
409grpc_cc_test(
410    name = "remove_stream_from_stalled_lists_test",
411    srcs = ["remove_stream_from_stalled_lists_test.cc"],
412    # use LARGE_MACHINE because this test needs a certaim amount
413    # of parallelism in order to reproduce the original crash that it's meant
414    # to regression test for (a crash which is fixed by
415    # https://github.com/grpc/grpc/pull/23984). Experiments show that if this
416    # test doesn't use LARGE_MACHINE, then it will almost never reproduce the
417    # intended crash (as it's meant to before the fix is applied). But with
418    # LARGE_MACHINE, it can reproduce at a high rate.
419    exec_properties = LARGE_MACHINE,
420    external_deps = [
421        "gtest",
422    ],
423    language = "C++",
424    tags = [
425        "flow_control_test",
426        "no_windows",
427    ],  # LARGE_MACHINE is not configured for windows RBE
428    deps = [
429        "//:gpr",
430        "//:grpc",
431        "//src/core:channel_args",
432        "//test/core/util:grpc_test_util",
433    ],
434)
435
436grpc_cc_test(
437    name = "stream_leak_with_queued_flow_control_update_test",
438    srcs = ["stream_leak_with_queued_flow_control_update_test.cc"],
439    external_deps = [
440        "gtest",
441    ],
442    language = "C++",
443    deps = [
444        "//:gpr",
445        "//:grpc",
446        "//src/core:channel_args",
447        "//test/core/util:grpc_test_util",
448    ],
449)
450
451grpc_cc_test(
452    name = "http2_settings_test",
453    srcs = [
454        "http2_settings_test.cc",
455    ],
456    external_deps = [
457        "gtest",
458    ],
459    language = "C++",
460    deps = [
461        "//:gpr",
462        "//:grpc",
463        "//src/core:http2_settings",
464        "//test/core/util:grpc_test_util",
465    ],
466)
467