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/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:optional", 929 "@com_google_googletest//:gtest", 930 "@com_google_googletest//:gtest_main", 931 ], 932) 933 934cc_test( 935 name = "cordz_test", 936 size = "medium", 937 srcs = ["cordz_test.cc"], 938 copts = ABSL_TEST_COPTS, 939 tags = [ 940 "benchmark", 941 "no_test_android_arm", 942 "no_test_android_arm64", 943 "no_test_android_x86", 944 "no_test_ios_x86_64", 945 "no_test_lexan", 946 "no_test_loonix", 947 ], 948 visibility = ["//visibility:private"], 949 deps = [ 950 ":cord", 951 ":cord_internal", 952 ":cord_test_helpers", 953 ":cordz_functions", 954 ":cordz_info", 955 ":cordz_sample_token", 956 ":cordz_statistics", 957 ":cordz_test_helpers", 958 ":cordz_update_tracker", 959 ":strings", 960 "//absl/base:config", 961 "//absl/base:core_headers", 962 "//absl/base:raw_logging_internal", 963 "@com_google_googletest//:gtest", 964 "@com_google_googletest//:gtest_main", 965 ], 966) 967 968cc_test( 969 name = "substitute_test", 970 size = "small", 971 srcs = ["substitute_test.cc"], 972 copts = ABSL_TEST_COPTS, 973 visibility = ["//visibility:private"], 974 deps = [ 975 ":strings", 976 "//absl/base:core_headers", 977 "@com_google_googletest//:gtest", 978 "@com_google_googletest//:gtest_main", 979 ], 980) 981 982cc_test( 983 name = "str_replace_benchmark", 984 srcs = ["str_replace_benchmark.cc"], 985 copts = ABSL_TEST_COPTS, 986 tags = ["benchmark"], 987 visibility = ["//visibility:private"], 988 deps = [ 989 ":strings", 990 "//absl/base:raw_logging_internal", 991 "@com_github_google_benchmark//:benchmark_main", 992 "@com_google_googletest//:gtest", 993 ], 994) 995 996cc_test( 997 name = "str_replace_test", 998 size = "small", 999 srcs = ["str_replace_test.cc"], 1000 copts = ABSL_TEST_COPTS, 1001 visibility = ["//visibility:private"], 1002 deps = [ 1003 ":strings", 1004 "@com_google_googletest//:gtest", 1005 "@com_google_googletest//:gtest_main", 1006 ], 1007) 1008 1009cc_test( 1010 name = "str_split_test", 1011 srcs = ["str_split_test.cc"], 1012 copts = ABSL_TEST_COPTS, 1013 visibility = ["//visibility:private"], 1014 deps = [ 1015 ":strings", 1016 "//absl/base:core_headers", 1017 "//absl/base:dynamic_annotations", 1018 "//absl/container:btree", 1019 "//absl/container:flat_hash_map", 1020 "//absl/container:node_hash_map", 1021 "@com_google_googletest//:gtest", 1022 "@com_google_googletest//:gtest_main", 1023 ], 1024) 1025 1026cc_test( 1027 name = "str_split_benchmark", 1028 srcs = ["str_split_benchmark.cc"], 1029 copts = ABSL_TEST_COPTS, 1030 tags = ["benchmark"], 1031 visibility = ["//visibility:private"], 1032 deps = [ 1033 ":strings", 1034 "//absl/base:raw_logging_internal", 1035 "@com_github_google_benchmark//:benchmark_main", 1036 "@com_google_googletest//:gtest", 1037 ], 1038) 1039 1040cc_test( 1041 name = "ostringstream_test", 1042 size = "small", 1043 srcs = ["internal/ostringstream_test.cc"], 1044 copts = ABSL_TEST_COPTS, 1045 visibility = ["//visibility:private"], 1046 deps = [ 1047 ":internal", 1048 "@com_google_googletest//:gtest", 1049 "@com_google_googletest//:gtest_main", 1050 ], 1051) 1052 1053cc_test( 1054 name = "ostringstream_benchmark", 1055 srcs = ["internal/ostringstream_benchmark.cc"], 1056 copts = ABSL_TEST_COPTS, 1057 tags = ["benchmark"], 1058 visibility = ["//visibility:private"], 1059 deps = [ 1060 ":internal", 1061 "@com_github_google_benchmark//:benchmark_main", 1062 "@com_google_googletest//:gtest", 1063 ], 1064) 1065 1066cc_test( 1067 name = "resize_uninitialized_test", 1068 size = "small", 1069 srcs = [ 1070 "internal/resize_uninitialized.h", 1071 "internal/resize_uninitialized_test.cc", 1072 ], 1073 copts = ABSL_TEST_COPTS, 1074 visibility = ["//visibility:private"], 1075 deps = [ 1076 "//absl/base:core_headers", 1077 "//absl/meta:type_traits", 1078 "@com_google_googletest//:gtest", 1079 "@com_google_googletest//:gtest_main", 1080 ], 1081) 1082 1083cc_test( 1084 name = "str_join_test", 1085 size = "small", 1086 srcs = ["str_join_test.cc"], 1087 copts = ABSL_TEST_COPTS, 1088 visibility = ["//visibility:private"], 1089 deps = [ 1090 ":strings", 1091 "//absl/base:core_headers", 1092 "//absl/memory", 1093 "@com_google_googletest//:gtest", 1094 "@com_google_googletest//:gtest_main", 1095 ], 1096) 1097 1098cc_test( 1099 name = "str_join_benchmark", 1100 srcs = ["str_join_benchmark.cc"], 1101 copts = ABSL_TEST_COPTS, 1102 tags = ["benchmark"], 1103 visibility = ["//visibility:private"], 1104 deps = [ 1105 ":strings", 1106 "@com_github_google_benchmark//:benchmark_main", 1107 "@com_google_googletest//:gtest", 1108 ], 1109) 1110 1111cc_test( 1112 name = "str_cat_test", 1113 size = "small", 1114 srcs = ["str_cat_test.cc"], 1115 copts = ABSL_TEST_COPTS, 1116 visibility = ["//visibility:private"], 1117 deps = [ 1118 ":str_format", 1119 ":strings", 1120 "@com_google_googletest//:gtest", 1121 "@com_google_googletest//:gtest_main", 1122 ], 1123) 1124 1125cc_test( 1126 name = "str_cat_benchmark", 1127 srcs = ["str_cat_benchmark.cc"], 1128 copts = ABSL_TEST_COPTS, 1129 tags = ["benchmark"], 1130 visibility = ["//visibility:private"], 1131 deps = [ 1132 ":strings", 1133 "//absl/random", 1134 "//absl/random:distributions", 1135 "@com_github_google_benchmark//:benchmark_main", 1136 "@com_google_googletest//:gtest", 1137 ], 1138) 1139 1140cc_test( 1141 name = "numbers_test", 1142 size = "medium", 1143 srcs = [ 1144 "internal/numbers_test_common.h", 1145 "numbers_test.cc", 1146 ], 1147 copts = ABSL_TEST_COPTS, 1148 visibility = ["//visibility:private"], 1149 deps = [ 1150 ":internal", 1151 ":pow10_helper", 1152 ":strings", 1153 "//absl/base:config", 1154 "//absl/log", 1155 "//absl/numeric:int128", 1156 "//absl/random", 1157 "//absl/random:distributions", 1158 "@com_google_googletest//:gtest", 1159 "@com_google_googletest//:gtest_main", 1160 ], 1161) 1162 1163cc_test( 1164 name = "numbers_benchmark", 1165 srcs = ["numbers_benchmark.cc"], 1166 copts = ABSL_TEST_COPTS, 1167 tags = ["benchmark"], 1168 visibility = ["//visibility:private"], 1169 deps = [ 1170 ":strings", 1171 "//absl/base:raw_logging_internal", 1172 "//absl/random", 1173 "//absl/random:distributions", 1174 "@com_github_google_benchmark//:benchmark_main", 1175 "@com_google_googletest//:gtest", 1176 ], 1177) 1178 1179cc_test( 1180 name = "strip_test", 1181 size = "small", 1182 srcs = ["strip_test.cc"], 1183 copts = ABSL_TEST_COPTS, 1184 visibility = ["//visibility:private"], 1185 deps = [ 1186 ":strings", 1187 "@com_google_googletest//:gtest", 1188 "@com_google_googletest//:gtest_main", 1189 ], 1190) 1191 1192cc_test( 1193 name = "charconv_test", 1194 srcs = ["charconv_test.cc"], 1195 copts = ABSL_TEST_COPTS, 1196 deps = [ 1197 ":pow10_helper", 1198 ":str_format", 1199 ":strings", 1200 "@com_google_googletest//:gtest", 1201 "@com_google_googletest//:gtest_main", 1202 ], 1203) 1204 1205cc_test( 1206 name = "charconv_parse_test", 1207 srcs = [ 1208 "internal/charconv_parse.h", 1209 "internal/charconv_parse_test.cc", 1210 ], 1211 copts = ABSL_TEST_COPTS, 1212 deps = [ 1213 ":strings", 1214 "//absl/base:config", 1215 "//absl/log:check", 1216 "@com_google_googletest//:gtest", 1217 "@com_google_googletest//:gtest_main", 1218 ], 1219) 1220 1221cc_test( 1222 name = "charconv_bigint_test", 1223 srcs = [ 1224 "internal/charconv_bigint.h", 1225 "internal/charconv_bigint_test.cc", 1226 "internal/charconv_parse.h", 1227 ], 1228 copts = ABSL_TEST_COPTS, 1229 deps = [ 1230 ":strings", 1231 "//absl/base:config", 1232 "@com_google_googletest//:gtest", 1233 "@com_google_googletest//:gtest_main", 1234 ], 1235) 1236 1237cc_test( 1238 name = "charconv_benchmark", 1239 srcs = [ 1240 "charconv_benchmark.cc", 1241 ], 1242 tags = [ 1243 "benchmark", 1244 ], 1245 deps = [ 1246 ":strings", 1247 "@com_github_google_benchmark//:benchmark_main", 1248 "@com_google_googletest//:gtest", 1249 ], 1250) 1251 1252cc_library( 1253 name = "str_format", 1254 hdrs = [ 1255 "str_format.h", 1256 ], 1257 copts = ABSL_DEFAULT_COPTS, 1258 linkopts = ABSL_DEFAULT_LINKOPTS, 1259 deps = [ 1260 ":str_format_internal", 1261 ":string_view", 1262 "//absl/base:config", 1263 "//absl/base:core_headers", 1264 "//absl/base:nullability", 1265 "//absl/types:span", 1266 ], 1267) 1268 1269cc_library( 1270 name = "str_format_internal", 1271 srcs = [ 1272 "internal/str_format/arg.cc", 1273 "internal/str_format/bind.cc", 1274 "internal/str_format/extension.cc", 1275 "internal/str_format/float_conversion.cc", 1276 "internal/str_format/output.cc", 1277 "internal/str_format/parser.cc", 1278 ], 1279 hdrs = [ 1280 "internal/str_format/arg.h", 1281 "internal/str_format/bind.h", 1282 "internal/str_format/checker.h", 1283 "internal/str_format/constexpr_parser.h", 1284 "internal/str_format/extension.h", 1285 "internal/str_format/float_conversion.h", 1286 "internal/str_format/output.h", 1287 "internal/str_format/parser.h", 1288 ], 1289 copts = ABSL_DEFAULT_COPTS, 1290 linkopts = ABSL_DEFAULT_LINKOPTS, 1291 visibility = ["//visibility:private"], 1292 deps = [ 1293 ":strings", 1294 "//absl/base:config", 1295 "//absl/base:core_headers", 1296 "//absl/container:fixed_array", 1297 "//absl/container:inlined_vector", 1298 "//absl/functional:function_ref", 1299 "//absl/meta:type_traits", 1300 "//absl/numeric:bits", 1301 "//absl/numeric:int128", 1302 "//absl/numeric:representation", 1303 "//absl/types:optional", 1304 "//absl/types:span", 1305 "//absl/utility", 1306 ], 1307) 1308 1309cc_test( 1310 name = "str_format_test", 1311 srcs = ["str_format_test.cc"], 1312 copts = ABSL_TEST_COPTS, 1313 visibility = ["//visibility:private"], 1314 deps = [ 1315 ":cord", 1316 ":str_format", 1317 ":strings", 1318 "//absl/base:config", 1319 "//absl/base:core_headers", 1320 "//absl/types:span", 1321 "@com_google_googletest//:gtest", 1322 "@com_google_googletest//:gtest_main", 1323 ], 1324) 1325 1326cc_test( 1327 name = "str_format_extension_test", 1328 srcs = [ 1329 "internal/str_format/extension_test.cc", 1330 ], 1331 copts = ABSL_TEST_COPTS, 1332 visibility = ["//visibility:private"], 1333 deps = [ 1334 ":str_format", 1335 ":str_format_internal", 1336 ":strings", 1337 "@com_google_googletest//:gtest", 1338 "@com_google_googletest//:gtest_main", 1339 ], 1340) 1341 1342cc_test( 1343 name = "str_format_arg_test", 1344 srcs = ["internal/str_format/arg_test.cc"], 1345 copts = ABSL_TEST_COPTS, 1346 visibility = ["//visibility:private"], 1347 deps = [ 1348 ":str_format", 1349 ":str_format_internal", 1350 "//absl/base:config", 1351 "@com_google_googletest//:gtest", 1352 "@com_google_googletest//:gtest_main", 1353 ], 1354) 1355 1356cc_test( 1357 name = "str_format_bind_test", 1358 srcs = ["internal/str_format/bind_test.cc"], 1359 copts = ABSL_TEST_COPTS, 1360 visibility = ["//visibility:private"], 1361 deps = [ 1362 ":str_format_internal", 1363 "@com_google_googletest//:gtest", 1364 "@com_google_googletest//:gtest_main", 1365 ], 1366) 1367 1368cc_test( 1369 name = "str_format_checker_test", 1370 srcs = ["internal/str_format/checker_test.cc"], 1371 copts = ABSL_TEST_COPTS, 1372 visibility = ["//visibility:private"], 1373 deps = [ 1374 ":str_format", 1375 "@com_google_googletest//:gtest", 1376 "@com_google_googletest//:gtest_main", 1377 ], 1378) 1379 1380cc_test( 1381 name = "str_format_convert_test", 1382 size = "medium", 1383 timeout = "long", 1384 srcs = ["internal/str_format/convert_test.cc"], 1385 copts = ABSL_TEST_COPTS, 1386 visibility = ["//visibility:private"], 1387 deps = [ 1388 ":str_format", 1389 ":str_format_internal", 1390 ":strings", 1391 "//absl/base:config", 1392 "//absl/base:core_headers", 1393 "//absl/base:raw_logging_internal", 1394 "//absl/log", 1395 "//absl/numeric:int128", 1396 "//absl/types:optional", 1397 "//absl/types:span", 1398 "@com_google_googletest//:gtest", 1399 "@com_google_googletest//:gtest_main", 1400 ], 1401) 1402 1403cc_test( 1404 name = "str_format_output_test", 1405 srcs = ["internal/str_format/output_test.cc"], 1406 copts = ABSL_TEST_COPTS, 1407 visibility = ["//visibility:private"], 1408 deps = [ 1409 ":cord", 1410 ":str_format_internal", 1411 "@com_google_googletest//:gtest", 1412 "@com_google_googletest//:gtest_main", 1413 ], 1414) 1415 1416cc_test( 1417 name = "str_format_parser_test", 1418 srcs = ["internal/str_format/parser_test.cc"], 1419 copts = ABSL_TEST_COPTS, 1420 visibility = ["//visibility:private"], 1421 deps = [ 1422 ":str_format_internal", 1423 ":string_view", 1424 "//absl/base:config", 1425 "//absl/base:core_headers", 1426 "@com_google_googletest//:gtest", 1427 "@com_google_googletest//:gtest_main", 1428 ], 1429) 1430 1431cc_library( 1432 name = "pow10_helper", 1433 testonly = True, 1434 srcs = ["internal/pow10_helper.cc"], 1435 hdrs = ["internal/pow10_helper.h"], 1436 linkopts = ABSL_DEFAULT_LINKOPTS, 1437 visibility = ["//visibility:private"], 1438 deps = ["//absl/base:config"], 1439) 1440 1441cc_test( 1442 name = "pow10_helper_test", 1443 srcs = ["internal/pow10_helper_test.cc"], 1444 copts = ABSL_TEST_COPTS, 1445 visibility = ["//visibility:private"], 1446 deps = [ 1447 ":pow10_helper", 1448 ":str_format", 1449 "@com_google_googletest//:gtest", 1450 "@com_google_googletest//:gtest_main", 1451 ], 1452) 1453 1454cc_binary( 1455 name = "atod_manual_test", 1456 testonly = True, 1457 srcs = ["atod_manual_test.cc"], 1458 copts = ABSL_TEST_COPTS, 1459 linkopts = ABSL_DEFAULT_LINKOPTS, 1460 visibility = ["//visibility:private"], 1461 deps = [ 1462 ":str_format", 1463 ":strings", 1464 "//absl/base", 1465 "//absl/types:optional", 1466 ], 1467) 1468 1469cc_test( 1470 name = "char_formatting_test", 1471 srcs = [ 1472 "char_formatting_test.cc", 1473 ], 1474 deps = [ 1475 ":str_format", 1476 ":strings", 1477 "@com_google_googletest//:gtest", 1478 "@com_google_googletest//:gtest_main", 1479 ], 1480) 1481