blob: 280cd663e6e1dbdd6fbe426211adb489a89fde4e [file] [log] [blame]
# Copyright 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/config/jumbo.gni")
import("//testing/libfuzzer/fuzzer_test.gni")
action("bake_in_configs") {
visibility = [ ":*" ]
script = "bake_in_configs.py"
inputs = [
"baked_in_configs/c_android_clients_google_com.json",
"baked_in_configs/c_bigcache_googleapis_com.json",
"baked_in_configs/c_doc-0-0-sj_sj_googleusercontent_com.json",
"baked_in_configs/c_docs_google_com.json",
"baked_in_configs/c_drive_google_com.json",
"baked_in_configs/c_googlesyndication_com.json",
"baked_in_configs/c_pack_google_com.json",
"baked_in_configs/c_play_google_com.json",
"baked_in_configs/c_youtube_com.json",
"baked_in_configs/clients2_google_com.json",
"baked_in_configs/docs_google_com.json",
"baked_in_configs/gcp_gvt2_com.json",
"baked_in_configs/gcp_gvt6_com.json",
"baked_in_configs/google-analytics_com.json",
"baked_in_configs/googlevideo_com.json",
"baked_in_configs/gvt1_com.json",
"baked_in_configs/gvt2_com.json",
"baked_in_configs/gvt6_com.json",
"baked_in_configs/ssl_gstatic_com.json",
"baked_in_configs/www_google_com.json",
]
output_file = "$target_gen_dir/baked_in_configs.cc"
outputs = [
output_file,
]
# The JSON file list is too long for the command line on Windows, so put
# them in a response file.
response_file_contents = rebase_path(inputs, root_build_dir)
args = [
"--file-list",
"{{response_file_name}}",
"--output",
rebase_path(output_file, root_build_dir),
]
}
jumbo_component("domain_reliability") {
sources = [
"baked_in_configs.h",
"beacon.cc",
"beacon.h",
"clear_mode.h",
"config.cc",
"config.h",
"context.cc",
"context.h",
"context_manager.cc",
"context_manager.h",
"dispatcher.cc",
"dispatcher.h",
"domain_reliability_export.h",
"google_configs.cc",
"google_configs.h",
"header.cc",
"header.h",
"monitor.cc",
"monitor.h",
"quic_error_mapping.cc",
"quic_error_mapping.h",
"scheduler.cc",
"scheduler.h",
"uploader.cc",
"uploader.h",
"util.cc",
"util.h",
]
sources += get_target_outputs(":bake_in_configs")
defines = [ "DOMAIN_RELIABILITY_IMPLEMENTATION" ]
deps = [
":bake_in_configs",
"//base",
"//net",
"//url",
]
}
jumbo_source_set("unit_tests") {
testonly = true
sources = [
"config_unittest.cc",
"context_unittest.cc",
"dispatcher_unittest.cc",
"google_configs_unittest.cc",
"header_unittest.cc",
"monitor_unittest.cc",
"scheduler_unittest.cc",
"test_util.cc",
"test_util.h",
"uploader_unittest.cc",
"util_unittest.cc",
]
configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
deps = [
":domain_reliability",
"//base",
"//base/test:test_support",
"//net:test_support",
"//testing/gtest",
]
}
fuzzer_test("domain_reliability_header_fuzzer") {
sources = [
"header_fuzzer.cc",
]
deps = [
":domain_reliability",
"//base",
"//base:i18n",
]
dict = "header.dict"
}