Index: session_manager_unittest.cc |
diff --git a/session_manager_unittest.cc b/session_manager_unittest.cc |
index 0dd20d56bb2e9c4d95b51c1341f711398e638a46..a21a2b335f257c0b2880f41f18d6760817461af6 100644 |
--- a/session_manager_unittest.cc |
+++ b/session_manager_unittest.cc |
@@ -77,6 +77,21 @@ TEST(SessionManagerTest, CleanExitChild) { |
manager.Run(); |
} |
+TEST(SessionManagerTest, MustStopChild) { |
+ MockChildJob *job = new MockChildJob; |
+ login_manager::SessionManagerService manager(job); // manager takes ownership |
+ |
+ EXPECT_CALL(*job, ShouldRun()) |
+ .WillOnce(Return(true)); |
+ EXPECT_CALL(*job, ShouldStop()) |
+ .Times(1) |
+ .WillOnce(Return(true)); |
+ ON_CALL(*job, Run()) |
+ .WillByDefault(Invoke(BadExit)); |
+ |
+ manager.Run(); |
+} |
+ |
TEST(SessionManagerTest, MultiRunTest) { |
MockChildJob* job = new MockChildJob; |
login_manager::SessionManagerService manager(job); // manager takes ownership |