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

Side by Side Diff: components/sync/driver/glue/sync_backend_registrar_unittest.cc

Issue 2481313002: [Sync] Move sync thread ownership to ProfileSyncService. (Closed)
Patch Set: Address comments. Created 4 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
« no previous file with comments | « components/sync/driver/glue/sync_backend_registrar.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 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 "components/sync/driver/glue/sync_backend_registrar.h" 5 #include "components/sync/driver/glue/sync_backend_registrar.h"
6 6
7 #include <memory> 7 #include <memory>
8 8
9 #include "base/location.h" 9 #include "base/location.h"
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 registrar_->ActivateDataType(AUTOFILL, GROUP_DB, processor, 73 registrar_->ActivateDataType(AUTOFILL, GROUP_DB, processor,
74 test_user_share_.user_share()); 74 test_user_share_.user_share());
75 ExpectRoutingInfo(registrar_.get(), {{AUTOFILL, GROUP_DB}}); 75 ExpectRoutingInfo(registrar_.get(), {{AUTOFILL, GROUP_DB}});
76 ExpectHasProcessorsForTypes(*registrar_, ModelTypeSet(AUTOFILL)); 76 ExpectHasProcessorsForTypes(*registrar_, ModelTypeSet(AUTOFILL));
77 TriggerChanges(registrar_.get(), AUTOFILL); 77 TriggerChanges(registrar_.get(), AUTOFILL);
78 done->Signal(); 78 done->Signal();
79 } 79 }
80 80
81 protected: 81 protected:
82 SyncBackendRegistrarTest() 82 SyncBackendRegistrarTest()
83 : db_thread_("DBThreadForTest"), file_thread_("FileThreadForTest") {} 83 : db_thread_("DBThreadForTest"),
84 file_thread_("FileThreadForTest"),
85 sync_thread_("SyncThreadForTest") {}
84 86
85 ~SyncBackendRegistrarTest() override {} 87 ~SyncBackendRegistrarTest() override {}
86 88
87 void SetUp() override { 89 void SetUp() override {
88 db_thread_.StartAndWaitForTesting(); 90 db_thread_.StartAndWaitForTesting();
89 file_thread_.StartAndWaitForTesting(); 91 file_thread_.StartAndWaitForTesting();
92 sync_thread_.StartAndWaitForTesting();
90 test_user_share_.SetUp(); 93 test_user_share_.SetUp();
91 sync_client_ = base::MakeUnique<RegistrarSyncClient>( 94 sync_client_ = base::MakeUnique<RegistrarSyncClient>(
92 ui_task_runner(), db_task_runner(), file_task_runner()); 95 ui_task_runner(), db_task_runner(), file_task_runner());
93 registrar_ = base::MakeUnique<SyncBackendRegistrar>( 96 registrar_ = base::MakeUnique<SyncBackendRegistrar>(
94 "test", sync_client_.get(), std::unique_ptr<base::Thread>(), 97 "test", sync_client_.get(), ui_task_runner(), db_task_runner(),
95 ui_task_runner(), db_task_runner(), file_task_runner()); 98 file_task_runner());
96 } 99 }
97 100
98 void TearDown() override { 101 void TearDown() override {
99 registrar_->RequestWorkerStopOnUIThread(); 102 registrar_->RequestWorkerStopOnUIThread();
100 test_user_share_.TearDown(); 103 test_user_share_.TearDown();
101 { 104 sync_thread_.task_runner()->DeleteSoon(FROM_HERE, registrar_.release());
102 std::unique_ptr<base::Thread> released_sync_thread = 105 sync_thread_.FlushForTesting();
103 registrar_->ReleaseSyncThread();
104 released_sync_thread->task_runner()->DeleteSoon(FROM_HERE,
105 registrar_.release());
106 // |released_sync_thread| is joined at the end of this scope.
107 }
108 base::RunLoop().RunUntilIdle();
109 } 106 }
110 107
111 void ExpectRoutingInfo(SyncBackendRegistrar* registrar, 108 void ExpectRoutingInfo(SyncBackendRegistrar* registrar,
112 const ModelSafeRoutingInfo& expected_routing_info) { 109 const ModelSafeRoutingInfo& expected_routing_info) {
113 ModelSafeRoutingInfo actual_routing_info; 110 ModelSafeRoutingInfo actual_routing_info;
114 registrar->GetModelSafeRoutingInfo(&actual_routing_info); 111 registrar->GetModelSafeRoutingInfo(&actual_routing_info);
115 EXPECT_EQ(expected_routing_info, actual_routing_info); 112 EXPECT_EQ(expected_routing_info, actual_routing_info);
116 } 113 }
117 114
118 void ExpectHasProcessorsForTypes(const SyncBackendRegistrar& registrar, 115 void ExpectHasProcessorsForTypes(const SyncBackendRegistrar& registrar,
(...skipping 19 matching lines...) Expand all
138 return db_thread_.task_runner(); 135 return db_thread_.task_runner();
139 } 136 }
140 137
141 const scoped_refptr<base::SingleThreadTaskRunner> file_task_runner() { 138 const scoped_refptr<base::SingleThreadTaskRunner> file_task_runner() {
142 return db_thread_.task_runner(); 139 return db_thread_.task_runner();
143 } 140 }
144 141
145 base::MessageLoop message_loop_; 142 base::MessageLoop message_loop_;
146 base::Thread db_thread_; 143 base::Thread db_thread_;
147 base::Thread file_thread_; 144 base::Thread file_thread_;
145 base::Thread sync_thread_;
148 146
149 TestUserShare test_user_share_; 147 TestUserShare test_user_share_;
150 std::unique_ptr<RegistrarSyncClient> sync_client_; 148 std::unique_ptr<RegistrarSyncClient> sync_client_;
151 std::unique_ptr<SyncBackendRegistrar> registrar_; 149 std::unique_ptr<SyncBackendRegistrar> registrar_;
152 }; 150 };
153 151
154 TEST_F(SyncBackendRegistrarTest, ConstructorEmpty) { 152 TEST_F(SyncBackendRegistrarTest, ConstructorEmpty) {
155 registrar_->SetInitialTypes(ModelTypeSet()); 153 registrar_->SetInitialTypes(ModelTypeSet());
156 EXPECT_FALSE(registrar_->IsNigoriEnabled()); 154 EXPECT_FALSE(registrar_->IsNigoriEnabled());
157 EXPECT_EQ(4u, GetWorkersSize()); 155 EXPECT_EQ(4u, GetWorkersSize());
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
299 registrar_->ConfigureDataTypes(types_to_add, ModelTypeSet()); 297 registrar_->ConfigureDataTypes(types_to_add, ModelTypeSet());
300 EXPECT_EQ(ModelTypeSet(BOOKMARKS), newly_added_types); 298 EXPECT_EQ(ModelTypeSet(BOOKMARKS), newly_added_types);
301 EXPECT_EQ(types_to_add, registrar_->GetLastConfiguredTypes()); 299 EXPECT_EQ(types_to_add, registrar_->GetLastConfiguredTypes());
302 ExpectRoutingInfo(registrar_.get(), {{AUTOFILL, GROUP_NON_BLOCKING}, 300 ExpectRoutingInfo(registrar_.get(), {{AUTOFILL, GROUP_NON_BLOCKING},
303 {BOOKMARKS, GROUP_NON_BLOCKING}}); 301 {BOOKMARKS, GROUP_NON_BLOCKING}});
304 } 302 }
305 303
306 } // namespace 304 } // namespace
307 305
308 } // namespace syncer 306 } // namespace syncer
OLDNEW
« no previous file with comments | « components/sync/driver/glue/sync_backend_registrar.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698