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

Side by Side Diff: chrome/browser/sync/engine/syncer_unittest.cc

Issue 7033043: [Sync] Speed up sync node browser/search in about:sync (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address comments Created 9 years, 6 months 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 // Syncer unit tests. Unfortunately a lot of these tests 5 // Syncer unit tests. Unfortunately a lot of these tests
6 // are outdated and need to be reworked and updated. 6 // are outdated and need to be reworked and updated.
7 7
8 #include <algorithm> 8 #include <algorithm>
9 #include <limits> 9 #include <limits>
10 #include <list> 10 #include <list>
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 syncdb_.manager(), this, listeners)); 191 syncdb_.manager(), this, listeners));
192 context_->set_account_name(syncdb_.name()); 192 context_->set_account_name(syncdb_.name());
193 ASSERT_FALSE(context_->resolver()); 193 ASSERT_FALSE(context_->resolver());
194 syncer_ = new Syncer(); 194 syncer_ = new Syncer();
195 session_.reset(MakeSession()); 195 session_.reset(MakeSession());
196 196
197 ScopedDirLookup dir(syncdb_.manager(), syncdb_.name()); 197 ScopedDirLookup dir(syncdb_.manager(), syncdb_.name());
198 CHECK(dir.good()); 198 CHECK(dir.good());
199 ReadTransaction trans(dir, __FILE__, __LINE__); 199 ReadTransaction trans(dir, __FILE__, __LINE__);
200 syncable::Directory::ChildHandles children; 200 syncable::Directory::ChildHandles children;
201 dir->GetChildHandles(&trans, trans.root_id(), &children); 201 dir->GetChildHandlesById(&trans, trans.root_id(), &children);
202 ASSERT_TRUE(0 == children.size()); 202 ASSERT_TRUE(0 == children.size());
203 saw_syncer_event_ = false; 203 saw_syncer_event_ = false;
204 root_id_ = TestIdFactory::root(); 204 root_id_ = TestIdFactory::root();
205 parent_id_ = ids_.MakeServer("parent id"); 205 parent_id_ = ids_.MakeServer("parent id");
206 child_id_ = ids_.MakeServer("child id"); 206 child_id_ = ids_.MakeServer("child id");
207 } 207 }
208 208
209 virtual void TearDown() { 209 virtual void TearDown() {
210 mock_server_.reset(); 210 mock_server_.reset();
211 delete syncer_; 211 delete syncer_;
(...skipping 1669 matching lines...) Expand 10 before | Expand all | Expand 10 after
1881 child.Put(syncable::ID, child_id_); 1881 child.Put(syncable::ID, child_id_);
1882 child.Put(syncable::BASE_VERSION, 10); 1882 child.Put(syncable::BASE_VERSION, 10);
1883 WriteTestDataToEntry(&wtrans, &child); 1883 WriteTestDataToEntry(&wtrans, &child);
1884 } 1884 }
1885 mock_server_->AddUpdateBookmark(child_id_, parent_id_, "Pete2.htm", 11, 10); 1885 mock_server_->AddUpdateBookmark(child_id_, parent_id_, "Pete2.htm", 11, 10);
1886 mock_server_->set_conflict_all_commits(true); 1886 mock_server_->set_conflict_all_commits(true);
1887 LoopSyncShare(); 1887 LoopSyncShare();
1888 syncable::Directory::ChildHandles children; 1888 syncable::Directory::ChildHandles children;
1889 { 1889 {
1890 ReadTransaction trans(dir, __FILE__, __LINE__); 1890 ReadTransaction trans(dir, __FILE__, __LINE__);
1891 dir->GetChildHandles(&trans, parent_id_, &children); 1891 dir->GetChildHandlesById(&trans, parent_id_, &children);
1892 // We expect the conflict resolver to preserve the local entry. 1892 // We expect the conflict resolver to preserve the local entry.
1893 Entry child(&trans, syncable::GET_BY_ID, child_id_); 1893 Entry child(&trans, syncable::GET_BY_ID, child_id_);
1894 ASSERT_TRUE(child.good()); 1894 ASSERT_TRUE(child.good());
1895 EXPECT_TRUE(child.Get(syncable::IS_UNSYNCED)); 1895 EXPECT_TRUE(child.Get(syncable::IS_UNSYNCED));
1896 EXPECT_FALSE(child.Get(syncable::IS_UNAPPLIED_UPDATE)); 1896 EXPECT_FALSE(child.Get(syncable::IS_UNAPPLIED_UPDATE));
1897 EXPECT_TRUE(child.Get(SPECIFICS).HasExtension(sync_pb::bookmark)); 1897 EXPECT_TRUE(child.Get(SPECIFICS).HasExtension(sync_pb::bookmark));
1898 EXPECT_EQ("Pete.htm", child.Get(NON_UNIQUE_NAME)); 1898 EXPECT_EQ("Pete.htm", child.Get(NON_UNIQUE_NAME));
1899 VerifyTestBookmarkDataInEntry(&child); 1899 VerifyTestBookmarkDataInEntry(&child);
1900 } 1900 }
1901 1901
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
1975 } 1975 }
1976 mock_server_->AddUpdateDirectory(parent_id, root_id_, "Folder", 10, 10); 1976 mock_server_->AddUpdateDirectory(parent_id, root_id_, "Folder", 10, 10);
1977 mock_server_->AddUpdateBookmark(child_id, parent_id, "test.htm", 10, 10); 1977 mock_server_->AddUpdateBookmark(child_id, parent_id, "test.htm", 10, 10);
1978 mock_server_->set_conflict_all_commits(true); 1978 mock_server_->set_conflict_all_commits(true);
1979 SyncShareAsDelegate(); 1979 SyncShareAsDelegate();
1980 SyncShareAsDelegate(); 1980 SyncShareAsDelegate();
1981 SyncShareAsDelegate(); 1981 SyncShareAsDelegate();
1982 { 1982 {
1983 ReadTransaction trans(dir, __FILE__, __LINE__); 1983 ReadTransaction trans(dir, __FILE__, __LINE__);
1984 Directory::ChildHandles children; 1984 Directory::ChildHandles children;
1985 dir->GetChildHandles(&trans, root_id_, &children); 1985 dir->GetChildHandlesById(&trans, root_id_, &children);
1986 EXPECT_TRUE(1 == children.size()); 1986 EXPECT_TRUE(1 == children.size());
1987 dir->GetChildHandles(&trans, parent_id, &children); 1987 dir->GetChildHandlesById(&trans, parent_id, &children);
1988 EXPECT_TRUE(1 == children.size()); 1988 EXPECT_TRUE(1 == children.size());
1989 Directory::UnappliedUpdateMetaHandles unapplied; 1989 Directory::UnappliedUpdateMetaHandles unapplied;
1990 dir->GetUnappliedUpdateMetaHandles(&trans, &unapplied); 1990 dir->GetUnappliedUpdateMetaHandles(&trans, &unapplied);
1991 EXPECT_TRUE(0 == unapplied.size()); 1991 EXPECT_TRUE(0 == unapplied.size());
1992 syncable::Directory::UnsyncedMetaHandles unsynced; 1992 syncable::Directory::UnsyncedMetaHandles unsynced;
1993 dir->GetUnsyncedMetaHandles(&trans, &unsynced); 1993 dir->GetUnsyncedMetaHandles(&trans, &unsynced);
1994 EXPECT_TRUE(0 == unsynced.size()); 1994 EXPECT_TRUE(0 == unsynced.size());
1995 saw_syncer_event_ = false; 1995 saw_syncer_event_ = false;
1996 } 1996 }
1997 } 1997 }
(...skipping 1113 matching lines...) Expand 10 before | Expand all | Expand 10 after
3111 ScopedDirLookup dir(syncdb_.manager(), syncdb_.name()); 3111 ScopedDirLookup dir(syncdb_.manager(), syncdb_.name());
3112 ASSERT_TRUE(dir.good()); 3112 ASSERT_TRUE(dir.good());
3113 3113
3114 const syncable::Id susan_id = TestIdFactory::FromNumber(susan_int_id_); 3114 const syncable::Id susan_id = TestIdFactory::FromNumber(susan_int_id_);
3115 ASSERT_GT(countdown_till_delete_, 0); 3115 ASSERT_GT(countdown_till_delete_, 0);
3116 if (0 != --countdown_till_delete_) 3116 if (0 != --countdown_till_delete_)
3117 return; 3117 return;
3118 WriteTransaction trans(dir, UNITTEST, __FILE__, __LINE__); 3118 WriteTransaction trans(dir, UNITTEST, __FILE__, __LINE__);
3119 MutableEntry susan(&trans, GET_BY_ID, susan_id); 3119 MutableEntry susan(&trans, GET_BY_ID, susan_id);
3120 Directory::ChildHandles children; 3120 Directory::ChildHandles children;
3121 dir->GetChildHandles(&trans, susan.Get(ID), &children); 3121 dir->GetChildHandlesById(&trans, susan.Get(ID), &children);
3122 ASSERT_TRUE(0 == children.size()); 3122 ASSERT_TRUE(0 == children.size());
3123 susan.Put(IS_DEL, true); 3123 susan.Put(IS_DEL, true);
3124 susan.Put(IS_UNSYNCED, true); 3124 susan.Put(IS_UNSYNCED, true);
3125 } 3125 }
3126 3126
3127 protected: 3127 protected:
3128 int countdown_till_delete_; 3128 int countdown_till_delete_;
3129 }; 3129 };
3130 3130
3131 TEST_F(SusanDeletingTest, 3131 TEST_F(SusanDeletingTest,
(...skipping 1149 matching lines...) Expand 10 before | Expand all | Expand 10 after
4281 ASSERT_TRUE(ids_.FromNumber(4) == tag2.Get(ID)); 4281 ASSERT_TRUE(ids_.FromNumber(4) == tag2.Get(ID));
4282 EXPECT_FALSE(tag2.Get(IS_DEL)); 4282 EXPECT_FALSE(tag2.Get(IS_DEL));
4283 EXPECT_FALSE(tag2.Get(IS_UNAPPLIED_UPDATE)); 4283 EXPECT_FALSE(tag2.Get(IS_UNAPPLIED_UPDATE));
4284 EXPECT_FALSE(tag2.Get(IS_UNSYNCED)); 4284 EXPECT_FALSE(tag2.Get(IS_UNSYNCED));
4285 EXPECT_EQ("Four", tag2.Get(NON_UNIQUE_NAME)); 4285 EXPECT_EQ("Four", tag2.Get(NON_UNIQUE_NAME));
4286 EXPECT_EQ(11, tag2.Get(BASE_VERSION)); 4286 EXPECT_EQ(11, tag2.Get(BASE_VERSION));
4287 EXPECT_EQ("tag2", tag2.Get(UNIQUE_CLIENT_TAG)); 4287 EXPECT_EQ("tag2", tag2.Get(UNIQUE_CLIENT_TAG));
4288 tag2_metahandle = tag2.Get(META_HANDLE); 4288 tag2_metahandle = tag2.Get(META_HANDLE);
4289 4289
4290 syncable::Directory::ChildHandles children; 4290 syncable::Directory::ChildHandles children;
4291 dir->GetChildHandles(&trans, trans.root_id(), &children); 4291 dir->GetChildHandlesById(&trans, trans.root_id(), &children);
4292 ASSERT_EQ(2U, children.size()); 4292 ASSERT_EQ(2U, children.size());
4293 } 4293 }
4294 4294
4295 mock_server_->AddUpdateBookmark(2, 0, "Two", 12, 120); 4295 mock_server_->AddUpdateBookmark(2, 0, "Two", 12, 120);
4296 mock_server_->SetLastUpdateClientTag("tag1"); 4296 mock_server_->SetLastUpdateClientTag("tag1");
4297 mock_server_->AddUpdateBookmark(3, 0, "Three", 13, 130); 4297 mock_server_->AddUpdateBookmark(3, 0, "Three", 13, 130);
4298 mock_server_->SetLastUpdateClientTag("tag2"); 4298 mock_server_->SetLastUpdateClientTag("tag2");
4299 SyncShareAsDelegate(); 4299 SyncShareAsDelegate();
4300 4300
4301 { 4301 {
(...skipping 19 matching lines...) Expand all
4321 << "ID 3 should be kept, since it was less than ID 4."; 4321 << "ID 3 should be kept, since it was less than ID 4.";
4322 EXPECT_FALSE(tag2.Get(IS_DEL)); 4322 EXPECT_FALSE(tag2.Get(IS_DEL));
4323 EXPECT_FALSE(tag2.Get(IS_UNAPPLIED_UPDATE)); 4323 EXPECT_FALSE(tag2.Get(IS_UNAPPLIED_UPDATE));
4324 EXPECT_FALSE(tag2.Get(IS_UNSYNCED)); 4324 EXPECT_FALSE(tag2.Get(IS_UNSYNCED));
4325 EXPECT_EQ("Three", tag2.Get(NON_UNIQUE_NAME)); 4325 EXPECT_EQ("Three", tag2.Get(NON_UNIQUE_NAME));
4326 EXPECT_EQ(13, tag2.Get(BASE_VERSION)); 4326 EXPECT_EQ(13, tag2.Get(BASE_VERSION));
4327 EXPECT_EQ("tag2", tag2.Get(UNIQUE_CLIENT_TAG)); 4327 EXPECT_EQ("tag2", tag2.Get(UNIQUE_CLIENT_TAG));
4328 EXPECT_EQ(tag2_metahandle, tag2.Get(META_HANDLE)); 4328 EXPECT_EQ(tag2_metahandle, tag2.Get(META_HANDLE));
4329 4329
4330 syncable::Directory::ChildHandles children; 4330 syncable::Directory::ChildHandles children;
4331 dir->GetChildHandles(&trans, trans.root_id(), &children); 4331 dir->GetChildHandlesById(&trans, trans.root_id(), &children);
4332 ASSERT_EQ(2U, children.size()); 4332 ASSERT_EQ(2U, children.size());
4333 } 4333 }
4334 } 4334 }
4335 4335
4336 TEST_F(SyncerTest, ClientTagClashWithinBatchOfUpdates) { 4336 TEST_F(SyncerTest, ClientTagClashWithinBatchOfUpdates) {
4337 ScopedDirLookup dir(syncdb_.manager(), syncdb_.name()); 4337 ScopedDirLookup dir(syncdb_.manager(), syncdb_.name());
4338 EXPECT_TRUE(dir.good()); 4338 EXPECT_TRUE(dir.good());
4339 4339
4340 // This test is written assuming that ID comparison 4340 // This test is written assuming that ID comparison
4341 // will work out in a particular way. 4341 // will work out in a particular way.
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
4403 EXPECT_TRUE(tag_c.Get(ID).ServerKnows()); 4403 EXPECT_TRUE(tag_c.Get(ID).ServerKnows());
4404 EXPECT_EQ(ids_.FromNumber(201), tag_c.Get(ID)); 4404 EXPECT_EQ(ids_.FromNumber(201), tag_c.Get(ID));
4405 EXPECT_FALSE(tag_c.Get(IS_DEL)); 4405 EXPECT_FALSE(tag_c.Get(IS_DEL));
4406 EXPECT_FALSE(tag_c.Get(IS_UNAPPLIED_UPDATE)); 4406 EXPECT_FALSE(tag_c.Get(IS_UNAPPLIED_UPDATE));
4407 EXPECT_FALSE(tag_c.Get(IS_UNSYNCED)); 4407 EXPECT_FALSE(tag_c.Get(IS_UNSYNCED));
4408 EXPECT_EQ("Four C", tag_c.Get(NON_UNIQUE_NAME)); 4408 EXPECT_EQ("Four C", tag_c.Get(NON_UNIQUE_NAME));
4409 EXPECT_EQ(21, tag_c.Get(BASE_VERSION)); 4409 EXPECT_EQ(21, tag_c.Get(BASE_VERSION));
4410 EXPECT_EQ("tag c", tag_c.Get(UNIQUE_CLIENT_TAG)); 4410 EXPECT_EQ("tag c", tag_c.Get(UNIQUE_CLIENT_TAG));
4411 4411
4412 syncable::Directory::ChildHandles children; 4412 syncable::Directory::ChildHandles children;
4413 dir->GetChildHandles(&trans, trans.root_id(), &children); 4413 dir->GetChildHandlesById(&trans, trans.root_id(), &children);
4414 ASSERT_EQ(3U, children.size()); 4414 ASSERT_EQ(3U, children.size());
4415 } 4415 }
4416 } 4416 }
4417 4417
4418 TEST_F(SyncerTest, UniqueServerTagUpdates) { 4418 TEST_F(SyncerTest, UniqueServerTagUpdates) {
4419 ScopedDirLookup dir(syncdb_.manager(), syncdb_.name()); 4419 ScopedDirLookup dir(syncdb_.manager(), syncdb_.name());
4420 EXPECT_TRUE(dir.good()); 4420 EXPECT_TRUE(dir.good());
4421 // As a hurdle, introduce an item whose name is the same as the tag value 4421 // As a hurdle, introduce an item whose name is the same as the tag value
4422 // we'll use later. 4422 // we'll use later.
4423 int64 hurdle_handle = CreateUnsyncedDirectory("bob", "id_bob"); 4423 int64 hurdle_handle = CreateUnsyncedDirectory("bob", "id_bob");
(...skipping 753 matching lines...) Expand 10 before | Expand all | Expand 10 after
5177 Add(low_id_); 5177 Add(low_id_);
5178 Add(high_id_); 5178 Add(high_id_);
5179 SyncShareAsDelegate(); 5179 SyncShareAsDelegate();
5180 ExpectLocalOrderIsByServerId(); 5180 ExpectLocalOrderIsByServerId();
5181 } 5181 }
5182 5182
5183 const SyncerTest::CommitOrderingTest 5183 const SyncerTest::CommitOrderingTest
5184 SyncerTest::CommitOrderingTest::LAST_COMMIT_ITEM = {-1, TestIdFactory::root()}; 5184 SyncerTest::CommitOrderingTest::LAST_COMMIT_ITEM = {-1, TestIdFactory::root()};
5185 5185
5186 } // namespace browser_sync 5186 } // namespace browser_sync
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698