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( 18 "//test/core/test_util:grpc_fuzzer.bzl", 19 "grpc_fuzz_test", 20 "grpc_fuzzer", 21 "grpc_proto_fuzzer", 22) 23load("//test/cpp/microbenchmarks:grpc_benchmark_config.bzl", "HISTORY", "grpc_cc_benchmark") 24 25licenses(["notice"]) 26 27grpc_package(name = "test/core/util") 28 29grpc_cc_test( 30 name = "directory_reader_test", 31 srcs = ["directory_reader_test.cc"], 32 data = [ 33 "//test/core/tsi/test_creds/crl_data/crls:ab06acdd.r0", 34 "//test/core/tsi/test_creds/crl_data/crls:b9322cac.r0", 35 "//test/core/tsi/test_creds/crl_data/crls:current.crl", 36 "//test/core/tsi/test_creds/crl_data/crls:intermediate.crl", 37 ], 38 external_deps = [ 39 "gtest", 40 ], 41 language = "C++", 42 uses_event_engine = False, 43 uses_polling = False, 44 deps = [ 45 "//src/core:directory_reader", 46 "//test/core/test_util:grpc_test_util", 47 ], 48) 49 50grpc_cc_test( 51 name = "tdigest_test", 52 srcs = ["tdigest_test.cc"], 53 external_deps = [ 54 "gtest", 55 "absl/random", 56 "absl/container:flat_hash_map", 57 "benchmark", 58 ], 59 language = "C++", 60 uses_event_engine = False, 61 uses_polling = False, 62 deps = [ 63 "//src/core:tdigest", 64 ], 65) 66 67grpc_cc_benchmark( 68 name = "bm_tdigest", 69 srcs = ["bm_tdigest.cc"], 70 external_deps = [ 71 ], 72 monitoring = HISTORY, 73 deps = [ 74 "//src/core:tdigest", 75 ], 76) 77 78grpc_cc_test( 79 name = "examine_stack_test", 80 srcs = ["examine_stack_test.cc"], 81 external_deps = [ 82 "absl/debugging:stacktrace", 83 "absl/debugging:symbolize", 84 "absl/log:log", 85 "gtest", 86 ], 87 language = "C++", 88 # TODO(https://github.com/grpc/grpc/issues/24627): Disable this on Windows 89 tags = ["no_windows"], 90 uses_event_engine = False, 91 uses_polling = False, 92 deps = [ 93 "//:gpr", 94 "//test/core/test_util:grpc_test_util", 95 ], 96) 97 98grpc_cc_test( 99 name = "dump_args_test", 100 srcs = ["dump_args_test.cc"], 101 external_deps = [ 102 "gtest", 103 ], 104 language = "C++", 105 uses_event_engine = False, 106 uses_polling = False, 107 deps = [ 108 "//src/core:dump_args", 109 ], 110) 111 112# TODO(hork): solidify fork support requirements for EventEngines 113grpc_cc_test( 114 name = "fork_test", 115 srcs = ["fork_test.cc"], 116 external_deps = ["gtest"], 117 language = "C++", 118 tags = ["no_windows"], 119 uses_event_engine = True, # engines should behave appropriately on Fork 120 uses_polling = False, 121 deps = [ 122 "//:gpr", 123 "//test/core/test_util:grpc_test_util", 124 ], 125) 126 127grpc_cc_test( 128 name = "bitset_test", 129 srcs = ["bitset_test.cc"], 130 external_deps = ["gtest"], 131 language = "C++", 132 uses_event_engine = False, 133 uses_polling = False, 134 deps = [ 135 "//src/core:bitset", 136 ], 137) 138 139grpc_cc_test( 140 name = "if_list_test", 141 srcs = ["if_list_test.cc"], 142 external_deps = ["gtest"], 143 language = "C++", 144 uses_event_engine = False, 145 uses_polling = False, 146 deps = [ 147 "//src/core:if_list", 148 ], 149) 150 151grpc_cc_test( 152 name = "no_destruct_test", 153 srcs = ["no_destruct_test.cc"], 154 external_deps = ["gtest"], 155 language = "C++", 156 uses_event_engine = False, 157 uses_polling = False, 158 deps = [ 159 "//src/core:no_destruct", 160 ], 161) 162 163grpc_cc_test( 164 name = "match_test", 165 srcs = ["match_test.cc"], 166 external_deps = ["gtest"], 167 language = "C++", 168 uses_event_engine = False, 169 uses_polling = False, 170 deps = [ 171 "//src/core:match", 172 ], 173) 174 175grpc_cc_test( 176 name = "overload_test", 177 srcs = ["overload_test.cc"], 178 external_deps = ["gtest"], 179 language = "C++", 180 uses_event_engine = False, 181 uses_polling = False, 182 deps = [ 183 "//src/core:overload", 184 ], 185) 186 187grpc_cc_test( 188 name = "down_cast_test", 189 srcs = ["down_cast_test.cc"], 190 external_deps = ["gtest"], 191 language = "C++", 192 uses_event_engine = False, 193 uses_polling = False, 194 deps = [ 195 "//src/core:down_cast", 196 ], 197) 198 199grpc_cc_test( 200 name = "table_test", 201 srcs = ["table_test.cc"], 202 external_deps = [ 203 "gtest", 204 "absl/types:optional", 205 ], 206 language = "C++", 207 uses_event_engine = False, 208 uses_polling = False, 209 deps = [ 210 "//src/core:table", 211 ], 212) 213 214grpc_cc_test( 215 name = "host_port_test", 216 srcs = ["host_port_test.cc"], 217 external_deps = ["gtest"], 218 language = "C++", 219 uses_event_engine = False, 220 uses_polling = False, 221 deps = [ 222 "//:gpr", 223 "//test/core/test_util:grpc_test_util", 224 ], 225) 226 227grpc_cc_test( 228 name = "mpscq_test", 229 srcs = ["mpscq_test.cc"], 230 exec_properties = LARGE_MACHINE, 231 external_deps = [ 232 "absl/log:log", 233 "gtest", 234 ], 235 language = "C++", 236 tags = ["no_windows"], # LARGE_MACHINE is not configured for windows RBE 237 uses_event_engine = False, 238 uses_polling = False, 239 deps = [ 240 "//:gpr", 241 "//test/core/test_util:grpc_test_util", 242 ], 243) 244 245grpc_cc_test( 246 name = "orphanable_test", 247 srcs = ["orphanable_test.cc"], 248 external_deps = [ 249 "gtest", 250 ], 251 language = "C++", 252 deps = [ 253 "//:orphanable", 254 "//test/core/test_util:grpc_test_util", 255 ], 256) 257 258grpc_cc_test( 259 name = "ref_counted_test", 260 srcs = ["ref_counted_test.cc"], 261 external_deps = [ 262 "gtest", 263 ], 264 language = "C++", 265 deps = [ 266 "//src/core:ref_counted", 267 "//test/core/test_util:grpc_test_util", 268 ], 269) 270 271grpc_cc_test( 272 name = "dual_ref_counted_test", 273 srcs = ["dual_ref_counted_test.cc"], 274 external_deps = [ 275 "absl/log:check", 276 "gtest", 277 ], 278 language = "C++", 279 deps = [ 280 "//src/core:dual_ref_counted", 281 "//test/core/test_util:grpc_test_util", 282 ], 283) 284 285grpc_cc_test( 286 name = "ref_counted_ptr_test", 287 srcs = ["ref_counted_ptr_test.cc"], 288 external_deps = [ 289 "absl/container:flat_hash_set", 290 "absl/log:check", 291 "gtest", 292 ], 293 language = "C++", 294 deps = [ 295 "//:ref_counted_ptr", 296 "//src/core:dual_ref_counted", 297 "//src/core:ref_counted", 298 "//test/core/test_util:grpc_test_util", 299 ], 300) 301 302grpc_cc_test( 303 name = "thd_test", 304 srcs = ["thd_test.cc"], 305 external_deps = ["gtest"], 306 language = "C++", 307 uses_event_engine = False, 308 uses_polling = False, 309 deps = [ 310 "//:gpr", 311 "//test/core/test_util:grpc_test_util", 312 ], 313) 314 315grpc_cc_test( 316 name = "stat_test", 317 srcs = ["stat_test.cc"], 318 external_deps = [ 319 "gtest", 320 ], 321 language = "C++", 322 uses_event_engine = False, 323 uses_polling = False, 324 deps = [ 325 "//:gpr", 326 "//:grpc", 327 "//test/core/test_util:grpc_test_util", 328 ], 329) 330 331grpc_cc_test( 332 name = "status_helper_test", 333 srcs = ["status_helper_test.cc"], 334 external_deps = [ 335 "gtest", 336 ], 337 language = "C++", 338 uses_event_engine = False, 339 uses_polling = False, 340 deps = [ 341 "//:gpr", 342 "//test/core/test_util:grpc_test_util", 343 ], 344) 345 346grpc_cc_test( 347 name = "time_util_test", 348 srcs = ["time_util_test.cc"], 349 external_deps = [ 350 "gtest", 351 ], 352 language = "C++", 353 uses_event_engine = False, 354 uses_polling = False, 355 deps = [ 356 "//:gpr", 357 "//test/core/test_util:grpc_test_util", 358 ], 359) 360 361grpc_cc_test( 362 name = "cpp_impl_of_test", 363 srcs = ["cpp_impl_of_test.cc"], 364 external_deps = ["gtest"], 365 language = "c++", 366 uses_event_engine = False, 367 uses_polling = False, 368 deps = [ 369 "//:cpp_impl_of", 370 ], 371) 372 373grpc_cc_test( 374 name = "chunked_vector_test", 375 srcs = ["chunked_vector_test.cc"], 376 external_deps = ["gtest"], 377 language = "c++", 378 tags = [ 379 "resource_quota_test", 380 ], 381 uses_event_engine = False, 382 uses_polling = False, 383 deps = [ 384 "//:gpr", 385 "//src/core:chunked_vector", 386 "//src/core:resource_quota", 387 ], 388) 389 390grpc_proto_fuzzer( 391 name = "chunked_vector_fuzzer", 392 srcs = ["chunked_vector_fuzzer.cc"], 393 corpus = "chunked_vector_corpora", 394 external_deps = ["absl/log:check"], 395 language = "C++", 396 proto = "chunked_vector_fuzzer.proto", 397 tags = ["no_windows"], 398 uses_event_engine = False, 399 uses_polling = False, 400 deps = [ 401 "//src/core:chunked_vector", 402 "//src/core:resource_quota", 403 "//test/core/test_util:grpc_test_util", 404 ], 405) 406 407grpc_cc_test( 408 name = "time_test", 409 srcs = ["time_test.cc"], 410 external_deps = ["gtest"], 411 language = "c++", 412 uses_event_engine = False, 413 uses_polling = False, 414 deps = [ 415 "//src/core:time", 416 ], 417) 418 419grpc_cc_test( 420 name = "single_set_ptr_test", 421 srcs = ["single_set_ptr_test.cc"], 422 external_deps = [ 423 "absl/log:log", 424 "gtest", 425 ], 426 language = "c++", 427 uses_event_engine = False, 428 uses_polling = False, 429 deps = [ 430 "//src/core:single_set_ptr", 431 ], 432) 433 434grpc_cc_test( 435 name = "sorted_pack_test", 436 srcs = ["sorted_pack_test.cc"], 437 external_deps = ["gtest"], 438 language = "c++", 439 uses_event_engine = False, 440 uses_polling = False, 441 deps = [ 442 "//src/core:sorted_pack", 443 ], 444) 445 446grpc_cc_test( 447 name = "unique_type_name_test", 448 srcs = ["unique_type_name_test.cc"], 449 external_deps = [ 450 "gtest", 451 "absl/container:flat_hash_map", 452 "absl/strings:str_format", 453 ], 454 language = "c++", 455 uses_event_engine = False, 456 uses_polling = False, 457 deps = [ 458 "//src/core:unique_type_name", 459 ], 460) 461 462grpc_cc_test( 463 name = "work_serializer_test", 464 srcs = ["work_serializer_test.cc"], 465 exec_properties = LARGE_MACHINE, 466 external_deps = [ 467 "gtest", 468 ], 469 flaky = True, 470 language = "C++", 471 shard_count = 5, 472 tags = [ 473 "no_windows", # LARGE_MACHINE is not configured for windows RBE 474 ], 475 deps = [ 476 "//:gpr", 477 "//:grpc", 478 "//test/core/event_engine:event_engine_test_utils", 479 "//test/core/test_util:grpc_test_util", 480 ], 481) 482 483grpc_cc_test( 484 name = "validation_errors_test", 485 srcs = ["validation_errors_test.cc"], 486 external_deps = [ 487 "gtest", 488 ], 489 language = "C++", 490 deps = [ 491 "//src/core:validation_errors", 492 "//test/core/test_util:grpc_test_util", 493 ], 494) 495 496grpc_cc_test( 497 name = "notification_test", 498 srcs = ["notification_test.cc"], 499 external_deps = [ 500 "gtest", 501 ], 502 language = "C++", 503 uses_event_engine = False, 504 uses_polling = False, 505 deps = ["//src/core:notification"], 506) 507 508grpc_cc_test( 509 name = "load_file_test", 510 srcs = ["load_file_test.cc"], 511 external_deps = [ 512 "gtest", 513 ], 514 language = "C++", 515 uses_event_engine = False, 516 uses_polling = False, 517 deps = [ 518 "//src/core:load_file", 519 "//test/core/test_util:grpc_test_util", 520 ], 521) 522 523grpc_cc_test( 524 name = "uuid_v4_test", 525 srcs = ["uuid_v4_test.cc"], 526 external_deps = [ 527 "gtest", 528 ], 529 language = "C++", 530 uses_event_engine = False, 531 uses_polling = False, 532 deps = [ 533 "//src/core:uuid_v4", 534 "//test/core/test_util:grpc_test_util", 535 ], 536) 537 538grpc_cc_test( 539 name = "glob_test", 540 srcs = ["glob_test.cc"], 541 external_deps = ["gtest"], 542 language = "C++", 543 uses_event_engine = False, 544 uses_polling = False, 545 deps = [ 546 "//:gpr", 547 "//src/core:useful", 548 "//test/core/test_util:grpc_test_util", 549 ], 550) 551 552grpc_fuzzer( 553 name = "uri_fuzzer_test", 554 srcs = ["uri_fuzzer_test.cc"], 555 corpus = "uri_corpus", 556 language = "C++", 557 tags = [ 558 "no_windows", 559 # Without "nofixdeps", "//:grpc" gets substituted with "//:event_engine_base_hdrs" 560 "nofixdeps", 561 ], 562 deps = [ 563 "//:exec_ctx", 564 "//:gpr", 565 "//:grpc", 566 "//:uri", 567 ], 568) 569 570grpc_cc_test( 571 name = "uri_test", 572 srcs = ["uri_test.cc"], 573 external_deps = [ 574 "absl/status", 575 "gtest", 576 ], 577 language = "C++", 578 deps = [ 579 "//:event_engine_base_hdrs", 580 "//:uri", 581 "//test/core/test_util:grpc_test_util_unsecure", 582 ], 583) 584 585grpc_cc_test( 586 name = "matchers_test", 587 srcs = ["matchers_test.cc"], 588 external_deps = ["gtest"], 589 language = "C++", 590 deps = [ 591 "//:gpr", 592 "//:grpc", 593 "//test/core/test_util:grpc_test_util", 594 "//test/core/test_util:grpc_test_util_base", 595 ], 596) 597 598grpc_cc_test( 599 name = "backoff_test", 600 srcs = ["backoff_test.cc"], 601 external_deps = ["gtest"], 602 language = "C++", 603 uses_event_engine = False, 604 uses_polling = False, 605 deps = [ 606 "//:backoff", 607 "//:exec_ctx", 608 "//:grpc", 609 "//src/core:time", 610 "//test/core/test_util:grpc_test_util", 611 ], 612) 613 614grpc_cc_test( 615 name = "random_early_detection_test", 616 srcs = ["random_early_detection_test.cc"], 617 external_deps = [ 618 "absl/random", 619 "gtest", 620 ], 621 language = "C++", 622 uses_event_engine = False, 623 uses_polling = False, 624 deps = ["//src/core:random_early_detection"], 625) 626 627grpc_cc_test( 628 name = "alloc_test", 629 srcs = ["alloc_test.cc"], 630 external_deps = ["gtest"], 631 language = "C++", 632 uses_event_engine = False, 633 uses_polling = False, 634 deps = [ 635 "//:gpr", 636 "//test/core/test_util:grpc_test_util", 637 ], 638) 639 640grpc_cc_test( 641 name = "cpu_test", 642 srcs = ["cpu_test.cc"], 643 external_deps = ["gtest"], 644 language = "C++", 645 uses_event_engine = False, 646 uses_polling = False, 647 deps = [ 648 "//:gpr", 649 "//test/core/test_util:grpc_test_util", 650 ], 651) 652 653grpc_cc_test( 654 name = "env_test", 655 srcs = ["env_test.cc"], 656 external_deps = [ 657 "absl/log:log", 658 "gtest", 659 ], 660 language = "C++", 661 uses_event_engine = False, 662 uses_polling = False, 663 deps = [ 664 "//:gpr", 665 "//test/core/test_util:grpc_test_util", 666 ], 667) 668 669grpc_cc_test( 670 name = "spinlock_test", 671 srcs = ["spinlock_test.cc"], 672 external_deps = ["gtest"], 673 language = "C++", 674 uses_event_engine = False, 675 uses_polling = False, 676 deps = [ 677 "//:gpr", 678 "//test/core/test_util:grpc_test_util", 679 ], 680) 681 682grpc_cc_test( 683 name = "string_test", 684 srcs = ["string_test.cc"], 685 external_deps = ["gtest"], 686 language = "C++", 687 uses_event_engine = False, 688 uses_polling = False, 689 deps = [ 690 "//:gpr", 691 "//test/core/test_util:grpc_test_util", 692 ], 693) 694 695grpc_cc_test( 696 name = "sync_test", 697 srcs = ["sync_test.cc"], 698 external_deps = ["gtest"], 699 language = "C++", 700 uses_event_engine = False, 701 uses_polling = False, 702 deps = [ 703 "//:gpr", 704 "//test/core/test_util:grpc_test_util", 705 ], 706) 707 708grpc_cc_test( 709 name = "gpr_time_test", 710 srcs = ["gpr_time_test.cc"], 711 external_deps = ["gtest"], 712 language = "C++", 713 uses_event_engine = False, 714 uses_polling = False, 715 deps = [ 716 "//:gpr", 717 "//test/core/test_util:grpc_test_util", 718 ], 719) 720 721grpc_cc_test( 722 name = "unique_ptr_with_bitset_test", 723 srcs = ["unique_ptr_with_bitset_test.cc"], 724 external_deps = ["gtest"], 725 language = "C++", 726 uses_event_engine = False, 727 uses_polling = False, 728 deps = [ 729 "//:gpr_platform", 730 "//src/core:unique_ptr_with_bitset", 731 ], 732) 733 734grpc_cc_test( 735 name = "useful_test", 736 srcs = ["useful_test.cc"], 737 external_deps = ["gtest"], 738 language = "C++", 739 uses_event_engine = False, 740 uses_polling = False, 741 deps = [ 742 "//:gpr_platform", 743 "//src/core:useful", 744 ], 745) 746 747grpc_cc_test( 748 name = "ring_buffer_test", 749 srcs = ["ring_buffer_test.cc"], 750 external_deps = ["gtest"], 751 language = "C++", 752 uses_event_engine = False, 753 uses_polling = False, 754 deps = [ 755 "//:gpr_platform", 756 "//src/core:ring_buffer", 757 ], 758) 759 760grpc_cc_test( 761 name = "avl_test", 762 srcs = ["avl_test.cc"], 763 external_deps = ["gtest"], 764 language = "C++", 765 uses_event_engine = False, 766 uses_polling = False, 767 deps = [ 768 "//src/core:avl", 769 ], 770) 771 772grpc_proto_fuzzer( 773 name = "avl_fuzzer", 774 srcs = ["avl_fuzzer.cc"], 775 corpus = "avl_fuzzer_corpus", 776 language = "C++", 777 proto = "avl_fuzzer.proto", 778 tags = ["no_windows"], 779 uses_event_engine = False, 780 uses_polling = False, 781 deps = [ 782 "//src/core:avl", 783 "//test/core/test_util:grpc_test_util", 784 ], 785) 786 787grpc_cc_test( 788 name = "lru_cache_test", 789 srcs = ["lru_cache_test.cc"], 790 external_deps = ["gtest"], 791 language = "C++", 792 uses_event_engine = False, 793 uses_polling = False, 794 deps = [ 795 "//src/core:lru_cache", 796 ], 797) 798 799grpc_fuzz_test( 800 name = "tdigest_fuzztest", 801 srcs = ["tdigest_fuzztest.cc"], 802 external_deps = [ 803 "absl/types:variant", 804 "fuzztest", 805 "fuzztest_main", 806 "gtest", 807 ], 808 deps = ["//src/core:tdigest"], 809) 810 811grpc_fuzz_test( 812 name = "useful_fuzztest", 813 srcs = ["useful_fuzztest.cc"], 814 external_deps = [ 815 "fuzztest", 816 "fuzztest_main", 817 "gtest", 818 ], 819 deps = ["//src/core:useful"], 820) 821