| # Copyright 2014 The Chromium Authors | 
 | # Use of this source code is governed by a BSD-style license that can be | 
 | # found in the LICENSE file. | 
 |  | 
 | import("//testing/test.gni") | 
 | import("//tools/metrics/generate_allowlist_from_histograms_file.gni") | 
 |  | 
 | generate_allowlist_from_histograms_file("sql_name_variants") { | 
 |   namespace = "sql_metrics" | 
 |   input_xml_file = "//tools/metrics/histograms/metadata/sql/histograms.xml" | 
 |   output_file = "sql_name_variants.h" | 
 |   tag = "variant" | 
 |   allow_list_name = "DatabaseTag" | 
 | } | 
 |  | 
 | component("sql") { | 
 |   sources = [ | 
 |     "database.cc", | 
 |     "database.h", | 
 |     "database_memory_dump_provider.cc", | 
 |     "database_memory_dump_provider.h", | 
 |     "error_delegate_util.cc", | 
 |     "error_delegate_util.h", | 
 |     "init_status.h", | 
 |     "initialization.cc", | 
 |     "initialization.h", | 
 |     "internal_api_token.h", | 
 |     "meta_table.cc", | 
 |     "meta_table.h", | 
 |     "recovery.cc", | 
 |     "recovery.h", | 
 |     "sandboxed_vfs.cc", | 
 |     "sandboxed_vfs.h", | 
 |     "sandboxed_vfs_file.cc", | 
 |     "sandboxed_vfs_file.h", | 
 |     "sql_memory_dump_provider.cc", | 
 |     "sql_memory_dump_provider.h", | 
 |     "sqlite_result_code.cc", | 
 |     "sqlite_result_code.h", | 
 |     "sqlite_result_code_values.cc", | 
 |     "sqlite_result_code_values.h", | 
 |     "statement.cc", | 
 |     "statement.h", | 
 |     "statement_id.h", | 
 |     "streaming_blob_handle.cc", | 
 |     "streaming_blob_handle.h", | 
 |     "transaction.cc", | 
 |     "transaction.h", | 
 |     "vfs_wrapper.cc", | 
 |     "vfs_wrapper.h", | 
 |   ] | 
 |  | 
 |   #sources += get_target_outputs(":sql_name_variants") | 
 |  | 
 |   defines = [ "IS_SQL_IMPL" ] | 
 |  | 
 |   deps = [ | 
 |     "//base", | 
 |     "//third_party/sqlite", | 
 |   ] | 
 |  | 
 |   public_deps = [ ":sql_name_variants" ] | 
 |  | 
 |   # For vfs_wrapper.cc time-machine exclusions. | 
 |   if (is_mac) { | 
 |     frameworks = [ | 
 |       "CoreFoundation.framework", | 
 |       "CoreServices.framework", | 
 |     ] | 
 |   } | 
 |  | 
 |   if (is_fuchsia) { | 
 |     sources += [ | 
 |       "vfs_wrapper_fuchsia.cc", | 
 |       "vfs_wrapper_fuchsia.h", | 
 |     ] | 
 |   } | 
 | } | 
 |  | 
 | static_library("test_support") { | 
 |   testonly = true | 
 |   sources = [ | 
 |     "test/scoped_error_expecter.cc", | 
 |     "test/scoped_error_expecter.h", | 
 |     "test/test_helpers.cc", | 
 |     "test/test_helpers.h", | 
 |   ] | 
 |  | 
 |   public_deps = [ ":sql" ] | 
 |   deps = [ | 
 |     "//base", | 
 |     "//testing/gtest", | 
 |     "//third_party/sqlite", | 
 |   ] | 
 | } | 
 |  | 
 | bundle_data("sql_unittests_bundle_data") { | 
 |   testonly = true | 
 |   sources = [ "test/data/recovery_387868" ] | 
 |   outputs = [ "{{bundle_resources_dir}}/" + | 
 |               "{{source_root_relative_dir}}/{{source_file_part}}" ] | 
 | } | 
 |  | 
 | test("sql_unittests") { | 
 |   sources = [ | 
 |     "database_options_unittest.cc", | 
 |     "database_unittest.cc", | 
 |     "meta_table_unittest.cc", | 
 |     "recovery_unittest.cc", | 
 |     "sql_memory_dump_provider_unittest.cc", | 
 |     "sqlite_features_unittest.cc", | 
 |     "sqlite_result_code_unittest.cc", | 
 |     "statement_id_unittest.cc", | 
 |     "statement_unittest.cc", | 
 |     "streaming_blob_handle_unittest.cc", | 
 |     "test/paths.cc", | 
 |     "test/paths.h", | 
 |     "test/run_all_unittests.cc", | 
 |     "test/sql_test_suite.cc", | 
 |     "test/sql_test_suite.h", | 
 |     "transaction_unittest.cc", | 
 |   ] | 
 |  | 
 |   data = [ "test/data/" ] | 
 |  | 
 |   deps = [ | 
 |     ":sql", | 
 |     ":sql_unittests_bundle_data", | 
 |     ":test_support", | 
 |     "//base/test:test_support", | 
 |     "//testing/gtest", | 
 |     "//third_party/sqlite", | 
 |   ] | 
 | } | 
 |  | 
 | group("fuzzers") { | 
 |   testonly = true | 
 |   deps = [ "//sql/fuzzers:sql_recovery_lpm_fuzzer" ] | 
 | } |