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