• 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/test_util:grpc_fuzzer.bzl", "grpc_fuzz_test", "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    external_deps = [
28        "absl/log:check",
29    ],
30    proto = "hpack_parser_fuzzer.proto",
31    proto_deps = ["//test/core/test_util:fuzz_config_vars_proto"],
32    tags = ["no_windows"],
33    uses_polling = False,
34    deps = [
35        "//:grpc",
36        "//test/core/test_util:fuzz_config_vars",
37        "//test/core/test_util:grpc_test_util",
38        "//test/core/test_util:proto_bit_gen",
39    ],
40)
41
42grpc_proto_fuzzer(
43    name = "hpack_sync_fuzzer",
44    srcs = ["hpack_sync_fuzzer.cc"],
45    corpus = "hpack_sync_corpus",
46    proto = "hpack_sync_fuzzer.proto",
47    proto_deps = ["//test/core/test_util:fuzz_config_vars_proto"],
48    tags = ["no_windows"],
49    uses_polling = False,
50    deps = [
51        "//:grpc",
52        "//test/core/test_util:fuzz_config_vars",
53        "//test/core/test_util:grpc_test_util",
54        "//test/core/test_util:proto_bit_gen",
55    ],
56)
57
58grpc_proto_fuzzer(
59    name = "flow_control_fuzzer",
60    srcs = ["flow_control_fuzzer.cc"],
61    corpus = "flow_control_fuzzer_corpus",
62    external_deps = ["absl/log:check"],
63    language = "C++",
64    proto = "flow_control_fuzzer.proto",
65    proto_deps = ["//test/core/test_util:fuzz_config_vars_proto"],
66    tags = ["no_windows"],
67    uses_event_engine = False,
68    uses_polling = False,
69    deps = [
70        "//:gpr",
71        "//src/core:chttp2_flow_control",
72        "//test/core/test_util:fuzz_config_vars",
73    ],
74)
75
76grpc_fuzzer(
77    name = "hpack_parser_input_size_fuzzer",
78    srcs = ["hpack_parser_input_size_fuzzer.cc"],
79    corpus = "hpack_parser_input_size_corpus",
80    external_deps = [
81        "absl/cleanup",
82        "absl/status:statusor",
83        "absl/status",
84        "absl/random:mocking_bit_gen",
85    ],
86    tags = ["no_windows"],
87    uses_polling = False,
88    deps = [
89        "//:grpc",
90        "//test/core/test_util:grpc_test_util",
91        "//test/core/test_util:grpc_test_util_base",
92    ],
93)
94
95grpc_fuzzer(
96    name = "decode_huff_fuzzer",
97    srcs = ["decode_huff_fuzzer.cc"],
98    corpus = "decode_huff_corpus",
99    external_deps = [
100        "absl/types:optional",
101        "absl/strings",
102    ],
103    language = "C++",
104    tags = ["no_windows"],
105    deps = [
106        "//:grpc",
107        "//src/core:decode_huff",
108        "//src/core:huffsyms",
109    ],
110)
111
112grpc_fuzzer(
113    name = "encode_decode_huff_fuzzer",
114    srcs = ["encode_decode_huff_fuzzer.cc"],
115    corpus = "encode_decode_huff_corpus",
116    external_deps = [
117        "absl/types:optional",
118        "absl/strings",
119    ],
120    language = "C++",
121    tags = ["no_windows"],
122    deps = [
123        "//:grpc",
124        "//src/core:decode_huff",
125        "//src/core:huffsyms",
126    ],
127)
128
129grpc_cc_test(
130    name = "alpn_test",
131    srcs = ["alpn_test.cc"],
132    external_deps = ["gtest"],
133    language = "C++",
134    deps = [
135        "//:gpr",
136        "//:grpc",
137        "//test/core/test_util:grpc_test_util",
138    ],
139)
140
141grpc_cc_test(
142    name = "bin_decoder_test",
143    srcs = ["bin_decoder_test.cc"],
144    external_deps = [
145        "absl/log:log",
146        "gtest",
147    ],
148    language = "C++",
149    uses_event_engine = False,
150    uses_polling = False,
151    deps = [
152        "//:gpr",
153        "//:grpc",
154        "//src/core:slice",
155        "//test/core/test_util:grpc_test_util",
156    ],
157)
158
159grpc_cc_test(
160    name = "frame_test",
161    srcs = ["frame_test.cc"],
162    external_deps = ["gtest"],
163    language = "C++",
164    uses_event_engine = False,
165    uses_polling = False,
166    deps = [
167        "//:chttp2_frame",
168        "//src/core:http2_errors",
169    ],
170)
171
172grpc_cc_test(
173    name = "bin_encoder_test",
174    srcs = ["bin_encoder_test.cc"],
175    external_deps = [
176        "absl/log:log",
177        "gtest",
178    ],
179    language = "C++",
180    uses_event_engine = False,
181    uses_polling = False,
182    deps = [
183        "//:gpr",
184        "//:grpc",
185        "//src/core:slice",
186        "//test/core/test_util:grpc_test_util",
187    ],
188)
189
190grpc_cc_test(
191    name = "ping_abuse_policy_test",
192    srcs = ["ping_abuse_policy_test.cc"],
193    external_deps = ["gtest"],
194    language = "C++",
195    uses_polling = False,
196    deps = [
197        "//:gpr",
198        "//:grpc",
199        "//test/core/test_util:grpc_test_util",
200        "//test/core/test_util:grpc_test_util_base",
201    ],
202)
203
204grpc_cc_test(
205    name = "ping_rate_policy_test",
206    srcs = ["ping_rate_policy_test.cc"],
207    external_deps = ["gtest"],
208    language = "C++",
209    uses_polling = False,
210    deps = [
211        "//:gpr",
212        "//:grpc",
213        "//test/core/test_util:grpc_test_util",
214        "//test/core/test_util:grpc_test_util_base",
215    ],
216)
217
218grpc_cc_test(
219    name = "ping_configuration_test",
220    srcs = ["ping_configuration_test.cc"],
221    external_deps = ["gtest"],
222    language = "C++",
223    uses_polling = False,
224    deps = [
225        "//:gpr",
226        "//:grpc",
227        "//test/core/test_util:grpc_test_util",
228        "//test/core/test_util:grpc_test_util_base",
229    ],
230)
231
232grpc_cc_test(
233    name = "ping_callbacks_test",
234    srcs = ["ping_callbacks_test.cc"],
235    external_deps = [
236        "gtest",
237        "absl/random",
238    ],
239    language = "C++",
240    uses_polling = False,
241    deps = [
242        "//:gpr",
243        "//:grpc",
244        "//test/core/event_engine:mock_event_engine",
245    ],
246)
247
248grpc_cc_test(
249    name = "write_size_policy_test",
250    srcs = ["write_size_policy_test.cc"],
251    external_deps = [
252        "gtest",
253        "absl/random",
254    ],
255    language = "C++",
256    uses_polling = False,
257    deps = [
258        "//src/core:write_size_policy",
259    ],
260)
261
262grpc_cc_test(
263    name = "flow_control_test",
264    srcs = ["flow_control_test.cc"],
265    external_deps = [
266        "absl/log:check",
267        "gtest",
268    ],
269    language = "C++",
270    tags = ["flow_control_test"],
271    uses_event_engine = False,
272    uses_polling = False,
273    deps = [
274        "//src/core:chttp2_flow_control",
275        "//src/core:resource_quota",
276    ],
277)
278
279grpc_cc_test(
280    name = "graceful_shutdown_test",
281    srcs = ["graceful_shutdown_test.cc"],
282    external_deps = [
283        "absl/log:check",
284        "gtest",
285    ],
286    language = "C++",
287    deps = [
288        "//:gpr",
289        "//:grpc",
290        "//src/core:channel_args",
291        "//src/core:closure",
292        "//src/core:slice",
293        "//test/core/end2end:cq_verifier",
294        "//test/core/test_util:grpc_test_util",
295    ],
296)
297
298grpc_cc_test(
299    name = "hpack_encoder_test",
300    srcs = ["hpack_encoder_test.cc"],
301    external_deps = [
302        "absl/log:log",
303        "gtest",
304    ],
305    language = "C++",
306    tags = ["hpack_test"],
307    uses_event_engine = False,
308    uses_polling = False,
309    deps = [
310        "//:gpr",
311        "//:grpc",
312        "//test/core/test_util:grpc_test_util",
313        "//test/core/test_util:grpc_test_util_base",
314    ],
315)
316
317grpc_cc_test(
318    name = "hpack_parser_test",
319    srcs = ["hpack_parser_test.cc"],
320    external_deps = ["gtest"],
321    language = "C++",
322    tags = ["hpack_test"],
323    uses_event_engine = False,
324    uses_polling = False,
325    deps = [
326        "//:gpr",
327        "//:grpc",
328        "//test/core/test_util:grpc_test_util",
329        "//test/core/test_util:grpc_test_util_base",
330    ],
331)
332
333grpc_cc_test(
334    name = "hpack_parser_table_test",
335    srcs = ["hpack_parser_table_test.cc"],
336    external_deps = ["gtest"],
337    language = "C++",
338    tags = ["hpack_test"],
339    uses_event_engine = False,
340    uses_polling = False,
341    deps = [
342        "//:gpr",
343        "//:grpc",
344        "//test/core/test_util:grpc_test_util",
345        "//test/core/test_util:grpc_test_util_base",
346    ],
347)
348
349grpc_cc_test(
350    name = "streams_not_seen_test",
351    srcs = ["streams_not_seen_test.cc"],
352    external_deps = [
353        "absl/log:check",
354        "gtest",
355    ],
356    language = "C++",
357    deps = [
358        "//:channel_stack_builder",
359        "//:gpr",
360        "//:grpc",
361        "//src/core:channel_args",
362        "//src/core:closure",
363        "//src/core:slice",
364        "//test/core/end2end:cq_verifier",
365        "//test/core/test_util:grpc_test_util",
366        "//test/core/test_util:grpc_test_util_base",
367    ],
368)
369
370grpc_cc_test(
371    name = "settings_timeout_test",
372    srcs = ["settings_timeout_test.cc"],
373    external_deps = [
374        "absl/log:check",
375        "absl/log:log",
376        "gtest",
377    ],
378    language = "C++",
379    deps = [
380        "//:gpr",
381        "//:grpc",
382        "//src/core:closure",
383        "//test/core/test_util:grpc_test_util",
384        "//test/core/test_util:grpc_test_util_base",
385    ],
386)
387
388grpc_cc_test(
389    name = "too_many_pings_test",
390    timeout = "long",  # Required for internal test infrastructure (cl/325757166)
391    srcs = ["too_many_pings_test.cc"],
392    external_deps = [
393        "absl/log:check",
394        "absl/log:log",
395        "gtest",
396    ],
397    flaky = True,
398    shard_count = 7,
399    deps = [
400        "//:gpr",
401        "//:grpc",
402        "//:grpc++",
403        "//src/core:channel_args",
404        "//test/core/end2end:cq_verifier",
405        "//test/core/test_util:grpc_test_util",
406        "//test/cpp/util:test_config",
407        "//test/cpp/util:test_util",
408    ],
409)
410
411grpc_cc_test(
412    name = "varint_test",
413    srcs = ["varint_test.cc"],
414    external_deps = [
415        "absl/log:log",
416        "gtest",
417    ],
418    language = "C++",
419    uses_event_engine = False,
420    uses_polling = False,
421    deps = [
422        "//:gpr",
423        "//:grpc",
424        "//test/core/test_util:grpc_test_util",
425    ],
426)
427
428grpc_cc_test(
429    name = "remove_stream_from_stalled_lists_test",
430    srcs = ["remove_stream_from_stalled_lists_test.cc"],
431    # use LARGE_MACHINE because this test needs a certaim amount
432    # of parallelism in order to reproduce the original crash that it's meant
433    # to regression test for (a crash which is fixed by
434    # https://github.com/grpc/grpc/pull/23984). Experiments show that if this
435    # test doesn't use LARGE_MACHINE, then it will almost never reproduce the
436    # intended crash (as it's meant to before the fix is applied). But with
437    # LARGE_MACHINE, it can reproduce at a high rate.
438    exec_properties = LARGE_MACHINE,
439    external_deps = [
440        "absl/log:check",
441        "absl/log:log",
442        "gtest",
443    ],
444    language = "C++",
445    tags = [
446        "flow_control_test",
447        "no_windows",
448    ],  # LARGE_MACHINE is not configured for windows RBE
449    deps = [
450        "//:gpr",
451        "//:grpc",
452        "//src/core:channel_args",
453        "//test/core/test_util:grpc_test_util",
454    ],
455)
456
457grpc_cc_test(
458    name = "stream_leak_with_queued_flow_control_update_test",
459    srcs = ["stream_leak_with_queued_flow_control_update_test.cc"],
460    external_deps = [
461        "absl/log:check",
462        "absl/log:log",
463        "gtest",
464    ],
465    language = "C++",
466    deps = [
467        "//:gpr",
468        "//:grpc",
469        "//src/core:channel_args",
470        "//test/core/test_util:grpc_test_util",
471    ],
472)
473
474grpc_cc_test(
475    name = "http2_settings_test",
476    srcs = [
477        "http2_settings_test.cc",
478    ],
479    external_deps = [
480        "gtest",
481    ],
482    language = "C++",
483    deps = [
484        "//:gpr",
485        "//:grpc",
486        "//src/core:http2_settings",
487        "//test/core/test_util:grpc_test_util",
488    ],
489)
490
491grpc_cc_test(
492    name = "http2_client_transport_test",
493    srcs = ["http2_client_transport_test.cc"],
494    external_deps = ["gtest"],
495    language = "C++",
496    uses_polling = False,
497    deps = [
498        "//:gpr",
499        "//:grpc",
500        "//:grpc_http2_client_transport",
501        "//test/core/test_util:grpc_test_util",
502        "//test/core/test_util:grpc_test_util_base",
503        "//test/core/transport/util:mock_promise_endpoint",
504    ],
505)
506
507grpc_cc_test(
508    name = "http2_server_transport_test",
509    srcs = ["http2_server_transport_test.cc"],
510    external_deps = ["gtest"],
511    language = "C++",
512    uses_polling = False,
513    deps = [
514        "//:gpr",
515        "//:grpc",
516        "//:grpc_http2_server_transport",
517        "//test/core/test_util:grpc_test_util",
518        "//test/core/test_util:grpc_test_util_base",
519        "//test/core/transport/util:mock_promise_endpoint",
520    ],
521)
522
523grpc_cc_test(
524    name = "chttp2_server_listener_test",
525    srcs = ["chttp2_server_listener_test.cc"],
526    data = [
527        "//src/core/tsi/test_creds:client.pem",
528        "//src/core/tsi/test_creds:server1.key",
529        "//src/core/tsi/test_creds:server1.pem",
530    ],
531    external_deps = ["gtest"],
532    language = "C++",
533    deps = [
534        "//:gpr",
535        "//:grpc",
536        "//test/core/end2end:cq_verifier",
537        "//test/core/test_util:grpc_test_util",
538        "//test/core/test_util:grpc_test_util_base",
539    ],
540)
541
542grpc_fuzz_test(
543    name = "write_size_policy_fuzztest",
544    srcs = ["write_size_policy_fuzztest.cc"],
545    external_deps = [
546        "fuzztest",
547        "fuzztest_main",
548        "gtest",
549    ],
550    deps = ["//src/core:write_size_policy"],
551)
552
553grpc_fuzz_test(
554    name = "hpack_encoder_timeout_test",
555    srcs = ["hpack_encoder_timeout_test.cc"],
556    external_deps = [
557        "absl/random",
558        "fuzztest",
559        "fuzztest_main",
560        "gtest",
561    ],
562    deps = [
563        "//:grpc_base",
564        "//:hpack_encoder",
565        "//:hpack_parser",
566        "//:ref_counted_ptr",
567        "//src/core:arena",
568        "//src/core:memory_quota",
569        "//src/core:metadata_batch",
570        "//src/core:resource_quota",
571        "//src/core:slice_buffer",
572        "//src/core:time",
573    ],
574)
575