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