1# 2# Copyright 2017 The Abseil Authors. 3# 4# Licensed under the Apache License, Version 2.0 (the "License"); 5# you may not use this file except in compliance with the License. 6# You may obtain a copy of the License at 7# 8# https://www.apache.org/licenses/LICENSE-2.0 9# 10# Unless required by applicable law or agreed to in writing, software 11# distributed under the License is distributed on an "AS IS" BASIS, 12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13# See the License for the specific language governing permissions and 14# limitations under the License. 15 16load("@rules_cc//cc:defs.bzl", "cc_library", "cc_test") 17load( 18 "//absl:copts/configure_copts.bzl", 19 "ABSL_DEFAULT_COPTS", 20 "ABSL_TEST_COPTS", 21) 22 23package( 24 default_visibility = ["//visibility:public"], 25 features = ["parse_headers"], 26) 27 28licenses(["notice"]) 29 30cc_library( 31 name = "strings", 32 srcs = [ 33 "ascii.cc", 34 "charconv.cc", 35 "escaping.cc", 36 "internal/charconv_bigint.cc", 37 "internal/charconv_bigint.h", 38 "internal/charconv_parse.cc", 39 "internal/charconv_parse.h", 40 "internal/memutil.cc", 41 "internal/memutil.h", 42 "internal/stl_type_traits.h", 43 "internal/str_join_internal.h", 44 "internal/str_split_internal.h", 45 "match.cc", 46 "numbers.cc", 47 "str_cat.cc", 48 "str_replace.cc", 49 "str_split.cc", 50 "string_view.cc", 51 "substitute.cc", 52 ], 53 hdrs = [ 54 "ascii.h", 55 "charconv.h", 56 "escaping.h", 57 "internal/string_constant.h", 58 "match.h", 59 "numbers.h", 60 "str_cat.h", 61 "str_join.h", 62 "str_replace.h", 63 "str_split.h", 64 "string_view.h", 65 "strip.h", 66 "substitute.h", 67 ], 68 copts = ABSL_DEFAULT_COPTS, 69 deps = [ 70 ":internal", 71 "//absl/base", 72 "//absl/base:config", 73 "//absl/base:core_headers", 74 "//absl/base:endian", 75 "//absl/base:raw_logging_internal", 76 "//absl/base:throw_delegate", 77 "//absl/memory", 78 "//absl/meta:type_traits", 79 "//absl/numeric:bits", 80 "//absl/numeric:int128", 81 ], 82) 83 84cc_library( 85 name = "internal", 86 srcs = [ 87 "internal/escaping.cc", 88 "internal/ostringstream.cc", 89 "internal/utf8.cc", 90 ], 91 hdrs = [ 92 "internal/char_map.h", 93 "internal/escaping.h", 94 "internal/ostringstream.h", 95 "internal/resize_uninitialized.h", 96 "internal/utf8.h", 97 ], 98 copts = ABSL_DEFAULT_COPTS, 99 deps = [ 100 "//absl/base:config", 101 "//absl/base:core_headers", 102 "//absl/base:endian", 103 "//absl/base:raw_logging_internal", 104 "//absl/meta:type_traits", 105 ], 106) 107 108cc_test( 109 name = "match_test", 110 size = "small", 111 srcs = ["match_test.cc"], 112 copts = ABSL_TEST_COPTS, 113 visibility = ["//visibility:private"], 114 deps = [ 115 ":strings", 116 "@com_google_googletest//:gtest_main", 117 ], 118) 119 120cc_test( 121 name = "escaping_test", 122 size = "small", 123 srcs = [ 124 "escaping_test.cc", 125 "internal/escaping_test_common.h", 126 ], 127 copts = ABSL_TEST_COPTS, 128 visibility = ["//visibility:private"], 129 deps = [ 130 ":cord", 131 ":strings", 132 "//absl/base:core_headers", 133 "//absl/container:fixed_array", 134 "@com_google_googletest//:gtest_main", 135 ], 136) 137 138cc_test( 139 name = "escaping_benchmark", 140 srcs = [ 141 "escaping_benchmark.cc", 142 "internal/escaping_test_common.h", 143 ], 144 copts = ABSL_TEST_COPTS, 145 tags = ["benchmark"], 146 visibility = ["//visibility:private"], 147 deps = [ 148 ":strings", 149 "//absl/base:raw_logging_internal", 150 "@com_github_google_benchmark//:benchmark_main", 151 ], 152) 153 154cc_test( 155 name = "ascii_test", 156 size = "small", 157 srcs = ["ascii_test.cc"], 158 copts = ABSL_TEST_COPTS, 159 visibility = ["//visibility:private"], 160 deps = [ 161 ":strings", 162 "//absl/base:core_headers", 163 "@com_google_googletest//:gtest_main", 164 ], 165) 166 167cc_test( 168 name = "ascii_benchmark", 169 srcs = ["ascii_benchmark.cc"], 170 copts = ABSL_TEST_COPTS, 171 tags = ["benchmark"], 172 visibility = ["//visibility:private"], 173 deps = [ 174 ":strings", 175 "@com_github_google_benchmark//:benchmark_main", 176 ], 177) 178 179cc_test( 180 name = "memutil_benchmark", 181 srcs = [ 182 "internal/memutil.h", 183 "internal/memutil_benchmark.cc", 184 ], 185 copts = ABSL_TEST_COPTS, 186 tags = ["benchmark"], 187 visibility = ["//visibility:private"], 188 deps = [ 189 ":strings", 190 "//absl/base:core_headers", 191 "@com_github_google_benchmark//:benchmark_main", 192 ], 193) 194 195cc_test( 196 name = "memutil_test", 197 size = "small", 198 srcs = [ 199 "internal/memutil.h", 200 "internal/memutil_test.cc", 201 ], 202 copts = ABSL_TEST_COPTS, 203 visibility = ["//visibility:private"], 204 deps = [ 205 ":strings", 206 "//absl/base:core_headers", 207 "@com_google_googletest//:gtest_main", 208 ], 209) 210 211cc_test( 212 name = "utf8_test", 213 size = "small", 214 srcs = [ 215 "internal/utf8_test.cc", 216 ], 217 copts = ABSL_TEST_COPTS, 218 visibility = ["//visibility:private"], 219 deps = [ 220 ":internal", 221 "//absl/base:core_headers", 222 "@com_google_googletest//:gtest_main", 223 ], 224) 225 226cc_test( 227 name = "string_constant_test", 228 size = "small", 229 srcs = ["internal/string_constant_test.cc"], 230 copts = ABSL_TEST_COPTS, 231 visibility = ["//visibility:private"], 232 deps = [ 233 ":strings", 234 "//absl/meta:type_traits", 235 "@com_google_googletest//:gtest_main", 236 ], 237) 238 239cc_test( 240 name = "string_view_benchmark", 241 srcs = ["string_view_benchmark.cc"], 242 copts = ABSL_TEST_COPTS, 243 tags = ["benchmark"], 244 visibility = ["//visibility:private"], 245 deps = [ 246 ":strings", 247 "//absl/base:core_headers", 248 "//absl/base:raw_logging_internal", 249 "@com_github_google_benchmark//:benchmark_main", 250 ], 251) 252 253cc_test( 254 name = "string_view_test", 255 size = "small", 256 srcs = ["string_view_test.cc"], 257 copts = ABSL_TEST_COPTS, 258 visibility = ["//visibility:private"], 259 deps = [ 260 ":strings", 261 "//absl/base:config", 262 "//absl/base:core_headers", 263 "//absl/base:dynamic_annotations", 264 "@com_google_googletest//:gtest_main", 265 ], 266) 267 268cc_library( 269 name = "cord_internal", 270 srcs = [ 271 "internal/cord_internal.cc", 272 "internal/cord_rep_btree.cc", 273 "internal/cord_rep_btree_navigator.cc", 274 "internal/cord_rep_btree_reader.cc", 275 "internal/cord_rep_consume.cc", 276 "internal/cord_rep_ring.cc", 277 ], 278 hdrs = [ 279 "internal/cord_internal.h", 280 "internal/cord_rep_btree.h", 281 "internal/cord_rep_btree_navigator.h", 282 "internal/cord_rep_btree_reader.h", 283 "internal/cord_rep_consume.h", 284 "internal/cord_rep_flat.h", 285 "internal/cord_rep_ring.h", 286 "internal/cord_rep_ring_reader.h", 287 ], 288 copts = ABSL_DEFAULT_COPTS, 289 visibility = [ 290 "//visibility:private", 291 ], 292 deps = [ 293 ":strings", 294 "//absl/base:base_internal", 295 "//absl/base:config", 296 "//absl/base:core_headers", 297 "//absl/base:endian", 298 "//absl/base:raw_logging_internal", 299 "//absl/base:throw_delegate", 300 "//absl/container:compressed_tuple", 301 "//absl/container:inlined_vector", 302 "//absl/container:layout", 303 "//absl/functional:function_ref", 304 "//absl/meta:type_traits", 305 "//absl/types:span", 306 ], 307) 308 309cc_test( 310 name = "cord_rep_btree_test", 311 size = "medium", 312 srcs = ["internal/cord_rep_btree_test.cc"], 313 copts = ABSL_TEST_COPTS, 314 visibility = ["//visibility:private"], 315 deps = [ 316 ":cord_internal", 317 ":cord_rep_test_util", 318 ":strings", 319 "//absl/base:config", 320 "//absl/base:raw_logging_internal", 321 "//absl/cleanup", 322 "@com_google_googletest//:gtest_main", 323 ], 324) 325 326cc_test( 327 name = "cord_rep_btree_navigator_test", 328 size = "medium", 329 srcs = ["internal/cord_rep_btree_navigator_test.cc"], 330 copts = ABSL_TEST_COPTS, 331 visibility = ["//visibility:private"], 332 deps = [ 333 ":cord_internal", 334 ":cord_rep_test_util", 335 ":strings", 336 "//absl/base:config", 337 "//absl/base:raw_logging_internal", 338 "@com_google_googletest//:gtest_main", 339 ], 340) 341 342cc_test( 343 name = "cord_rep_btree_reader_test", 344 size = "medium", 345 srcs = ["internal/cord_rep_btree_reader_test.cc"], 346 copts = ABSL_TEST_COPTS, 347 visibility = ["//visibility:private"], 348 deps = [ 349 ":cord", 350 ":cord_internal", 351 ":cord_rep_test_util", 352 ":strings", 353 "//absl/base:config", 354 "//absl/base:raw_logging_internal", 355 "@com_google_googletest//:gtest_main", 356 ], 357) 358 359cc_library( 360 name = "cordz_update_tracker", 361 hdrs = ["internal/cordz_update_tracker.h"], 362 copts = ABSL_DEFAULT_COPTS, 363 visibility = [ 364 "//absl:__subpackages__", 365 ], 366 deps = ["//absl/base:config"], 367) 368 369cc_test( 370 name = "cordz_update_tracker_test", 371 srcs = ["internal/cordz_update_tracker_test.cc"], 372 deps = [ 373 ":cordz_update_tracker", 374 "//absl/base:config", 375 "//absl/base:core_headers", 376 "//absl/synchronization", 377 "@com_google_googletest//:gtest_main", 378 ], 379) 380 381cc_library( 382 name = "cord", 383 srcs = [ 384 "cord.cc", 385 ], 386 hdrs = [ 387 "cord.h", 388 ], 389 copts = ABSL_DEFAULT_COPTS, 390 deps = [ 391 ":cord_internal", 392 ":cordz_functions", 393 ":cordz_info", 394 ":cordz_statistics", 395 ":cordz_update_scope", 396 ":cordz_update_tracker", 397 ":internal", 398 ":str_format", 399 ":strings", 400 "//absl/base", 401 "//absl/base:config", 402 "//absl/base:core_headers", 403 "//absl/base:endian", 404 "//absl/base:raw_logging_internal", 405 "//absl/container:fixed_array", 406 "//absl/container:inlined_vector", 407 "//absl/functional:function_ref", 408 "//absl/meta:type_traits", 409 "//absl/types:optional", 410 ], 411) 412 413cc_library( 414 name = "cordz_handle", 415 srcs = ["internal/cordz_handle.cc"], 416 hdrs = ["internal/cordz_handle.h"], 417 copts = ABSL_DEFAULT_COPTS, 418 visibility = [ 419 "//absl:__subpackages__", 420 ], 421 deps = [ 422 "//absl/base", 423 "//absl/base:config", 424 "//absl/base:raw_logging_internal", 425 "//absl/synchronization", 426 ], 427) 428 429cc_library( 430 name = "cordz_info", 431 srcs = ["internal/cordz_info.cc"], 432 hdrs = ["internal/cordz_info.h"], 433 copts = ABSL_DEFAULT_COPTS, 434 visibility = [ 435 "//absl:__subpackages__", 436 ], 437 deps = [ 438 ":cord_internal", 439 ":cordz_functions", 440 ":cordz_handle", 441 ":cordz_statistics", 442 ":cordz_update_tracker", 443 "//absl/base", 444 "//absl/base:config", 445 "//absl/base:core_headers", 446 "//absl/base:raw_logging_internal", 447 "//absl/container:inlined_vector", 448 "//absl/debugging:stacktrace", 449 "//absl/synchronization", 450 "//absl/types:span", 451 ], 452) 453 454cc_library( 455 name = "cordz_update_scope", 456 hdrs = ["internal/cordz_update_scope.h"], 457 copts = ABSL_DEFAULT_COPTS, 458 visibility = [ 459 "//absl:__subpackages__", 460 ], 461 deps = [ 462 ":cord_internal", 463 ":cordz_info", 464 ":cordz_update_tracker", 465 "//absl/base:config", 466 "//absl/base:core_headers", 467 ], 468) 469 470cc_test( 471 name = "cordz_update_scope_test", 472 srcs = ["internal/cordz_update_scope_test.cc"], 473 copts = ABSL_DEFAULT_COPTS, 474 deps = [ 475 ":cord_internal", 476 ":cordz_info", 477 ":cordz_test_helpers", 478 ":cordz_update_scope", 479 ":cordz_update_tracker", 480 "//absl/base:config", 481 "@com_google_googletest//:gtest_main", 482 ], 483) 484 485cc_library( 486 name = "cordz_sample_token", 487 srcs = ["internal/cordz_sample_token.cc"], 488 hdrs = ["internal/cordz_sample_token.h"], 489 copts = ABSL_DEFAULT_COPTS, 490 visibility = [ 491 "//absl:__subpackages__", 492 ], 493 deps = [ 494 ":cordz_handle", 495 ":cordz_info", 496 "//absl/base:config", 497 ], 498) 499 500cc_library( 501 name = "cordz_functions", 502 srcs = ["internal/cordz_functions.cc"], 503 hdrs = ["internal/cordz_functions.h"], 504 copts = ABSL_DEFAULT_COPTS, 505 visibility = [ 506 "//absl:__subpackages__", 507 ], 508 deps = [ 509 "//absl/base:config", 510 "//absl/base:core_headers", 511 "//absl/base:exponential_biased", 512 "//absl/base:raw_logging_internal", 513 ], 514) 515 516cc_library( 517 name = "cordz_statistics", 518 hdrs = ["internal/cordz_statistics.h"], 519 copts = ABSL_DEFAULT_COPTS, 520 visibility = [ 521 "//absl:__subpackages__", 522 ], 523 deps = [ 524 ":cordz_update_tracker", 525 "//absl/base:config", 526 ], 527) 528 529cc_test( 530 name = "cordz_functions_test", 531 srcs = [ 532 "internal/cordz_functions_test.cc", 533 ], 534 deps = [ 535 ":cordz_functions", 536 ":cordz_test_helpers", 537 "//absl/base:config", 538 "@com_google_googletest//:gtest_main", 539 ], 540) 541 542cc_test( 543 name = "cordz_handle_test", 544 srcs = [ 545 "internal/cordz_handle_test.cc", 546 ], 547 deps = [ 548 ":cordz_handle", 549 "//absl/base:config", 550 "//absl/memory", 551 "//absl/random", 552 "//absl/random:distributions", 553 "//absl/synchronization", 554 "//absl/synchronization:thread_pool", 555 "//absl/time", 556 "@com_google_googletest//:gtest_main", 557 ], 558) 559 560cc_test( 561 name = "cordz_info_test", 562 srcs = [ 563 "internal/cordz_info_test.cc", 564 ], 565 deps = [ 566 ":cord_internal", 567 ":cordz_handle", 568 ":cordz_info", 569 ":cordz_statistics", 570 ":cordz_test_helpers", 571 ":cordz_update_tracker", 572 ":strings", 573 "//absl/base:config", 574 "//absl/debugging:stacktrace", 575 "//absl/debugging:symbolize", 576 "//absl/types:span", 577 "@com_google_googletest//:gtest_main", 578 ], 579) 580 581cc_test( 582 name = "cordz_info_statistics_test", 583 srcs = [ 584 "internal/cordz_info_statistics_test.cc", 585 ], 586 deps = [ 587 ":cord", 588 ":cord_internal", 589 ":cordz_info", 590 ":cordz_sample_token", 591 ":cordz_statistics", 592 ":cordz_update_scope", 593 ":cordz_update_tracker", 594 "//absl/base:config", 595 "//absl/synchronization", 596 "//absl/synchronization:thread_pool", 597 "@com_google_googletest//:gtest_main", 598 ], 599) 600 601cc_test( 602 name = "cordz_sample_token_test", 603 srcs = [ 604 "internal/cordz_sample_token_test.cc", 605 ], 606 deps = [ 607 ":cord_internal", 608 ":cordz_handle", 609 ":cordz_info", 610 ":cordz_sample_token", 611 ":cordz_test_helpers", 612 "//absl/base:config", 613 "//absl/memory", 614 "//absl/random", 615 "//absl/synchronization", 616 "//absl/synchronization:thread_pool", 617 "//absl/time", 618 "@com_google_googletest//:gtest_main", 619 ], 620) 621 622cc_library( 623 name = "cord_test_helpers", 624 testonly = 1, 625 hdrs = [ 626 "cord_test_helpers.h", 627 ], 628 copts = ABSL_DEFAULT_COPTS, 629 deps = [ 630 ":cord", 631 ":cord_internal", 632 ":strings", 633 "//absl/base:config", 634 ], 635) 636 637cc_library( 638 name = "cord_rep_test_util", 639 testonly = 1, 640 hdrs = ["internal/cord_rep_test_util.h"], 641 copts = ABSL_DEFAULT_COPTS, 642 deps = [ 643 ":cord_internal", 644 ":strings", 645 "//absl/base:config", 646 "//absl/base:raw_logging_internal", 647 ], 648) 649 650cc_library( 651 name = "cordz_test_helpers", 652 testonly = 1, 653 hdrs = ["cordz_test_helpers.h"], 654 copts = ABSL_DEFAULT_COPTS, 655 deps = [ 656 ":cord", 657 ":cord_internal", 658 ":cordz_info", 659 ":cordz_sample_token", 660 ":cordz_statistics", 661 ":cordz_update_tracker", 662 ":strings", 663 "//absl/base:config", 664 "//absl/base:core_headers", 665 "@com_google_googletest//:gtest", 666 ], 667) 668 669cc_test( 670 name = "cord_test", 671 size = "medium", 672 srcs = ["cord_test.cc"], 673 copts = ABSL_TEST_COPTS, 674 visibility = ["//visibility:private"], 675 deps = [ 676 ":cord", 677 ":cord_test_helpers", 678 ":cordz_functions", 679 ":cordz_test_helpers", 680 ":str_format", 681 ":strings", 682 "//absl/base", 683 "//absl/base:config", 684 "//absl/base:core_headers", 685 "//absl/base:endian", 686 "//absl/base:raw_logging_internal", 687 "//absl/container:fixed_array", 688 "@com_google_googletest//:gtest_main", 689 ], 690) 691 692cc_test( 693 name = "cordz_test", 694 size = "medium", 695 srcs = ["cordz_test.cc"], 696 copts = ABSL_TEST_COPTS, 697 tags = [ 698 "benchmark", 699 "no_test_android_arm", 700 "no_test_android_arm64", 701 "no_test_android_x86", 702 "no_test_darwin_x86_64", 703 "no_test_ios_x86_64", 704 "no_test_loonix", 705 "no_test_msvc_x64", 706 ], 707 visibility = ["//visibility:private"], 708 deps = [ 709 ":cord", 710 ":cord_test_helpers", 711 ":cordz_functions", 712 ":cordz_info", 713 ":cordz_sample_token", 714 ":cordz_statistics", 715 ":cordz_test_helpers", 716 ":cordz_update_tracker", 717 ":strings", 718 "//absl/base:config", 719 "//absl/base:core_headers", 720 "//absl/base:raw_logging_internal", 721 "@com_google_googletest//:gtest_main", 722 ], 723) 724 725cc_test( 726 name = "cord_rep_consume_test", 727 size = "medium", 728 srcs = ["internal/cord_rep_consume_test.cc"], 729 copts = ABSL_TEST_COPTS, 730 visibility = ["//visibility:private"], 731 deps = [ 732 ":cord_internal", 733 ":strings", 734 "//absl/base:config", 735 "//absl/base:core_headers", 736 "//absl/debugging:leak_check", 737 "@com_google_googletest//:gtest_main", 738 ], 739) 740 741cc_test( 742 name = "cord_ring_test", 743 size = "medium", 744 srcs = ["cord_ring_test.cc"], 745 copts = ABSL_TEST_COPTS, 746 visibility = ["//visibility:private"], 747 deps = [ 748 ":cord_internal", 749 ":strings", 750 "//absl/base:config", 751 "//absl/base:core_headers", 752 "//absl/base:raw_logging_internal", 753 "//absl/debugging:leak_check", 754 "@com_google_googletest//:gtest_main", 755 ], 756) 757 758cc_test( 759 name = "cord_ring_reader_test", 760 size = "medium", 761 srcs = ["cord_ring_reader_test.cc"], 762 copts = ABSL_TEST_COPTS, 763 visibility = ["//visibility:private"], 764 deps = [ 765 ":cord_internal", 766 ":strings", 767 "//absl/base:core_headers", 768 "//absl/debugging:leak_check", 769 "@com_google_googletest//:gtest_main", 770 ], 771) 772 773cc_test( 774 name = "substitute_test", 775 size = "small", 776 srcs = ["substitute_test.cc"], 777 copts = ABSL_TEST_COPTS, 778 visibility = ["//visibility:private"], 779 deps = [ 780 ":strings", 781 "//absl/base:core_headers", 782 "@com_google_googletest//:gtest_main", 783 ], 784) 785 786cc_test( 787 name = "str_replace_benchmark", 788 srcs = ["str_replace_benchmark.cc"], 789 copts = ABSL_TEST_COPTS, 790 tags = ["benchmark"], 791 visibility = ["//visibility:private"], 792 deps = [ 793 ":strings", 794 "//absl/base:raw_logging_internal", 795 "@com_github_google_benchmark//:benchmark_main", 796 ], 797) 798 799cc_test( 800 name = "str_replace_test", 801 size = "small", 802 srcs = ["str_replace_test.cc"], 803 copts = ABSL_TEST_COPTS, 804 visibility = ["//visibility:private"], 805 deps = [ 806 ":strings", 807 "@com_google_googletest//:gtest_main", 808 ], 809) 810 811cc_test( 812 name = "str_split_test", 813 srcs = ["str_split_test.cc"], 814 copts = ABSL_TEST_COPTS, 815 visibility = ["//visibility:private"], 816 deps = [ 817 ":strings", 818 "//absl/base:core_headers", 819 "//absl/base:dynamic_annotations", 820 "//absl/container:btree", 821 "//absl/container:flat_hash_map", 822 "//absl/container:node_hash_map", 823 "@com_google_googletest//:gtest_main", 824 ], 825) 826 827cc_test( 828 name = "str_split_benchmark", 829 srcs = ["str_split_benchmark.cc"], 830 copts = ABSL_TEST_COPTS, 831 tags = ["benchmark"], 832 visibility = ["//visibility:private"], 833 deps = [ 834 ":strings", 835 "//absl/base:raw_logging_internal", 836 "@com_github_google_benchmark//:benchmark_main", 837 ], 838) 839 840cc_test( 841 name = "ostringstream_test", 842 size = "small", 843 srcs = ["internal/ostringstream_test.cc"], 844 copts = ABSL_TEST_COPTS, 845 visibility = ["//visibility:private"], 846 deps = [ 847 ":internal", 848 "@com_google_googletest//:gtest_main", 849 ], 850) 851 852cc_test( 853 name = "ostringstream_benchmark", 854 srcs = ["internal/ostringstream_benchmark.cc"], 855 copts = ABSL_TEST_COPTS, 856 tags = ["benchmark"], 857 visibility = ["//visibility:private"], 858 deps = [ 859 ":internal", 860 "@com_github_google_benchmark//:benchmark_main", 861 ], 862) 863 864cc_test( 865 name = "resize_uninitialized_test", 866 size = "small", 867 srcs = [ 868 "internal/resize_uninitialized.h", 869 "internal/resize_uninitialized_test.cc", 870 ], 871 copts = ABSL_TEST_COPTS, 872 visibility = ["//visibility:private"], 873 deps = [ 874 "//absl/base:core_headers", 875 "//absl/meta:type_traits", 876 "@com_google_googletest//:gtest_main", 877 ], 878) 879 880cc_test( 881 name = "str_join_test", 882 size = "small", 883 srcs = ["str_join_test.cc"], 884 copts = ABSL_TEST_COPTS, 885 visibility = ["//visibility:private"], 886 deps = [ 887 ":strings", 888 "//absl/base:core_headers", 889 "//absl/memory", 890 "@com_google_googletest//:gtest_main", 891 ], 892) 893 894cc_test( 895 name = "str_join_benchmark", 896 srcs = ["str_join_benchmark.cc"], 897 copts = ABSL_TEST_COPTS, 898 tags = ["benchmark"], 899 visibility = ["//visibility:private"], 900 deps = [ 901 ":strings", 902 "@com_github_google_benchmark//:benchmark_main", 903 ], 904) 905 906cc_test( 907 name = "str_cat_test", 908 size = "small", 909 srcs = ["str_cat_test.cc"], 910 copts = ABSL_TEST_COPTS, 911 visibility = ["//visibility:private"], 912 deps = [ 913 ":strings", 914 "//absl/base:core_headers", 915 "@com_google_googletest//:gtest_main", 916 ], 917) 918 919cc_test( 920 name = "str_cat_benchmark", 921 srcs = ["str_cat_benchmark.cc"], 922 copts = ABSL_TEST_COPTS, 923 tags = ["benchmark"], 924 visibility = ["//visibility:private"], 925 deps = [ 926 ":strings", 927 "@com_github_google_benchmark//:benchmark_main", 928 ], 929) 930 931cc_test( 932 name = "numbers_test", 933 size = "medium", 934 srcs = [ 935 "internal/numbers_test_common.h", 936 "numbers_test.cc", 937 ], 938 copts = ABSL_TEST_COPTS, 939 visibility = ["//visibility:private"], 940 deps = [ 941 ":internal", 942 ":pow10_helper", 943 ":strings", 944 "//absl/base:config", 945 "//absl/base:raw_logging_internal", 946 "//absl/random", 947 "//absl/random:distributions", 948 "@com_google_googletest//:gtest_main", 949 ], 950) 951 952cc_test( 953 name = "numbers_benchmark", 954 srcs = ["numbers_benchmark.cc"], 955 copts = ABSL_TEST_COPTS, 956 tags = ["benchmark"], 957 visibility = ["//visibility:private"], 958 deps = [ 959 ":strings", 960 "//absl/base:raw_logging_internal", 961 "//absl/random", 962 "//absl/random:distributions", 963 "@com_github_google_benchmark//:benchmark_main", 964 ], 965) 966 967cc_test( 968 name = "strip_test", 969 size = "small", 970 srcs = ["strip_test.cc"], 971 copts = ABSL_TEST_COPTS, 972 visibility = ["//visibility:private"], 973 deps = [ 974 ":strings", 975 "@com_google_googletest//:gtest_main", 976 ], 977) 978 979cc_test( 980 name = "char_map_test", 981 srcs = ["internal/char_map_test.cc"], 982 copts = ABSL_TEST_COPTS, 983 deps = [ 984 ":internal", 985 "@com_google_googletest//:gtest_main", 986 ], 987) 988 989cc_test( 990 name = "char_map_benchmark", 991 srcs = ["internal/char_map_benchmark.cc"], 992 copts = ABSL_TEST_COPTS, 993 tags = ["benchmark"], 994 deps = [ 995 ":internal", 996 "@com_github_google_benchmark//:benchmark_main", 997 ], 998) 999 1000cc_test( 1001 name = "charconv_test", 1002 srcs = ["charconv_test.cc"], 1003 copts = ABSL_TEST_COPTS, 1004 deps = [ 1005 ":pow10_helper", 1006 ":str_format", 1007 ":strings", 1008 "@com_google_googletest//:gtest_main", 1009 ], 1010) 1011 1012cc_test( 1013 name = "charconv_parse_test", 1014 srcs = [ 1015 "internal/charconv_parse.h", 1016 "internal/charconv_parse_test.cc", 1017 ], 1018 copts = ABSL_TEST_COPTS, 1019 deps = [ 1020 ":strings", 1021 "//absl/base:config", 1022 "//absl/base:raw_logging_internal", 1023 "@com_google_googletest//:gtest_main", 1024 ], 1025) 1026 1027cc_test( 1028 name = "charconv_bigint_test", 1029 srcs = [ 1030 "internal/charconv_bigint.h", 1031 "internal/charconv_bigint_test.cc", 1032 "internal/charconv_parse.h", 1033 ], 1034 copts = ABSL_TEST_COPTS, 1035 deps = [ 1036 ":strings", 1037 "//absl/base:config", 1038 "@com_google_googletest//:gtest_main", 1039 ], 1040) 1041 1042cc_test( 1043 name = "charconv_benchmark", 1044 srcs = [ 1045 "charconv_benchmark.cc", 1046 ], 1047 tags = [ 1048 "benchmark", 1049 ], 1050 deps = [ 1051 ":strings", 1052 "@com_github_google_benchmark//:benchmark_main", 1053 ], 1054) 1055 1056cc_library( 1057 name = "str_format", 1058 hdrs = [ 1059 "str_format.h", 1060 ], 1061 copts = ABSL_DEFAULT_COPTS, 1062 deps = [ 1063 ":str_format_internal", 1064 ], 1065) 1066 1067cc_library( 1068 name = "str_format_internal", 1069 srcs = [ 1070 "internal/str_format/arg.cc", 1071 "internal/str_format/bind.cc", 1072 "internal/str_format/extension.cc", 1073 "internal/str_format/float_conversion.cc", 1074 "internal/str_format/output.cc", 1075 "internal/str_format/parser.cc", 1076 ], 1077 hdrs = [ 1078 "internal/str_format/arg.h", 1079 "internal/str_format/bind.h", 1080 "internal/str_format/checker.h", 1081 "internal/str_format/extension.h", 1082 "internal/str_format/float_conversion.h", 1083 "internal/str_format/output.h", 1084 "internal/str_format/parser.h", 1085 ], 1086 copts = ABSL_DEFAULT_COPTS, 1087 visibility = ["//visibility:private"], 1088 deps = [ 1089 ":strings", 1090 "//absl/base:config", 1091 "//absl/base:core_headers", 1092 "//absl/functional:function_ref", 1093 "//absl/meta:type_traits", 1094 "//absl/numeric:bits", 1095 "//absl/numeric:int128", 1096 "//absl/numeric:representation", 1097 "//absl/types:optional", 1098 "//absl/types:span", 1099 ], 1100) 1101 1102cc_test( 1103 name = "str_format_test", 1104 srcs = ["str_format_test.cc"], 1105 copts = ABSL_TEST_COPTS, 1106 visibility = ["//visibility:private"], 1107 deps = [ 1108 ":cord", 1109 ":str_format", 1110 ":strings", 1111 "//absl/base:core_headers", 1112 "@com_google_googletest//:gtest_main", 1113 ], 1114) 1115 1116cc_test( 1117 name = "str_format_extension_test", 1118 srcs = [ 1119 "internal/str_format/extension_test.cc", 1120 ], 1121 copts = ABSL_TEST_COPTS, 1122 visibility = ["//visibility:private"], 1123 deps = [ 1124 ":str_format", 1125 ":str_format_internal", 1126 ":strings", 1127 "@com_google_googletest//:gtest_main", 1128 ], 1129) 1130 1131cc_test( 1132 name = "str_format_arg_test", 1133 srcs = ["internal/str_format/arg_test.cc"], 1134 copts = ABSL_TEST_COPTS, 1135 visibility = ["//visibility:private"], 1136 deps = [ 1137 ":str_format", 1138 ":str_format_internal", 1139 "@com_google_googletest//:gtest_main", 1140 ], 1141) 1142 1143cc_test( 1144 name = "str_format_bind_test", 1145 srcs = ["internal/str_format/bind_test.cc"], 1146 copts = ABSL_TEST_COPTS, 1147 visibility = ["//visibility:private"], 1148 deps = [ 1149 ":str_format_internal", 1150 "@com_google_googletest//:gtest_main", 1151 ], 1152) 1153 1154cc_test( 1155 name = "str_format_checker_test", 1156 srcs = ["internal/str_format/checker_test.cc"], 1157 copts = ABSL_TEST_COPTS, 1158 visibility = ["//visibility:private"], 1159 deps = [ 1160 ":str_format", 1161 "@com_google_googletest//:gtest_main", 1162 ], 1163) 1164 1165cc_test( 1166 name = "str_format_convert_test", 1167 size = "medium", 1168 srcs = ["internal/str_format/convert_test.cc"], 1169 copts = ABSL_TEST_COPTS, 1170 visibility = ["//visibility:private"], 1171 deps = [ 1172 ":str_format_internal", 1173 ":strings", 1174 "//absl/base:raw_logging_internal", 1175 "//absl/types:optional", 1176 "@com_google_googletest//:gtest_main", 1177 ], 1178) 1179 1180cc_test( 1181 name = "str_format_output_test", 1182 srcs = ["internal/str_format/output_test.cc"], 1183 copts = ABSL_TEST_COPTS, 1184 visibility = ["//visibility:private"], 1185 deps = [ 1186 ":cord", 1187 ":str_format_internal", 1188 "@com_google_googletest//:gtest_main", 1189 ], 1190) 1191 1192cc_test( 1193 name = "str_format_parser_test", 1194 srcs = ["internal/str_format/parser_test.cc"], 1195 copts = ABSL_TEST_COPTS, 1196 visibility = ["//visibility:private"], 1197 deps = [ 1198 ":str_format_internal", 1199 "//absl/base:core_headers", 1200 "@com_google_googletest//:gtest_main", 1201 ], 1202) 1203 1204cc_library( 1205 name = "pow10_helper", 1206 testonly = True, 1207 srcs = ["internal/pow10_helper.cc"], 1208 hdrs = ["internal/pow10_helper.h"], 1209 visibility = ["//visibility:private"], 1210 deps = ["//absl/base:config"], 1211) 1212 1213cc_test( 1214 name = "pow10_helper_test", 1215 srcs = ["internal/pow10_helper_test.cc"], 1216 copts = ABSL_TEST_COPTS, 1217 visibility = ["//visibility:private"], 1218 deps = [ 1219 ":pow10_helper", 1220 ":str_format", 1221 "@com_google_googletest//:gtest_main", 1222 ], 1223) 1224