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/has_absl_stringify.h", 81 "internal/string_constant.h", 82 "match.h", 83 "numbers.h", 84 "str_cat.h", 85 "str_join.h", 86 "str_replace.h", 87 "str_split.h", 88 "string_view.h", 89 "strip.h", 90 "substitute.h", 91 ], 92 copts = ABSL_DEFAULT_COPTS, 93 linkopts = ABSL_DEFAULT_LINKOPTS, 94 textual_hdrs = [ 95 # string_view.h was once part of :strings, so string_view.h is 96 # re-exported for backwards compatibility. 97 # New code should directly depend on :string_view. 98 "string_view.h", 99 ], 100 deps = [ 101 ":charset", 102 ":internal", 103 ":string_view", 104 "//absl/base", 105 "//absl/base:config", 106 "//absl/base:core_headers", 107 "//absl/base:endian", 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 "@com_google_googletest//:gtest", 151 "@com_google_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 "@com_google_googletest//:gtest", 171 "@com_google_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 "@com_github_google_benchmark//:benchmark_main", 188 "@com_google_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 "@com_google_googletest//:gtest", 202 "@com_google_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 "@com_google_googletest//:gtest", 226 "@com_google_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 "@com_google_googletest//:gtest", 240 "@com_google_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 "@com_github_google_benchmark//:benchmark_main", 253 "@com_google_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 "@com_google_googletest//:gtest", 267 "@com_google_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 "@com_github_google_benchmark//:benchmark_main", 284 "@com_google_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 "@com_google_googletest//:gtest", 301 "@com_google_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 "@com_google_googletest//:gtest", 317 "@com_google_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 "@com_google_googletest//:gtest", 331 "@com_google_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 "@com_github_google_benchmark//:benchmark_main", 347 "@com_google_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 "@com_google_googletest//:gtest", 364 "@com_google_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 "@com_github_google_benchmark//:benchmark_main", 383 "@com_google_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:core_headers", 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 "@com_google_googletest//:gtest", 410 "@com_google_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:base_internal", 442 "//absl/base:config", 443 "//absl/base:core_headers", 444 "//absl/base:endian", 445 "//absl/base:raw_logging_internal", 446 "//absl/base:throw_delegate", 447 "//absl/container:compressed_tuple", 448 "//absl/container:container_memory", 449 "//absl/container:inlined_vector", 450 "//absl/container:layout", 451 "//absl/crc:crc_cord_state", 452 "//absl/functional:function_ref", 453 "//absl/meta:type_traits", 454 "//absl/types:span", 455 ], 456) 457 458cc_test( 459 name = "cord_data_edge_test", 460 size = "small", 461 srcs = ["internal/cord_data_edge_test.cc"], 462 copts = ABSL_TEST_COPTS, 463 visibility = ["//visibility:private"], 464 deps = [ 465 ":cord_internal", 466 ":cord_rep_test_util", 467 ":strings", 468 "//absl/base:config", 469 "@com_google_googletest//:gtest", 470 "@com_google_googletest//:gtest_main", 471 ], 472) 473 474cc_test( 475 name = "cord_rep_btree_test", 476 size = "medium", 477 timeout = "long", 478 srcs = ["internal/cord_rep_btree_test.cc"], 479 copts = ABSL_TEST_COPTS, 480 visibility = ["//visibility:private"], 481 deps = [ 482 ":cord_internal", 483 ":cord_rep_test_util", 484 ":strings", 485 "//absl/base:config", 486 "//absl/base:raw_logging_internal", 487 "//absl/cleanup", 488 "@com_google_googletest//:gtest", 489 "@com_google_googletest//:gtest_main", 490 ], 491) 492 493cc_test( 494 name = "cord_rep_btree_navigator_test", 495 size = "medium", 496 srcs = ["internal/cord_rep_btree_navigator_test.cc"], 497 copts = ABSL_TEST_COPTS, 498 visibility = ["//visibility:private"], 499 deps = [ 500 ":cord_internal", 501 ":cord_rep_test_util", 502 ":strings", 503 "//absl/base:config", 504 "//absl/base:raw_logging_internal", 505 "@com_google_googletest//:gtest", 506 "@com_google_googletest//:gtest_main", 507 ], 508) 509 510cc_test( 511 name = "cord_rep_btree_reader_test", 512 size = "medium", 513 srcs = ["internal/cord_rep_btree_reader_test.cc"], 514 copts = ABSL_TEST_COPTS, 515 visibility = ["//visibility:private"], 516 deps = [ 517 ":cord", 518 ":cord_internal", 519 ":cord_rep_test_util", 520 ":strings", 521 "//absl/base:config", 522 "//absl/base:raw_logging_internal", 523 "@com_google_googletest//:gtest", 524 "@com_google_googletest//:gtest_main", 525 ], 526) 527 528cc_test( 529 name = "cord_rep_crc_test", 530 size = "small", 531 srcs = ["internal/cord_rep_crc_test.cc"], 532 copts = ABSL_TEST_COPTS, 533 visibility = ["//visibility:private"], 534 deps = [ 535 ":cord_internal", 536 ":cord_rep_test_util", 537 "//absl/base:config", 538 "//absl/crc:crc_cord_state", 539 "@com_google_googletest//:gtest", 540 "@com_google_googletest//:gtest_main", 541 ], 542) 543 544cc_library( 545 name = "cordz_update_tracker", 546 hdrs = ["internal/cordz_update_tracker.h"], 547 copts = ABSL_DEFAULT_COPTS, 548 linkopts = ABSL_DEFAULT_LINKOPTS, 549 visibility = [ 550 "//absl:__subpackages__", 551 ], 552 deps = ["//absl/base:config"], 553) 554 555cc_test( 556 name = "cordz_update_tracker_test", 557 srcs = ["internal/cordz_update_tracker_test.cc"], 558 deps = [ 559 ":cordz_update_tracker", 560 "//absl/base:config", 561 "//absl/base:core_headers", 562 "//absl/synchronization", 563 "@com_google_googletest//:gtest", 564 "@com_google_googletest//:gtest_main", 565 ], 566) 567 568cc_library( 569 name = "cord", 570 srcs = [ 571 "cord.cc", 572 "cord_analysis.cc", 573 "cord_analysis.h", 574 "cord_buffer.cc", 575 ], 576 hdrs = [ 577 "cord.h", 578 "cord_buffer.h", 579 ], 580 copts = ABSL_DEFAULT_COPTS, 581 linkopts = ABSL_DEFAULT_LINKOPTS, 582 deps = [ 583 ":cord_internal", 584 ":cordz_functions", 585 ":cordz_info", 586 ":cordz_statistics", 587 ":cordz_update_scope", 588 ":cordz_update_tracker", 589 ":internal", 590 ":strings", 591 "//absl/base", 592 "//absl/base:config", 593 "//absl/base:core_headers", 594 "//absl/base:endian", 595 "//absl/base:nullability", 596 "//absl/base:raw_logging_internal", 597 "//absl/container:inlined_vector", 598 "//absl/crc:crc32c", 599 "//absl/crc:crc_cord_state", 600 "//absl/functional:function_ref", 601 "//absl/meta:type_traits", 602 "//absl/numeric:bits", 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/container:fixed_array", 921 "//absl/functional:function_ref", 922 "//absl/hash", 923 "//absl/hash:hash_testing", 924 "//absl/log", 925 "//absl/log:check", 926 "//absl/random", 927 "//absl/types:optional", 928 "@com_google_googletest//:gtest", 929 "@com_google_googletest//:gtest_main", 930 ], 931) 932 933cc_test( 934 name = "cordz_test", 935 size = "medium", 936 srcs = ["cordz_test.cc"], 937 copts = ABSL_TEST_COPTS, 938 tags = [ 939 "benchmark", 940 "no_test_android_arm", 941 "no_test_android_arm64", 942 "no_test_android_x86", 943 "no_test_ios_x86_64", 944 "no_test_lexan", 945 "no_test_loonix", 946 ], 947 visibility = ["//visibility:private"], 948 deps = [ 949 ":cord", 950 ":cord_internal", 951 ":cord_test_helpers", 952 ":cordz_functions", 953 ":cordz_info", 954 ":cordz_sample_token", 955 ":cordz_statistics", 956 ":cordz_test_helpers", 957 ":cordz_update_tracker", 958 ":strings", 959 "//absl/base:config", 960 "//absl/base:core_headers", 961 "//absl/base:raw_logging_internal", 962 "@com_google_googletest//:gtest", 963 "@com_google_googletest//:gtest_main", 964 ], 965) 966 967cc_test( 968 name = "substitute_test", 969 size = "small", 970 srcs = ["substitute_test.cc"], 971 copts = ABSL_TEST_COPTS, 972 visibility = ["//visibility:private"], 973 deps = [ 974 ":strings", 975 "//absl/base:core_headers", 976 "@com_google_googletest//:gtest", 977 "@com_google_googletest//:gtest_main", 978 ], 979) 980 981cc_test( 982 name = "str_replace_benchmark", 983 srcs = ["str_replace_benchmark.cc"], 984 copts = ABSL_TEST_COPTS, 985 tags = ["benchmark"], 986 visibility = ["//visibility:private"], 987 deps = [ 988 ":strings", 989 "//absl/base:raw_logging_internal", 990 "@com_github_google_benchmark//:benchmark_main", 991 "@com_google_googletest//:gtest", 992 ], 993) 994 995cc_test( 996 name = "str_replace_test", 997 size = "small", 998 srcs = ["str_replace_test.cc"], 999 copts = ABSL_TEST_COPTS, 1000 visibility = ["//visibility:private"], 1001 deps = [ 1002 ":strings", 1003 "@com_google_googletest//:gtest", 1004 "@com_google_googletest//:gtest_main", 1005 ], 1006) 1007 1008cc_test( 1009 name = "str_split_test", 1010 srcs = ["str_split_test.cc"], 1011 copts = ABSL_TEST_COPTS, 1012 visibility = ["//visibility:private"], 1013 deps = [ 1014 ":strings", 1015 "//absl/base:core_headers", 1016 "//absl/base:dynamic_annotations", 1017 "//absl/container:btree", 1018 "//absl/container:flat_hash_map", 1019 "//absl/container:node_hash_map", 1020 "@com_google_googletest//:gtest", 1021 "@com_google_googletest//:gtest_main", 1022 ], 1023) 1024 1025cc_test( 1026 name = "str_split_benchmark", 1027 srcs = ["str_split_benchmark.cc"], 1028 copts = ABSL_TEST_COPTS, 1029 tags = ["benchmark"], 1030 visibility = ["//visibility:private"], 1031 deps = [ 1032 ":strings", 1033 "//absl/base:raw_logging_internal", 1034 "@com_github_google_benchmark//:benchmark_main", 1035 "@com_google_googletest//:gtest", 1036 ], 1037) 1038 1039cc_test( 1040 name = "ostringstream_test", 1041 size = "small", 1042 srcs = ["internal/ostringstream_test.cc"], 1043 copts = ABSL_TEST_COPTS, 1044 visibility = ["//visibility:private"], 1045 deps = [ 1046 ":internal", 1047 "@com_google_googletest//:gtest", 1048 "@com_google_googletest//:gtest_main", 1049 ], 1050) 1051 1052cc_test( 1053 name = "ostringstream_benchmark", 1054 srcs = ["internal/ostringstream_benchmark.cc"], 1055 copts = ABSL_TEST_COPTS, 1056 tags = ["benchmark"], 1057 visibility = ["//visibility:private"], 1058 deps = [ 1059 ":internal", 1060 "@com_github_google_benchmark//:benchmark_main", 1061 "@com_google_googletest//:gtest", 1062 ], 1063) 1064 1065cc_test( 1066 name = "resize_uninitialized_test", 1067 size = "small", 1068 srcs = [ 1069 "internal/resize_uninitialized.h", 1070 "internal/resize_uninitialized_test.cc", 1071 ], 1072 copts = ABSL_TEST_COPTS, 1073 visibility = ["//visibility:private"], 1074 deps = [ 1075 "//absl/base:core_headers", 1076 "//absl/meta:type_traits", 1077 "@com_google_googletest//:gtest", 1078 "@com_google_googletest//:gtest_main", 1079 ], 1080) 1081 1082cc_test( 1083 name = "str_join_test", 1084 size = "small", 1085 srcs = ["str_join_test.cc"], 1086 copts = ABSL_TEST_COPTS, 1087 visibility = ["//visibility:private"], 1088 deps = [ 1089 ":strings", 1090 "//absl/base:core_headers", 1091 "//absl/memory", 1092 "@com_google_googletest//:gtest", 1093 "@com_google_googletest//:gtest_main", 1094 ], 1095) 1096 1097cc_test( 1098 name = "str_join_benchmark", 1099 srcs = ["str_join_benchmark.cc"], 1100 copts = ABSL_TEST_COPTS, 1101 tags = ["benchmark"], 1102 visibility = ["//visibility:private"], 1103 deps = [ 1104 ":strings", 1105 "@com_github_google_benchmark//:benchmark_main", 1106 "@com_google_googletest//:gtest", 1107 ], 1108) 1109 1110cc_test( 1111 name = "str_cat_test", 1112 size = "small", 1113 srcs = ["str_cat_test.cc"], 1114 copts = ABSL_TEST_COPTS, 1115 visibility = ["//visibility:private"], 1116 deps = [ 1117 ":str_format", 1118 ":strings", 1119 "@com_google_googletest//:gtest", 1120 "@com_google_googletest//:gtest_main", 1121 ], 1122) 1123 1124cc_test( 1125 name = "str_cat_benchmark", 1126 srcs = ["str_cat_benchmark.cc"], 1127 copts = ABSL_TEST_COPTS, 1128 tags = ["benchmark"], 1129 visibility = ["//visibility:private"], 1130 deps = [ 1131 ":strings", 1132 "//absl/random", 1133 "//absl/random:distributions", 1134 "@com_github_google_benchmark//:benchmark_main", 1135 "@com_google_googletest//:gtest", 1136 ], 1137) 1138 1139cc_test( 1140 name = "numbers_test", 1141 size = "medium", 1142 srcs = [ 1143 "internal/numbers_test_common.h", 1144 "numbers_test.cc", 1145 ], 1146 copts = ABSL_TEST_COPTS, 1147 visibility = ["//visibility:private"], 1148 deps = [ 1149 ":internal", 1150 ":pow10_helper", 1151 ":strings", 1152 "//absl/base:config", 1153 "//absl/log", 1154 "//absl/numeric:int128", 1155 "//absl/random", 1156 "//absl/random:distributions", 1157 "@com_google_googletest//:gtest", 1158 "@com_google_googletest//:gtest_main", 1159 ], 1160) 1161 1162cc_test( 1163 name = "numbers_benchmark", 1164 srcs = ["numbers_benchmark.cc"], 1165 copts = ABSL_TEST_COPTS, 1166 tags = ["benchmark"], 1167 visibility = ["//visibility:private"], 1168 deps = [ 1169 ":strings", 1170 "//absl/base:raw_logging_internal", 1171 "//absl/random", 1172 "//absl/random:distributions", 1173 "@com_github_google_benchmark//:benchmark_main", 1174 "@com_google_googletest//:gtest", 1175 ], 1176) 1177 1178cc_test( 1179 name = "strip_test", 1180 size = "small", 1181 srcs = ["strip_test.cc"], 1182 copts = ABSL_TEST_COPTS, 1183 visibility = ["//visibility:private"], 1184 deps = [ 1185 ":strings", 1186 "@com_google_googletest//:gtest", 1187 "@com_google_googletest//:gtest_main", 1188 ], 1189) 1190 1191cc_test( 1192 name = "charconv_test", 1193 srcs = ["charconv_test.cc"], 1194 copts = ABSL_TEST_COPTS, 1195 deps = [ 1196 ":pow10_helper", 1197 ":str_format", 1198 ":strings", 1199 "@com_google_googletest//:gtest", 1200 "@com_google_googletest//:gtest_main", 1201 ], 1202) 1203 1204cc_test( 1205 name = "charconv_parse_test", 1206 srcs = [ 1207 "internal/charconv_parse.h", 1208 "internal/charconv_parse_test.cc", 1209 ], 1210 copts = ABSL_TEST_COPTS, 1211 deps = [ 1212 ":strings", 1213 "//absl/base:config", 1214 "//absl/log:check", 1215 "@com_google_googletest//:gtest", 1216 "@com_google_googletest//:gtest_main", 1217 ], 1218) 1219 1220cc_test( 1221 name = "charconv_bigint_test", 1222 srcs = [ 1223 "internal/charconv_bigint.h", 1224 "internal/charconv_bigint_test.cc", 1225 "internal/charconv_parse.h", 1226 ], 1227 copts = ABSL_TEST_COPTS, 1228 deps = [ 1229 ":strings", 1230 "//absl/base:config", 1231 "@com_google_googletest//:gtest", 1232 "@com_google_googletest//:gtest_main", 1233 ], 1234) 1235 1236cc_test( 1237 name = "charconv_benchmark", 1238 srcs = [ 1239 "charconv_benchmark.cc", 1240 ], 1241 tags = [ 1242 "benchmark", 1243 ], 1244 deps = [ 1245 ":strings", 1246 "@com_github_google_benchmark//:benchmark_main", 1247 "@com_google_googletest//:gtest", 1248 ], 1249) 1250 1251cc_library( 1252 name = "str_format", 1253 hdrs = [ 1254 "str_format.h", 1255 ], 1256 copts = ABSL_DEFAULT_COPTS, 1257 linkopts = ABSL_DEFAULT_LINKOPTS, 1258 deps = [ 1259 ":str_format_internal", 1260 ":string_view", 1261 "//absl/base:config", 1262 "//absl/base:core_headers", 1263 "//absl/base:nullability", 1264 "//absl/types:span", 1265 ], 1266) 1267 1268cc_library( 1269 name = "str_format_internal", 1270 srcs = [ 1271 "internal/str_format/arg.cc", 1272 "internal/str_format/bind.cc", 1273 "internal/str_format/extension.cc", 1274 "internal/str_format/float_conversion.cc", 1275 "internal/str_format/output.cc", 1276 "internal/str_format/parser.cc", 1277 ], 1278 hdrs = [ 1279 "internal/str_format/arg.h", 1280 "internal/str_format/bind.h", 1281 "internal/str_format/checker.h", 1282 "internal/str_format/constexpr_parser.h", 1283 "internal/str_format/extension.h", 1284 "internal/str_format/float_conversion.h", 1285 "internal/str_format/output.h", 1286 "internal/str_format/parser.h", 1287 ], 1288 copts = ABSL_DEFAULT_COPTS, 1289 linkopts = ABSL_DEFAULT_LINKOPTS, 1290 visibility = ["//visibility:private"], 1291 deps = [ 1292 ":strings", 1293 "//absl/base:config", 1294 "//absl/base:core_headers", 1295 "//absl/container:fixed_array", 1296 "//absl/container:inlined_vector", 1297 "//absl/functional:function_ref", 1298 "//absl/meta:type_traits", 1299 "//absl/numeric:bits", 1300 "//absl/numeric:int128", 1301 "//absl/numeric:representation", 1302 "//absl/types:optional", 1303 "//absl/types:span", 1304 "//absl/utility", 1305 ], 1306) 1307 1308cc_test( 1309 name = "str_format_test", 1310 srcs = ["str_format_test.cc"], 1311 copts = ABSL_TEST_COPTS, 1312 visibility = ["//visibility:private"], 1313 deps = [ 1314 ":cord", 1315 ":str_format", 1316 ":strings", 1317 "//absl/base:config", 1318 "//absl/base:core_headers", 1319 "//absl/types:span", 1320 "@com_google_googletest//:gtest", 1321 "@com_google_googletest//:gtest_main", 1322 ], 1323) 1324 1325cc_test( 1326 name = "str_format_extension_test", 1327 srcs = [ 1328 "internal/str_format/extension_test.cc", 1329 ], 1330 copts = ABSL_TEST_COPTS, 1331 visibility = ["//visibility:private"], 1332 deps = [ 1333 ":str_format", 1334 ":str_format_internal", 1335 ":strings", 1336 "@com_google_googletest//:gtest", 1337 "@com_google_googletest//:gtest_main", 1338 ], 1339) 1340 1341cc_test( 1342 name = "str_format_arg_test", 1343 srcs = ["internal/str_format/arg_test.cc"], 1344 copts = ABSL_TEST_COPTS, 1345 visibility = ["//visibility:private"], 1346 deps = [ 1347 ":str_format", 1348 ":str_format_internal", 1349 "//absl/base:config", 1350 "@com_google_googletest//:gtest", 1351 "@com_google_googletest//:gtest_main", 1352 ], 1353) 1354 1355cc_test( 1356 name = "str_format_bind_test", 1357 srcs = ["internal/str_format/bind_test.cc"], 1358 copts = ABSL_TEST_COPTS, 1359 visibility = ["//visibility:private"], 1360 deps = [ 1361 ":str_format_internal", 1362 "@com_google_googletest//:gtest", 1363 "@com_google_googletest//:gtest_main", 1364 ], 1365) 1366 1367cc_test( 1368 name = "str_format_checker_test", 1369 srcs = ["internal/str_format/checker_test.cc"], 1370 copts = ABSL_TEST_COPTS, 1371 visibility = ["//visibility:private"], 1372 deps = [ 1373 ":str_format", 1374 "@com_google_googletest//:gtest", 1375 "@com_google_googletest//:gtest_main", 1376 ], 1377) 1378 1379cc_test( 1380 name = "str_format_convert_test", 1381 size = "medium", 1382 timeout = "long", 1383 srcs = ["internal/str_format/convert_test.cc"], 1384 copts = ABSL_TEST_COPTS, 1385 visibility = ["//visibility:private"], 1386 deps = [ 1387 ":str_format", 1388 ":str_format_internal", 1389 ":strings", 1390 "//absl/base:config", 1391 "//absl/base:core_headers", 1392 "//absl/base:raw_logging_internal", 1393 "//absl/log", 1394 "//absl/numeric:int128", 1395 "//absl/types:optional", 1396 "//absl/types:span", 1397 "@com_google_googletest//:gtest", 1398 "@com_google_googletest//:gtest_main", 1399 ], 1400) 1401 1402cc_test( 1403 name = "str_format_output_test", 1404 srcs = ["internal/str_format/output_test.cc"], 1405 copts = ABSL_TEST_COPTS, 1406 visibility = ["//visibility:private"], 1407 deps = [ 1408 ":cord", 1409 ":str_format_internal", 1410 "@com_google_googletest//:gtest", 1411 "@com_google_googletest//:gtest_main", 1412 ], 1413) 1414 1415cc_test( 1416 name = "str_format_parser_test", 1417 srcs = ["internal/str_format/parser_test.cc"], 1418 copts = ABSL_TEST_COPTS, 1419 visibility = ["//visibility:private"], 1420 deps = [ 1421 ":str_format_internal", 1422 ":string_view", 1423 "//absl/base:config", 1424 "//absl/base:core_headers", 1425 "@com_google_googletest//:gtest", 1426 "@com_google_googletest//:gtest_main", 1427 ], 1428) 1429 1430cc_library( 1431 name = "pow10_helper", 1432 testonly = True, 1433 srcs = ["internal/pow10_helper.cc"], 1434 hdrs = ["internal/pow10_helper.h"], 1435 linkopts = ABSL_DEFAULT_LINKOPTS, 1436 visibility = ["//visibility:private"], 1437 deps = ["//absl/base:config"], 1438) 1439 1440cc_test( 1441 name = "pow10_helper_test", 1442 srcs = ["internal/pow10_helper_test.cc"], 1443 copts = ABSL_TEST_COPTS, 1444 visibility = ["//visibility:private"], 1445 deps = [ 1446 ":pow10_helper", 1447 ":str_format", 1448 "@com_google_googletest//:gtest", 1449 "@com_google_googletest//:gtest_main", 1450 ], 1451) 1452 1453cc_binary( 1454 name = "atod_manual_test", 1455 testonly = True, 1456 srcs = ["atod_manual_test.cc"], 1457 copts = ABSL_TEST_COPTS, 1458 linkopts = ABSL_DEFAULT_LINKOPTS, 1459 visibility = ["//visibility:private"], 1460 deps = [ 1461 ":str_format", 1462 ":strings", 1463 "//absl/base", 1464 "//absl/types:optional", 1465 ], 1466) 1467 1468cc_test( 1469 name = "char_formatting_test", 1470 srcs = [ 1471 "char_formatting_test.cc", 1472 ], 1473 deps = [ 1474 ":str_format", 1475 ":strings", 1476 "@com_google_googletest//:gtest", 1477 "@com_google_googletest//:gtest_main", 1478 ], 1479) 1480