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

Side by Side Diff: chrome/browser/sync/profile_sync_service_session_unittest.cc

Issue 9978017: [Sync] - Upload the callstacks for errors so that the line number of error is in callstack. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: For review. Created 8 years, 8 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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 <map> 5 #include <map>
6 #include <string> 6 #include <string>
7 7
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/bind_helpers.h" 9 #include "base/bind_helpers.h"
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 1008 matching lines...) Expand 10 before | Expand all | Expand 10 after
1019 TEST_F(ProfileSyncServiceSessionTest, MissingHeaderAndTab) { 1019 TEST_F(ProfileSyncServiceSessionTest, MissingHeaderAndTab) {
1020 AddTab(browser(), GURL("http://foo1")); 1020 AddTab(browser(), GURL("http://foo1"));
1021 NavigateAndCommitActiveTab(GURL("http://foo2")); 1021 NavigateAndCommitActiveTab(GURL("http://foo2"));
1022 AddTab(browser(), GURL("http://bar1")); 1022 AddTab(browser(), GURL("http://bar1"));
1023 NavigateAndCommitActiveTab(GURL("http://bar2")); 1023 NavigateAndCommitActiveTab(GURL("http://bar2"));
1024 CreateRootHelper create_root(this); 1024 CreateRootHelper create_root(this);
1025 ASSERT_TRUE(StartSyncService(create_root.callback(), false)); 1025 ASSERT_TRUE(StartSyncService(create_root.callback(), false));
1026 SyncError error; 1026 SyncError error;
1027 std::string local_tag = model_associator_->GetCurrentMachineTag(); 1027 std::string local_tag = model_associator_->GetCurrentMachineTag();
1028 1028
1029 ASSERT_TRUE(model_associator_->DisassociateModels(&error)); 1029 error = model_associator_->DisassociateModels();
1030 ASSERT_FALSE(error.IsSet());
1030 { 1031 {
1031 // Create a sync node with the local tag but neither header nor tab field. 1032 // Create a sync node with the local tag but neither header nor tab field.
1032 sync_api::WriteTransaction trans(FROM_HERE, sync_service_->GetUserShare()); 1033 sync_api::WriteTransaction trans(FROM_HERE, sync_service_->GetUserShare());
1033 sync_api::ReadNode root(&trans); 1034 sync_api::ReadNode root(&trans);
1034 root.InitByTagLookup(syncable::ModelTypeToRootTag(syncable::SESSIONS)); 1035 root.InitByTagLookup(syncable::ModelTypeToRootTag(syncable::SESSIONS));
1035 sync_api::WriteNode extra_header(&trans); 1036 sync_api::WriteNode extra_header(&trans);
1036 ASSERT_TRUE(extra_header.InitUniqueByCreation(syncable::SESSIONS, 1037 ASSERT_TRUE(extra_header.InitUniqueByCreation(syncable::SESSIONS,
1037 root, "new_tag")); 1038 root, "new_tag"));
1038 sync_pb::SessionSpecifics specifics; 1039 sync_pb::SessionSpecifics specifics;
1039 specifics.set_session_tag(local_tag); 1040 specifics.set_session_tag(local_tag);
1040 extra_header.SetSessionSpecifics(specifics); 1041 extra_header.SetSessionSpecifics(specifics);
1041 } 1042 }
1042 ASSERT_TRUE(model_associator_->AssociateModels(&error)); 1043
1044 error = model_associator_->AssociateModels();
1043 ASSERT_FALSE(error.IsSet()); 1045 ASSERT_FALSE(error.IsSet());
1044 } 1046 }
1045 1047
1046 TEST_F(ProfileSyncServiceSessionTest, MultipleHeaders) { 1048 TEST_F(ProfileSyncServiceSessionTest, MultipleHeaders) {
1047 AddTab(browser(), GURL("http://foo1")); 1049 AddTab(browser(), GURL("http://foo1"));
1048 NavigateAndCommitActiveTab(GURL("http://foo2")); 1050 NavigateAndCommitActiveTab(GURL("http://foo2"));
1049 AddTab(browser(), GURL("http://bar1")); 1051 AddTab(browser(), GURL("http://bar1"));
1050 NavigateAndCommitActiveTab(GURL("http://bar2")); 1052 NavigateAndCommitActiveTab(GURL("http://bar2"));
1051 CreateRootHelper create_root(this); 1053 CreateRootHelper create_root(this);
1052 ASSERT_TRUE(StartSyncService(create_root.callback(), false)); 1054 ASSERT_TRUE(StartSyncService(create_root.callback(), false));
1053 SyncError error; 1055 SyncError error;
1054 std::string local_tag = model_associator_->GetCurrentMachineTag(); 1056 std::string local_tag = model_associator_->GetCurrentMachineTag();
1055 1057
1056 ASSERT_TRUE(model_associator_->DisassociateModels(&error)); 1058 error = model_associator_->DisassociateModels();
1059 ASSERT_FALSE(error.IsSet());
1057 { 1060 {
1058 // Create another sync node with a header field and the local tag. 1061 // Create another sync node with a header field and the local tag.
1059 sync_api::WriteTransaction trans(FROM_HERE, sync_service_->GetUserShare()); 1062 sync_api::WriteTransaction trans(FROM_HERE, sync_service_->GetUserShare());
1060 sync_api::ReadNode root(&trans); 1063 sync_api::ReadNode root(&trans);
1061 root.InitByTagLookup(syncable::ModelTypeToRootTag(syncable::SESSIONS)); 1064 root.InitByTagLookup(syncable::ModelTypeToRootTag(syncable::SESSIONS));
1062 sync_api::WriteNode extra_header(&trans); 1065 sync_api::WriteNode extra_header(&trans);
1063 ASSERT_TRUE(extra_header.InitUniqueByCreation(syncable::SESSIONS, 1066 ASSERT_TRUE(extra_header.InitUniqueByCreation(syncable::SESSIONS,
1064 root, local_tag + "_")); 1067 root, local_tag + "_"));
1065 sync_pb::SessionSpecifics specifics; 1068 sync_pb::SessionSpecifics specifics;
1066 specifics.set_session_tag(local_tag); 1069 specifics.set_session_tag(local_tag);
1067 specifics.mutable_header(); 1070 specifics.mutable_header();
1068 extra_header.SetSessionSpecifics(specifics); 1071 extra_header.SetSessionSpecifics(specifics);
1069 } 1072 }
1070 ASSERT_TRUE(model_associator_->AssociateModels(&error)); 1073 error = model_associator_->AssociateModels();
1071 ASSERT_FALSE(error.IsSet()); 1074 ASSERT_FALSE(error.IsSet());
1072 } 1075 }
1073 1076
1074 TEST_F(ProfileSyncServiceSessionTest, CorruptedForeign) { 1077 TEST_F(ProfileSyncServiceSessionTest, CorruptedForeign) {
1075 AddTab(browser(), GURL("http://foo1")); 1078 AddTab(browser(), GURL("http://foo1"));
1076 NavigateAndCommitActiveTab(GURL("http://foo2")); 1079 NavigateAndCommitActiveTab(GURL("http://foo2"));
1077 AddTab(browser(), GURL("http://bar1")); 1080 AddTab(browser(), GURL("http://bar1"));
1078 NavigateAndCommitActiveTab(GURL("http://bar2")); 1081 NavigateAndCommitActiveTab(GURL("http://bar2"));
1079 CreateRootHelper create_root(this); 1082 CreateRootHelper create_root(this);
1080 ASSERT_TRUE(StartSyncService(create_root.callback(), false)); 1083 ASSERT_TRUE(StartSyncService(create_root.callback(), false));
1081 SyncError error; 1084 SyncError error;
1082 1085
1083 ASSERT_TRUE(model_associator_->DisassociateModels(&error)); 1086 error = model_associator_->DisassociateModels();
1087 ASSERT_FALSE(error.IsSet());
1084 { 1088 {
1085 // Create another sync node with neither header nor tab field and a foreign 1089 // Create another sync node with neither header nor tab field and a foreign
1086 // tag. 1090 // tag.
1087 std::string foreign_tag = "foreign_tag"; 1091 std::string foreign_tag = "foreign_tag";
1088 sync_api::WriteTransaction trans(FROM_HERE, sync_service_->GetUserShare()); 1092 sync_api::WriteTransaction trans(FROM_HERE, sync_service_->GetUserShare());
1089 sync_api::ReadNode root(&trans); 1093 sync_api::ReadNode root(&trans);
1090 root.InitByTagLookup(syncable::ModelTypeToRootTag(syncable::SESSIONS)); 1094 root.InitByTagLookup(syncable::ModelTypeToRootTag(syncable::SESSIONS));
1091 sync_api::WriteNode extra_header(&trans); 1095 sync_api::WriteNode extra_header(&trans);
1092 ASSERT_TRUE(extra_header.InitUniqueByCreation(syncable::SESSIONS, 1096 ASSERT_TRUE(extra_header.InitUniqueByCreation(syncable::SESSIONS,
1093 root, foreign_tag)); 1097 root, foreign_tag));
1094 sync_pb::SessionSpecifics specifics; 1098 sync_pb::SessionSpecifics specifics;
1095 specifics.set_session_tag(foreign_tag); 1099 specifics.set_session_tag(foreign_tag);
1096 extra_header.SetSessionSpecifics(specifics); 1100 extra_header.SetSessionSpecifics(specifics);
1097 } 1101 }
1098 ASSERT_TRUE(model_associator_->AssociateModels(&error)); 1102 error = model_associator_->AssociateModels();
1099 ASSERT_FALSE(error.IsSet()); 1103 ASSERT_FALSE(error.IsSet());
1100 } 1104 }
1101 1105
1102 } // namespace browser_sync 1106 } // namespace browser_sync
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698