blob: aa5092e8a8e44bffa141dba3f9911556c3ab071b [file] [log] [blame]
# 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/libfuzzer/fuzzer_test.gni")
import("//testing/test.gni")
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_features.cc",
"sql_features.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.cc",
"statement_id.h",
"transaction.cc",
"transaction.h",
"vfs_wrapper.cc",
"vfs_wrapper.h",
]
defines = [ "IS_SQL_IMPL" ]
deps = [
"//base",
"//third_party/sqlite",
]
# 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",
"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",
]
}
fuzzer_test("sql_recovery_fuzzer") {
sources = [ "recovery_fuzzer.cc" ]
deps = [
":sql",
"//base",
"//base/test:test_support",
]
libfuzzer_options = [ "rss_limit_mb=4096" ]
}
group("fuzzers") {
testonly = true
deps = [ "//sql/fuzzers:sql_recovery_lpm_fuzzer" ]
}