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