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