diff options
author | Zeno Albisser <zeno.albisser@theqtcompany.com> | 2014-12-05 15:04:29 +0100 |
---|---|---|
committer | Andras Becsi <andras.becsi@theqtcompany.com> | 2014-12-09 10:49:28 +0100 |
commit | af6588f8d723931a298c995fa97259bb7f7deb55 (patch) | |
tree | 060ca707847ba1735f01af2372e0d5e494dc0366 /chromium/sql | |
parent | 2fff84d821cc7b1c785f6404e0f8091333283e74 (diff) | |
download | qtwebengine-chromium-af6588f8d723931a298c995fa97259bb7f7deb55.tar.gz |
BASELINE: Update chromium to 40.0.2214.28 and ninja to 1.5.3.
Change-Id: I759465284fd64d59ad120219cbe257f7402c4181
Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
Diffstat (limited to 'chromium/sql')
-rw-r--r-- | chromium/sql/BUILD.gn | 8 | ||||
-rw-r--r-- | chromium/sql/connection.cc | 2 | ||||
-rw-r--r-- | chromium/sql/connection_unittest.cc | 2 | ||||
-rw-r--r-- | chromium/sql/recovery.cc | 4 | ||||
-rw-r--r-- | chromium/sql/recovery_unittest.cc | 32 | ||||
-rw-r--r-- | chromium/sql/sql.gyp | 28 | ||||
-rw-r--r-- | chromium/sql/sql_unittests.isolate | 17 | ||||
-rw-r--r-- | chromium/sql/sqlite_features_unittest.cc | 7 | ||||
-rw-r--r-- | chromium/sql/statement.cc | 2 | ||||
-rw-r--r-- | chromium/sql/statement_unittest.cc | 2 | ||||
-rw-r--r-- | chromium/sql/transaction_unittest.cc | 2 |
11 files changed, 93 insertions, 13 deletions
diff --git a/chromium/sql/BUILD.gn b/chromium/sql/BUILD.gn index d67284141b4..21a6f85d94f 100644 --- a/chromium/sql/BUILD.gn +++ b/chromium/sql/BUILD.gn @@ -33,6 +33,7 @@ component("sql") { } source_set("test_support") { + testonly = true sources = [ "test/error_callback_support.cc", "test/error_callback_support.h", @@ -56,6 +57,11 @@ test("sql_unittests") { "recovery_unittest.cc", "sqlite_features_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", ] @@ -67,7 +73,7 @@ test("sql_unittests") { ":sql", ":test_support", "//base/allocator", - "//base/test:run_all_unittests", + "//base/test:test_support", "//testing/gtest", "//third_party/sqlite", ] diff --git a/chromium/sql/connection.cc b/chromium/sql/connection.cc index f9f80c2674e..cc7e69dba74 100644 --- a/chromium/sql/connection.cc +++ b/chromium/sql/connection.cc @@ -7,7 +7,7 @@ #include <string.h> #include "base/files/file_path.h" -#include "base/file_util.h" +#include "base/files/file_util.h" #include "base/lazy_instance.h" #include "base/logging.h" #include "base/metrics/histogram.h" diff --git a/chromium/sql/connection_unittest.cc b/chromium/sql/connection_unittest.cc index c0a06410f19..bb3f000cf65 100644 --- a/chromium/sql/connection_unittest.cc +++ b/chromium/sql/connection_unittest.cc @@ -3,7 +3,7 @@ // found in the LICENSE file. #include "base/bind.h" -#include "base/file_util.h" +#include "base/files/file_util.h" #include "base/files/scoped_file.h" #include "base/files/scoped_temp_dir.h" #include "base/logging.h" diff --git a/chromium/sql/recovery.cc b/chromium/sql/recovery.cc index 42f1a9af6e9..f9da40762bc 100644 --- a/chromium/sql/recovery.cc +++ b/chromium/sql/recovery.cc @@ -355,7 +355,7 @@ bool Recovery::AutoRecoverTable(const char* table_name, // |rowid_decl| stores the ROWID version of the last INTEGER column // seen, which is at |rowid_ofs| in |create_column_decls|. size_t pk_column_count = 0; - size_t rowid_ofs; // Only valid if rowid_decl is set. + size_t rowid_ofs = 0; // Only valid if rowid_decl is set. std::string rowid_decl; // ROWID version of column |rowid_ofs|. while (s.Step()) { @@ -372,7 +372,7 @@ bool Recovery::AutoRecoverTable(const char* table_name, // (zero for not in primary key). I find that it is always 1 for // columns in the primary key. Since this code is very dependent on // that pragma, review if the implementation changes. - DCHECK_EQ(pk_column, 1); + DCHECK_EQ(1, pk_column); ++pk_column_count; } diff --git a/chromium/sql/recovery_unittest.cc b/chromium/sql/recovery_unittest.cc index ce3884bbc08..eba81a521d6 100644 --- a/chromium/sql/recovery_unittest.cc +++ b/chromium/sql/recovery_unittest.cc @@ -6,12 +6,15 @@ #include "base/bind.h" #include "base/files/file_path.h" +#include "base/files/file_util.h" #include "base/files/scoped_temp_dir.h" +#include "base/path_service.h" #include "base/strings/string_number_conversions.h" #include "sql/connection.h" #include "sql/meta_table.h" #include "sql/recovery.h" #include "sql/statement.h" +#include "sql/test/paths.h" #include "sql/test/scoped_error_ignorer.h" #include "sql/test/test_helpers.h" #include "testing/gtest/include/gtest/gtest.h" @@ -683,6 +686,35 @@ TEST_F(SQLRecoveryTest, AutoRecoverTableExtendColumns) { ASSERT_EQ(orig_schema, GetSchema(&db())); ASSERT_EQ(orig_data, ExecuteWithResults(&db(), kXSql, "|", "\n")); } + +// Recover a golden file where an interior page has been manually modified so +// that the number of cells is greater than will fit on a single page. This +// case happened in <http://crbug.com/387868>. +TEST_F(SQLRecoveryTest, Bug387868) { + base::FilePath golden_path; + ASSERT_TRUE(PathService::Get(sql::test::DIR_TEST_DATA, &golden_path)); + golden_path = golden_path.AppendASCII("recovery_387868"); + db().Close(); + ASSERT_TRUE(base::CopyFile(golden_path, db_path())); + ASSERT_TRUE(Reopen()); + + { + scoped_ptr<sql::Recovery> recovery = sql::Recovery::Begin(&db(), db_path()); + ASSERT_TRUE(recovery.get()); + + // Create the new version of the table. + const char kCreateSql[] = + "CREATE TABLE x (id INTEGER PRIMARY KEY, t0 TEXT)"; + ASSERT_TRUE(recovery->db()->Execute(kCreateSql)); + + size_t rows = 0; + EXPECT_TRUE(recovery->AutoRecoverTable("x", 0, &rows)); + EXPECT_EQ(43u, rows); + + // Successfully recovered. + EXPECT_TRUE(sql::Recovery::Recovered(recovery.Pass())); + } +} #endif // !defined(USE_SYSTEM_SQLITE) } // namespace diff --git a/chromium/sql/sql.gyp b/chromium/sql/sql.gyp index 37c6ae71091..4642457f656 100644 --- a/chromium/sql/sql.gyp +++ b/chromium/sql/sql.gyp @@ -80,7 +80,6 @@ 'dependencies': [ 'sql', 'test_support_sql', - '../base/base.gyp:run_all_unittests', '../base/base.gyp:test_support_base', '../testing/gtest.gyp:gtest', '../third_party/sqlite/sqlite.gyp:sqlite', @@ -91,6 +90,11 @@ 'recovery_unittest.cc', 'sqlite_features_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', ], 'include_dirs': [ @@ -111,6 +115,11 @@ '../testing/android/native_test.gyp:native_test_native_code', ], }], + ['sqlite_enable_fts2', { + 'defines': [ + 'SQLITE_ENABLE_FTS2', + ], + }], ], # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 'msvs_disabled_warnings': [4267, ], @@ -132,5 +141,22 @@ }, ], }], + ['test_isolation_mode != "noop"', { + 'targets': [ + { + 'target_name': 'sql_unittests_run', + 'type': 'none', + 'dependencies': [ + 'sql_unittests', + ], + 'includes': [ + '../build/isolate.gypi', + ], + 'sources': [ + 'sql_unittests.isolate', + ], + }, + ], + }], ], } diff --git a/chromium/sql/sql_unittests.isolate b/chromium/sql/sql_unittests.isolate new file mode 100644 index 00000000000..f422ae6eab6 --- /dev/null +++ b/chromium/sql/sql_unittests.isolate @@ -0,0 +1,17 @@ +# 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. +{ + 'conditions': [ + ['OS=="android" or OS=="linux" or OS=="mac" or OS=="win"', { + 'variables': { + 'files': [ + 'test/data/', + ], + }, + }], + ], + 'includes': [ + '../base/base.isolate', + ], +} diff --git a/chromium/sql/sqlite_features_unittest.cc b/chromium/sql/sqlite_features_unittest.cc index e30d0a49880..e721693383f 100644 --- a/chromium/sql/sqlite_features_unittest.cc +++ b/chromium/sql/sqlite_features_unittest.cc @@ -5,7 +5,7 @@ #include <string> #include "base/bind.h" -#include "base/file_util.h" +#include "base/files/file_util.h" #include "base/files/scoped_temp_dir.h" #include "sql/connection.h" #include "sql/statement.h" @@ -63,10 +63,9 @@ TEST_F(SQLiteFeaturesTest, NoFTS1) { "CREATE VIRTUAL TABLE foo USING fts1(x)")); } -#if !defined(OS_IOS) +#if defined(SQLITE_ENABLE_FTS2) // fts2 is used for older history files, so we're signed on for keeping our -// version up-to-date. iOS does not include fts2, so this test does not run on -// iOS. +// version up-to-date. // TODO(shess): Think up a crazy way to get out from having to support // this forever. TEST_F(SQLiteFeaturesTest, FTS2) { diff --git a/chromium/sql/statement.cc b/chromium/sql/statement.cc index 7001d171ee3..b3707c53dd3 100644 --- a/chromium/sql/statement.cc +++ b/chromium/sql/statement.cc @@ -182,7 +182,7 @@ ColType Statement::ColumnType(int col) const { ColType Statement::DeclaredColumnType(int col) const { std::string column_type(sqlite3_column_decltype(ref_->stmt(), col)); - StringToLowerASCII(&column_type); + base::StringToLowerASCII(&column_type); if (column_type == "integer") return COLUMN_TYPE_INTEGER; diff --git a/chromium/sql/statement_unittest.cc b/chromium/sql/statement_unittest.cc index c5217aa6c99..a140ee095c3 100644 --- a/chromium/sql/statement_unittest.cc +++ b/chromium/sql/statement_unittest.cc @@ -5,7 +5,7 @@ #include <string> #include "base/bind.h" -#include "base/file_util.h" +#include "base/files/file_util.h" #include "base/files/scoped_temp_dir.h" #include "sql/connection.h" #include "sql/statement.h" diff --git a/chromium/sql/transaction_unittest.cc b/chromium/sql/transaction_unittest.cc index fe5eee232d6..5625041eb5f 100644 --- a/chromium/sql/transaction_unittest.cc +++ b/chromium/sql/transaction_unittest.cc @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "base/file_util.h" +#include "base/files/file_util.h" #include "base/files/scoped_temp_dir.h" #include "sql/connection.h" #include "sql/statement.h" |