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