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