Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(139)

Side by Side Diff: chrome/browser/sync/syncable/directory_backing_store_unittest.cc

Issue 8570016: Revert 110177 - Sync: Improve handling of database load failures (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "testing/gtest/include/gtest/gtest.h" 5 #include "testing/gtest/include/gtest/gtest.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/file_path.h" 9 #include "base/file_path.h"
10 #include "base/file_util.h" 10 #include "base/file_util.h"
(...skipping 2064 matching lines...) Expand 10 before | Expand all | Expand 10 after
2075 new DirectoryBackingStore(GetUsername(), GetDatabasePath())); 2075 new DirectoryBackingStore(GetUsername(), GetDatabasePath()));
2076 EXPECT_TRUE(dbs->BeginLoad()); 2076 EXPECT_TRUE(dbs->BeginLoad());
2077 } 2077 }
2078 std::string bad_data("BAD DATA"); 2078 std::string bad_data("BAD DATA");
2079 EXPECT_TRUE(file_util::WriteFile(GetDatabasePath(), bad_data.data(), 2079 EXPECT_TRUE(file_util::WriteFile(GetDatabasePath(), bad_data.data(),
2080 bad_data.size())); 2080 bad_data.size()));
2081 { 2081 {
2082 scoped_ptr<DirectoryBackingStore> dbs( 2082 scoped_ptr<DirectoryBackingStore> dbs(
2083 new DirectoryBackingStore(GetUsername(), GetDatabasePath())); 2083 new DirectoryBackingStore(GetUsername(), GetDatabasePath()));
2084 2084
2085 EXPECT_FALSE(dbs->BeginLoad()); 2085 // In release mode, we expect the sync database to nuke itself and start
2086 // over if it detects invalid/corrupted data.
2087 #if defined(NDEBUG) && !defined(DCHECK_ALWAYS_ON)
2088 EXPECT_TRUE(dbs->BeginLoad());
2089 #elif defined(NDEBUG) && defined(DCHECK_ALWAYS_ON)
2090 EXPECT_DEATH(dbs->BeginLoad(), "stmt_");
2091 #else
2092 EXPECT_DEATH(dbs->BeginLoad(), "sqlite error");
2093 #endif
2086 } 2094 }
2087 } 2095 }
2088 2096
2089 TEST_F(DirectoryBackingStoreTest, DeleteEntries) { 2097 TEST_F(DirectoryBackingStoreTest, DeleteEntries) {
2090 SetUpCurrentDatabaseAndCheckVersion(); 2098 SetUpCurrentDatabaseAndCheckVersion();
2091 scoped_ptr<DirectoryBackingStore> dbs( 2099 scoped_ptr<DirectoryBackingStore> dbs(
2092 new DirectoryBackingStore(GetUsername(), GetDatabasePath())); 2100 new DirectoryBackingStore(GetUsername(), GetDatabasePath()));
2093 dbs->BeginLoad(); 2101 dbs->BeginLoad();
2094 MetahandlesIndex index; 2102 MetahandlesIndex index;
2095 STLElementDeleter<MetahandlesIndex> index_deleter(&index); 2103 STLElementDeleter<MetahandlesIndex> index_deleter(&index);
(...skipping 29 matching lines...) Expand all
2125 2133
2126 STLDeleteElements(&index); 2134 STLDeleteElements(&index);
2127 dbs->LoadEntries(&index); 2135 dbs->LoadEntries(&index);
2128 EXPECT_EQ(0U, index.size()); 2136 EXPECT_EQ(0U, index.size());
2129 2137
2130 dbs->EndLoad(); 2138 dbs->EndLoad();
2131 dbs->EndSave(); 2139 dbs->EndSave();
2132 } 2140 }
2133 2141
2134 } // namespace syncable 2142 } // namespace syncable
OLDNEW
« no previous file with comments | « chrome/browser/sync/syncable/directory_backing_store.cc ('k') | chrome/browser/sync/util/sqlite_utils.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698