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