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

Side by Side Diff: components/arc/arc_bridge_service_unittest.cc

Issue 2582003002: Refactor ArcBridgeServiceImpl part 1. (Closed)
Patch Set: Fix the latest bug. Created 3 years, 12 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
« no previous file with comments | « components/arc/arc_bridge_service_impl.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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 <memory> 5 #include <memory>
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/callback_helpers.h" 9 #include "base/callback_helpers.h"
10 #include "base/macros.h" 10 #include "base/macros.h"
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 StopReason::GENERIC_BOOT_FAILURE)); 148 StopReason::GENERIC_BOOT_FAILURE));
149 EXPECT_TRUE(arc_bridge_service()->stopped()); 149 EXPECT_TRUE(arc_bridge_service()->stopped());
150 150
151 arc_bridge_service()->RequestStart(); 151 arc_bridge_service()->RequestStart();
152 EXPECT_EQ(StopReason::GENERIC_BOOT_FAILURE, stop_reason()); 152 EXPECT_EQ(StopReason::GENERIC_BOOT_FAILURE, stop_reason());
153 EXPECT_TRUE(arc_bridge_service()->stopped()); 153 EXPECT_TRUE(arc_bridge_service()->stopped());
154 } 154 }
155 155
156 // If the instance is stopped, it should be re-started. 156 // If the instance is stopped, it should be re-started.
157 TEST_F(ArcBridgeTest, Restart) { 157 TEST_F(ArcBridgeTest, Restart) {
158 arc_bridge_service()->DisableReconnectDelayForTesting(); 158 arc_bridge_service()->SetRestartDelayForTesting(base::TimeDelta());
159 EXPECT_TRUE(arc_bridge_service()->stopped()); 159 EXPECT_TRUE(arc_bridge_service()->stopped());
160 160
161 arc_bridge_service()->RequestStart(); 161 arc_bridge_service()->RequestStart();
162 EXPECT_TRUE(arc_bridge_service()->ready()); 162 EXPECT_TRUE(arc_bridge_service()->ready());
163 163
164 // Simulate a connection loss. 164 // Simulate a connection loss.
165 ASSERT_TRUE(arc_session()); 165 ASSERT_TRUE(arc_session());
166 arc_session()->StopWithReason(StopReason::CRASH); 166 arc_session()->StopWithReason(StopReason::CRASH);
167 EXPECT_TRUE(arc_bridge_service()->stopped());
168 base::RunLoop().RunUntilIdle();
167 EXPECT_TRUE(arc_bridge_service()->ready()); 169 EXPECT_TRUE(arc_bridge_service()->ready());
168 170
169 arc_bridge_service()->RequestStop(); 171 arc_bridge_service()->RequestStop();
170 EXPECT_TRUE(arc_bridge_service()->stopped()); 172 EXPECT_TRUE(arc_bridge_service()->stopped());
171 } 173 }
172 174
173 // Makes sure OnSessionStopped is called on stop. 175 // Makes sure OnSessionStopped is called on stop.
174 TEST_F(ArcBridgeTest, OnSessionStopped) { 176 TEST_F(ArcBridgeTest, OnSessionStopped) {
175 arc_bridge_service()->DisableReconnectDelayForTesting(); 177 arc_bridge_service()->SetRestartDelayForTesting(base::TimeDelta());
176 EXPECT_TRUE(arc_bridge_service()->stopped()); 178 EXPECT_TRUE(arc_bridge_service()->stopped());
177 179
178 arc_bridge_service()->RequestStart(); 180 arc_bridge_service()->RequestStart();
179 EXPECT_TRUE(arc_bridge_service()->ready()); 181 EXPECT_TRUE(arc_bridge_service()->ready());
180 182
181 // Simulate boot failure. 183 // Simulate boot failure.
182 ASSERT_TRUE(arc_session()); 184 ASSERT_TRUE(arc_session());
183 arc_session()->StopWithReason(StopReason::GENERIC_BOOT_FAILURE); 185 arc_session()->StopWithReason(StopReason::GENERIC_BOOT_FAILURE);
184 EXPECT_EQ(StopReason::GENERIC_BOOT_FAILURE, stop_reason()); 186 EXPECT_EQ(StopReason::GENERIC_BOOT_FAILURE, stop_reason());
187 EXPECT_TRUE(arc_bridge_service()->stopped());
188 base::RunLoop().RunUntilIdle();
185 EXPECT_TRUE(arc_bridge_service()->ready()); 189 EXPECT_TRUE(arc_bridge_service()->ready());
186 190
187 // Simulate crash. 191 // Simulate crash.
188 ASSERT_TRUE(arc_session()); 192 ASSERT_TRUE(arc_session());
189 arc_session()->StopWithReason(StopReason::CRASH); 193 arc_session()->StopWithReason(StopReason::CRASH);
190 EXPECT_EQ(StopReason::CRASH, stop_reason()); 194 EXPECT_EQ(StopReason::CRASH, stop_reason());
195 EXPECT_TRUE(arc_bridge_service()->stopped());
196 base::RunLoop().RunUntilIdle();
191 EXPECT_TRUE(arc_bridge_service()->ready()); 197 EXPECT_TRUE(arc_bridge_service()->ready());
192 198
193 // Graceful stop. 199 // Graceful stop.
194 arc_bridge_service()->RequestStop(); 200 arc_bridge_service()->RequestStop();
195 EXPECT_EQ(StopReason::SHUTDOWN, stop_reason()); 201 EXPECT_EQ(StopReason::SHUTDOWN, stop_reason());
196 EXPECT_TRUE(arc_bridge_service()->stopped()); 202 EXPECT_TRUE(arc_bridge_service()->stopped());
197 } 203 }
198 204
199 TEST_F(ArcBridgeTest, Shutdown) { 205 TEST_F(ArcBridgeTest, Shutdown) {
200 arc_bridge_service()->DisableReconnectDelayForTesting(); 206 arc_bridge_service()->SetRestartDelayForTesting(base::TimeDelta());
201 EXPECT_TRUE(arc_bridge_service()->stopped()); 207 EXPECT_TRUE(arc_bridge_service()->stopped());
202 208
203 arc_bridge_service()->RequestStart(); 209 arc_bridge_service()->RequestStart();
204 EXPECT_TRUE(arc_bridge_service()->ready()); 210 EXPECT_TRUE(arc_bridge_service()->ready());
205 211
206 // Simulate shutdown. 212 // Simulate shutdown.
207 arc_bridge_service()->OnShutdown(); 213 arc_bridge_service()->OnShutdown();
208 EXPECT_EQ(StopReason::SHUTDOWN, stop_reason()); 214 EXPECT_EQ(StopReason::SHUTDOWN, stop_reason());
209 EXPECT_TRUE(arc_bridge_service()->stopped()); 215 EXPECT_TRUE(arc_bridge_service()->stopped());
210 } 216 }
(...skipping 11 matching lines...) Expand all
222 228
223 // Removing an unknown observer should be allowed. 229 // Removing an unknown observer should be allowed.
224 TEST_F(ArcBridgeTest, RemoveUnknownObserver) { 230 TEST_F(ArcBridgeTest, RemoveUnknownObserver) {
225 EXPECT_TRUE(arc_bridge_service()->stopped()); 231 EXPECT_TRUE(arc_bridge_service()->stopped());
226 232
227 DummyObserver dummy_observer; 233 DummyObserver dummy_observer;
228 arc_bridge_service()->RemoveObserver(&dummy_observer); 234 arc_bridge_service()->RemoveObserver(&dummy_observer);
229 } 235 }
230 236
231 } // namespace arc 237 } // namespace arc
OLDNEW
« no previous file with comments | « components/arc/arc_bridge_service_impl.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698