tor-browser

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

BUILD.bazel (14021B)


      1 #
      2 # Copyright 2019 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 
     17 # ABSL random-number generation libraries.
     18 
     19 load(
     20    "//absl:copts/configure_copts.bzl",
     21    "ABSL_DEFAULT_COPTS",
     22    "ABSL_DEFAULT_LINKOPTS",
     23    "ABSL_TEST_COPTS",
     24 )
     25 
     26 package(
     27    default_visibility = ["//visibility:public"],
     28    features = [
     29        "header_modules",
     30        "layering_check",
     31        "parse_headers",
     32    ],
     33 )
     34 
     35 licenses(["notice"])
     36 
     37 cc_library(
     38    name = "random",
     39    hdrs = ["random.h"],
     40    copts = ABSL_DEFAULT_COPTS,
     41    linkopts = ABSL_DEFAULT_LINKOPTS,
     42    deps = [
     43        ":distributions",
     44        ":seed_sequences",
     45        "//absl/base:config",
     46        "//absl/random/internal:nonsecure_base",
     47        "//absl/random/internal:pcg_engine",
     48        "//absl/random/internal:randen_engine",
     49    ],
     50 )
     51 
     52 cc_library(
     53    name = "distributions",
     54    srcs = [
     55        "discrete_distribution.cc",
     56        "gaussian_distribution.cc",
     57    ],
     58    hdrs = [
     59        "bernoulli_distribution.h",
     60        "beta_distribution.h",
     61        "discrete_distribution.h",
     62        "distributions.h",
     63        "exponential_distribution.h",
     64        "gaussian_distribution.h",
     65        "log_uniform_int_distribution.h",
     66        "poisson_distribution.h",
     67        "uniform_int_distribution.h",
     68        "uniform_real_distribution.h",
     69        "zipf_distribution.h",
     70    ],
     71    copts = ABSL_DEFAULT_COPTS,
     72    linkopts = ABSL_DEFAULT_LINKOPTS,
     73    deps = [
     74        "//absl/base:base_internal",
     75        "//absl/base:config",
     76        "//absl/base:core_headers",
     77        "//absl/meta:type_traits",
     78        "//absl/random/internal:distribution_caller",
     79        "//absl/random/internal:fast_uniform_bits",
     80        "//absl/random/internal:fastmath",
     81        "//absl/random/internal:generate_real",
     82        "//absl/random/internal:iostream_state_saver",
     83        "//absl/random/internal:traits",
     84        "//absl/random/internal:uniform_helper",
     85        "//absl/random/internal:wide_multiply",
     86        "//absl/strings",
     87    ],
     88 )
     89 
     90 cc_library(
     91    name = "seed_gen_exception",
     92    srcs = ["seed_gen_exception.cc"],
     93    hdrs = ["seed_gen_exception.h"],
     94    copts = ABSL_DEFAULT_COPTS,
     95    linkopts = ABSL_DEFAULT_LINKOPTS,
     96    deps = [
     97        "//absl/base:config",
     98        "//absl/base:raw_logging_internal",
     99    ],
    100 )
    101 
    102 cc_library(
    103    name = "seed_sequences",
    104    srcs = ["seed_sequences.cc"],
    105    hdrs = [
    106        "seed_sequences.h",
    107    ],
    108    copts = ABSL_DEFAULT_COPTS,
    109    linkopts = ABSL_DEFAULT_LINKOPTS,
    110    deps = [
    111        ":seed_gen_exception",
    112        "//absl/base:config",
    113        "//absl/base:nullability",
    114        "//absl/random/internal:entropy_pool",
    115        "//absl/random/internal:salted_seed_seq",
    116        "//absl/random/internal:seed_material",
    117        "//absl/strings:string_view",
    118        "//absl/types:span",
    119    ],
    120 )
    121 
    122 cc_library(
    123    name = "bit_gen_ref",
    124    hdrs = ["bit_gen_ref.h"],
    125    copts = ABSL_DEFAULT_COPTS,
    126    linkopts = ABSL_DEFAULT_LINKOPTS,
    127    deps = [
    128        ":random",
    129        "//absl/base:config",
    130        "//absl/base:core_headers",
    131        "//absl/base:fast_type_id",
    132        "//absl/meta:type_traits",
    133        "//absl/random/internal:distribution_caller",
    134        "//absl/random/internal:fast_uniform_bits",
    135    ],
    136 )
    137 
    138 cc_library(
    139    name = "mock_distributions",
    140    testonly = True,
    141    hdrs = ["mock_distributions.h"],
    142    linkopts = ABSL_DEFAULT_LINKOPTS,
    143    deps = [
    144        ":distributions",
    145        ":mocking_bit_gen",
    146        "//absl/base:config",
    147        "//absl/random/internal:mock_overload_set",
    148        "//absl/random/internal:mock_validators",
    149    ],
    150 )
    151 
    152 cc_library(
    153    name = "mocking_bit_gen",
    154    testonly = True,
    155    hdrs = [
    156        "mocking_bit_gen.h",
    157    ],
    158    linkopts = ABSL_DEFAULT_LINKOPTS,
    159    deps = [
    160        ":random",
    161        "//absl/base:config",
    162        "//absl/base:fast_type_id",
    163        "//absl/container:flat_hash_map",
    164        "//absl/meta:type_traits",
    165        "//absl/random/internal:mock_helpers",
    166        "//absl/utility",
    167        "@googletest//:gtest",
    168    ],
    169 )
    170 
    171 cc_test(
    172    name = "bernoulli_distribution_test",
    173    size = "small",
    174    timeout = "eternal",  # Android can take a very long time
    175    srcs = ["bernoulli_distribution_test.cc"],
    176    copts = ABSL_TEST_COPTS,
    177    linkopts = ABSL_DEFAULT_LINKOPTS,
    178    deps = [
    179        ":distributions",
    180        ":random",
    181        "//absl/random/internal:pcg_engine",
    182        "//absl/random/internal:sequence_urbg",
    183        "@googletest//:gtest",
    184        "@googletest//:gtest_main",
    185    ],
    186 )
    187 
    188 cc_test(
    189    name = "beta_distribution_test",
    190    size = "small",
    191    timeout = "eternal",  # Android can take a very long time
    192    srcs = ["beta_distribution_test.cc"],
    193    copts = ABSL_TEST_COPTS,
    194    flaky = 1,
    195    linkopts = ABSL_DEFAULT_LINKOPTS,
    196    tags = [
    197        "no_test_wasm",
    198    ],
    199    deps = [
    200        ":distributions",
    201        ":random",
    202        "//absl/log",
    203        "//absl/numeric:representation",
    204        "//absl/random/internal:distribution_test_util",
    205        "//absl/random/internal:pcg_engine",
    206        "//absl/random/internal:sequence_urbg",
    207        "//absl/strings",
    208        "//absl/strings:str_format",
    209        "@googletest//:gtest",
    210        "@googletest//:gtest_main",
    211    ],
    212 )
    213 
    214 cc_test(
    215    name = "distributions_test",
    216    size = "small",
    217    timeout = "moderate",
    218    srcs = [
    219        "distributions_test.cc",
    220    ],
    221    copts = ABSL_TEST_COPTS,
    222    linkopts = ABSL_DEFAULT_LINKOPTS,
    223    deps = [
    224        ":distributions",
    225        ":random",
    226        "//absl/meta:type_traits",
    227        "//absl/numeric:int128",
    228        "//absl/random/internal:distribution_test_util",
    229        "@googletest//:gtest",
    230        "@googletest//:gtest_main",
    231    ],
    232 )
    233 
    234 cc_test(
    235    name = "generators_test",
    236    size = "small",
    237    srcs = ["generators_test.cc"],
    238    copts = ABSL_TEST_COPTS,
    239    linkopts = ABSL_DEFAULT_LINKOPTS,
    240    deps = [
    241        ":distributions",
    242        ":random",
    243        "@googletest//:gtest",
    244        "@googletest//:gtest_main",
    245    ],
    246 )
    247 
    248 cc_test(
    249    name = "log_uniform_int_distribution_test",
    250    size = "medium",
    251    srcs = [
    252        "log_uniform_int_distribution_test.cc",
    253    ],
    254    copts = ABSL_TEST_COPTS,
    255    linkopts = ABSL_DEFAULT_LINKOPTS,
    256    tags = [
    257        "no_test_wasm",  # Does not converge on WASM.
    258    ],
    259    deps = [
    260        ":distributions",
    261        ":random",
    262        "//absl/log",
    263        "//absl/random/internal:distribution_test_util",
    264        "//absl/random/internal:pcg_engine",
    265        "//absl/random/internal:sequence_urbg",
    266        "//absl/strings",
    267        "//absl/strings:str_format",
    268        "@googletest//:gtest",
    269        "@googletest//:gtest_main",
    270    ],
    271 )
    272 
    273 cc_test(
    274    name = "discrete_distribution_test",
    275    size = "medium",
    276    srcs = [
    277        "discrete_distribution_test.cc",
    278    ],
    279    copts = ABSL_TEST_COPTS,
    280    linkopts = ABSL_DEFAULT_LINKOPTS,
    281    deps = [
    282        ":distributions",
    283        ":random",
    284        "//absl/log",
    285        "//absl/random/internal:distribution_test_util",
    286        "//absl/random/internal:pcg_engine",
    287        "//absl/random/internal:sequence_urbg",
    288        "//absl/strings",
    289        "@googletest//:gtest",
    290        "@googletest//:gtest_main",
    291    ],
    292 )
    293 
    294 cc_test(
    295    name = "poisson_distribution_test",
    296    size = "small",
    297    timeout = "eternal",  # Android can take a very long time
    298    srcs = [
    299        "poisson_distribution_test.cc",
    300    ],
    301    copts = ABSL_TEST_COPTS,
    302    linkopts = ABSL_DEFAULT_LINKOPTS,
    303    tags = [
    304        # Too Slow.
    305        "no_test_android_arm",
    306        "no_test_loonix",
    307    ],
    308    deps = [
    309        ":distributions",
    310        ":random",
    311        "//absl/base:core_headers",
    312        "//absl/container:flat_hash_map",
    313        "//absl/log",
    314        "//absl/random/internal:distribution_test_util",
    315        "//absl/random/internal:pcg_engine",
    316        "//absl/random/internal:sequence_urbg",
    317        "//absl/strings",
    318        "//absl/strings:str_format",
    319        "@googletest//:gtest",
    320        "@googletest//:gtest_main",
    321    ],
    322 )
    323 
    324 cc_test(
    325    name = "exponential_distribution_test",
    326    size = "small",
    327    timeout = "moderate",
    328    srcs = ["exponential_distribution_test.cc"],
    329    copts = ABSL_TEST_COPTS,
    330    linkopts = ABSL_DEFAULT_LINKOPTS,
    331    deps = [
    332        ":distributions",
    333        ":random",
    334        "//absl/base:core_headers",
    335        "//absl/log",
    336        "//absl/numeric:representation",
    337        "//absl/random/internal:distribution_test_util",
    338        "//absl/random/internal:pcg_engine",
    339        "//absl/random/internal:sequence_urbg",
    340        "//absl/strings",
    341        "//absl/strings:str_format",
    342        "@googletest//:gtest",
    343        "@googletest//:gtest_main",
    344    ],
    345 )
    346 
    347 cc_test(
    348    name = "gaussian_distribution_test",
    349    size = "small",
    350    timeout = "eternal",  # Android can take a very long time
    351    srcs = [
    352        "gaussian_distribution_test.cc",
    353    ],
    354    copts = ABSL_TEST_COPTS,
    355    linkopts = ABSL_DEFAULT_LINKOPTS,
    356    deps = [
    357        ":distributions",
    358        ":random",
    359        "//absl/base:core_headers",
    360        "//absl/log",
    361        "//absl/numeric:representation",
    362        "//absl/random/internal:distribution_test_util",
    363        "//absl/random/internal:sequence_urbg",
    364        "//absl/strings",
    365        "//absl/strings:str_format",
    366        "@googletest//:gtest",
    367        "@googletest//:gtest_main",
    368    ],
    369 )
    370 
    371 cc_test(
    372    name = "uniform_int_distribution_test",
    373    size = "medium",
    374    timeout = "long",
    375    srcs = [
    376        "uniform_int_distribution_test.cc",
    377    ],
    378    copts = ABSL_TEST_COPTS,
    379    linkopts = ABSL_DEFAULT_LINKOPTS,
    380    deps = [
    381        ":distributions",
    382        ":random",
    383        "//absl/log",
    384        "//absl/random/internal:distribution_test_util",
    385        "//absl/random/internal:pcg_engine",
    386        "//absl/random/internal:sequence_urbg",
    387        "//absl/strings",
    388        "@googletest//:gtest",
    389        "@googletest//:gtest_main",
    390    ],
    391 )
    392 
    393 cc_test(
    394    name = "uniform_real_distribution_test",
    395    size = "medium",
    396    srcs = [
    397        "uniform_real_distribution_test.cc",
    398    ],
    399    copts = ABSL_TEST_COPTS,
    400    linkopts = ABSL_DEFAULT_LINKOPTS,
    401    tags = [
    402        "no_test_android_arm",
    403        "no_test_android_arm64",
    404        "no_test_android_x86",
    405    ],
    406    deps = [
    407        ":distributions",
    408        ":random",
    409        "//absl/log",
    410        "//absl/numeric:representation",
    411        "//absl/random/internal:distribution_test_util",
    412        "//absl/random/internal:pcg_engine",
    413        "//absl/random/internal:sequence_urbg",
    414        "//absl/strings",
    415        "@googletest//:gtest",
    416        "@googletest//:gtest_main",
    417    ],
    418 )
    419 
    420 cc_test(
    421    name = "zipf_distribution_test",
    422    size = "medium",
    423    srcs = [
    424        "zipf_distribution_test.cc",
    425    ],
    426    copts = ABSL_TEST_COPTS,
    427    linkopts = ABSL_DEFAULT_LINKOPTS,
    428    deps = [
    429        ":distributions",
    430        ":random",
    431        "//absl/log",
    432        "//absl/random/internal:distribution_test_util",
    433        "//absl/random/internal:pcg_engine",
    434        "//absl/random/internal:sequence_urbg",
    435        "//absl/strings",
    436        "@googletest//:gtest",
    437        "@googletest//:gtest_main",
    438    ],
    439 )
    440 
    441 cc_test(
    442    name = "bit_gen_ref_test",
    443    size = "small",
    444    srcs = ["bit_gen_ref_test.cc"],
    445    copts = ABSL_TEST_COPTS,
    446    linkopts = ABSL_DEFAULT_LINKOPTS,
    447    deps = [
    448        ":bit_gen_ref",
    449        ":random",
    450        "//absl/base:config",
    451        "//absl/base:fast_type_id",
    452        "//absl/random/internal:sequence_urbg",
    453        "@googletest//:gtest",
    454        "@googletest//:gtest_main",
    455    ],
    456 )
    457 
    458 cc_test(
    459    name = "mocking_bit_gen_test",
    460    size = "small",
    461    srcs = ["mocking_bit_gen_test.cc"],
    462    copts = ABSL_TEST_COPTS,
    463    linkopts = ABSL_DEFAULT_LINKOPTS,
    464    tags = [
    465        "no_test_wasm",
    466    ],
    467    deps = [
    468        ":bit_gen_ref",
    469        ":mock_distributions",
    470        ":mocking_bit_gen",
    471        ":random",
    472        "@googletest//:gtest",
    473        "@googletest//:gtest_main",
    474    ],
    475 )
    476 
    477 cc_test(
    478    name = "mock_distributions_test",
    479    size = "small",
    480    timeout = "moderate",
    481    srcs = ["mock_distributions_test.cc"],
    482    copts = ABSL_TEST_COPTS,
    483    linkopts = ABSL_DEFAULT_LINKOPTS,
    484    tags = [
    485        "no_test_wasm",
    486    ],
    487    deps = [
    488        ":distributions",
    489        ":mock_distributions",
    490        ":mocking_bit_gen",
    491        ":random",
    492        "//absl/numeric:int128",
    493        "@googletest//:gtest",
    494        "@googletest//:gtest_main",
    495    ],
    496 )
    497 
    498 cc_test(
    499    name = "examples_test",
    500    size = "small",
    501    srcs = ["examples_test.cc"],
    502    copts = ABSL_TEST_COPTS,
    503    linkopts = ABSL_DEFAULT_LINKOPTS,
    504    tags = [
    505        "no_test_wasm",
    506    ],
    507    deps = [
    508        ":random",
    509        "@googletest//:gtest",
    510        "@googletest//:gtest_main",
    511    ],
    512 )
    513 
    514 cc_test(
    515    name = "seed_sequences_test",
    516    size = "small",
    517    srcs = ["seed_sequences_test.cc"],
    518    copts = ABSL_TEST_COPTS,
    519    linkopts = ABSL_DEFAULT_LINKOPTS,
    520    deps = [
    521        ":random",
    522        ":seed_sequences",
    523        "//absl/random/internal:nonsecure_base",
    524        "@googletest//:gtest",
    525        "@googletest//:gtest_main",
    526    ],
    527 )
    528 
    529 # Benchmarks for various methods / test utilities
    530 cc_binary(
    531    name = "benchmarks",
    532    testonly = True,
    533    srcs = [
    534        "benchmarks.cc",
    535    ],
    536    copts = ABSL_TEST_COPTS,
    537    linkopts = ABSL_DEFAULT_LINKOPTS,
    538    tags = ["benchmark"],
    539    deps = [
    540        ":distributions",
    541        ":random",
    542        "//absl/base:core_headers",
    543        "//absl/random/internal:fast_uniform_bits",
    544        "//absl/random/internal:randen_engine",
    545        "@google_benchmark//:benchmark_main",
    546    ],
    547 )