| # 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("//testing/test.gni") |
| |
| component("sql") { |
| sources = [ |
| "connection.cc", |
| "connection.h", |
| "connection_memory_dump_provider.cc", |
| "connection_memory_dump_provider.h", |
| "error_delegate_util.cc", |
| "error_delegate_util.h", |
| "init_status.h", |
| "meta_table.cc", |
| "meta_table.h", |
| "recovery.cc", |
| "recovery.h", |
| "sql_memory_dump_provider.cc", |
| "sql_memory_dump_provider.h", |
| "statement.cc", |
| "statement.h", |
| "transaction.cc", |
| "transaction.h", |
| "vfs_wrapper.cc", |
| "vfs_wrapper.h", |
| ] |
| |
| # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. |
| configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] |
| |
| defines = [ "SQL_IMPLEMENTATION" ] |
| |
| deps = [ |
| "//base", |
| "//base/third_party/dynamic_annotations", |
| "//third_party/sqlite", |
| ] |
| |
| # For vfs_wrapper.cc time-machine exclusions. |
| if (is_mac) { |
| libs = [ |
| "CoreFoundation.framework", |
| "CoreServices.framework", |
| ] |
| } |
| } |
| |
| static_library("test_support") { |
| testonly = true |
| sources = [ |
| "test/error_callback_support.cc", |
| "test/error_callback_support.h", |
| "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", |
| ] |
| } |
| |
| source_set("redirection_header") { |
| # This target exists because we need a way to switch between |
| # "test/sql_test_base.h" and "mojo/sql_test_base.h" at compile time, to allow |
| # us to switch out the gtest vs mojo:apptest frameworks. |
| check_includes = false |
| |
| sources = [ |
| "correct_sql_test_base.h", |
| ] |
| } |
| |
| 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 = [ |
| "connection_unittest.cc", |
| "meta_table_unittest.cc", |
| "recovery_unittest.cc", |
| "sql_memory_dump_provider_unittest.cc", |
| "sqlite_features_unittest.cc", |
| "statement_unittest.cc", |
| "test/paths.cc", |
| "test/paths.h", |
| "test/run_all_unittests.cc", |
| "test/sql_test_base.cc", |
| "test/sql_test_base.h", |
| "test/sql_test_suite.cc", |
| "test/sql_test_suite.h", |
| "transaction_unittest.cc", |
| ] |
| |
| data = [ |
| "test/data/", |
| ] |
| |
| # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. |
| configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] |
| |
| deps = [ |
| ":redirection_header", |
| ":sql", |
| ":sql_unittests_bundle_data", |
| ":test_support", |
| "//base/test:test_support", |
| "//testing/gtest", |
| "//third_party/sqlite", |
| ] |
| } |