tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

BUILD.bazel (36024B)


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