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