OLD | NEW |
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 "remoting/host/desktop_process.h" | 5 #include "remoting/host/desktop_process.h" |
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/location.h" | 9 #include "base/location.h" |
10 #include "base/memory/ref_counted.h" | 10 #include "base/memory/ref_counted.h" |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
104 void OnDesktopAttached(IPC::PlatformFileForTransit desktop_process); | 104 void OnDesktopAttached(IPC::PlatformFileForTransit desktop_process); |
105 | 105 |
106 // Creates a DesktopEnvironment with a fake media::ScreenCapturer, to mock | 106 // Creates a DesktopEnvironment with a fake media::ScreenCapturer, to mock |
107 // DesktopEnvironmentFactory::Create(). | 107 // DesktopEnvironmentFactory::Create(). |
108 DesktopEnvironment* CreateDesktopEnvironment(); | 108 DesktopEnvironment* CreateDesktopEnvironment(); |
109 | 109 |
110 // Creates a dummy EventExecutor, to mock | 110 // Creates a dummy EventExecutor, to mock |
111 // DesktopEnvironment::CreateEventExecutor(). | 111 // DesktopEnvironment::CreateEventExecutor(). |
112 EventExecutor* CreateEventExecutor(); | 112 EventExecutor* CreateEventExecutor(); |
113 | 113 |
| 114 // Creates a dummy SessionController, to mock |
| 115 // DesktopEnvironment::CreateSessionController(). |
| 116 SessionController* CreateSessionController(); |
| 117 |
114 // Creates a fake media::ScreenCapturer, to mock | 118 // Creates a fake media::ScreenCapturer, to mock |
115 // DesktopEnvironment::CreateVideoCapturer(). | 119 // DesktopEnvironment::CreateVideoCapturer(). |
116 media::ScreenCapturer* CreateVideoCapturer(); | 120 media::ScreenCapturer* CreateVideoCapturer(); |
117 | 121 |
118 // Disconnects the daemon-to-desktop channel causing the desktop process to | 122 // Disconnects the daemon-to-desktop channel causing the desktop process to |
119 // exit. | 123 // exit. |
120 void DisconnectChannels(); | 124 void DisconnectChannels(); |
121 | 125 |
122 // Posts DisconnectChannels() to |message_loop_|. | 126 // Posts DisconnectChannels() to |message_loop_|. |
123 void PostDisconnectChannels(); | 127 void PostDisconnectChannels(); |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
193 } | 197 } |
194 | 198 |
195 DesktopEnvironment* DesktopProcessTest::CreateDesktopEnvironment() { | 199 DesktopEnvironment* DesktopProcessTest::CreateDesktopEnvironment() { |
196 MockDesktopEnvironment* desktop_environment = new MockDesktopEnvironment(); | 200 MockDesktopEnvironment* desktop_environment = new MockDesktopEnvironment(); |
197 EXPECT_CALL(*desktop_environment, CreateAudioCapturerPtr(_)) | 201 EXPECT_CALL(*desktop_environment, CreateAudioCapturerPtr(_)) |
198 .Times(0); | 202 .Times(0); |
199 EXPECT_CALL(*desktop_environment, CreateEventExecutorPtr(_, _)) | 203 EXPECT_CALL(*desktop_environment, CreateEventExecutorPtr(_, _)) |
200 .Times(AnyNumber()) | 204 .Times(AnyNumber()) |
201 .WillRepeatedly( | 205 .WillRepeatedly( |
202 InvokeWithoutArgs(this, &DesktopProcessTest::CreateEventExecutor)); | 206 InvokeWithoutArgs(this, &DesktopProcessTest::CreateEventExecutor)); |
| 207 EXPECT_CALL(*desktop_environment, CreateSessionControllerPtr()) |
| 208 .Times(AnyNumber()) |
| 209 .WillRepeatedly( |
| 210 InvokeWithoutArgs(this, |
| 211 &DesktopProcessTest::CreateSessionController)); |
203 EXPECT_CALL(*desktop_environment, CreateVideoCapturerPtr(_, _)) | 212 EXPECT_CALL(*desktop_environment, CreateVideoCapturerPtr(_, _)) |
204 .Times(AnyNumber()) | 213 .Times(AnyNumber()) |
205 .WillRepeatedly( | 214 .WillRepeatedly( |
206 InvokeWithoutArgs(this, &DesktopProcessTest::CreateVideoCapturer)); | 215 InvokeWithoutArgs(this, &DesktopProcessTest::CreateVideoCapturer)); |
207 | 216 |
208 // Notify the test that the desktop environment has been created. | 217 // Notify the test that the desktop environment has been created. |
209 network_listener_.OnDesktopEnvironmentCreated(); | 218 network_listener_.OnDesktopEnvironmentCreated(); |
210 return desktop_environment; | 219 return desktop_environment; |
211 } | 220 } |
212 | 221 |
213 EventExecutor* DesktopProcessTest::CreateEventExecutor() { | 222 EventExecutor* DesktopProcessTest::CreateEventExecutor() { |
214 MockEventExecutor* event_executor = new MockEventExecutor(); | 223 MockEventExecutor* event_executor = new MockEventExecutor(); |
215 EXPECT_CALL(*event_executor, StartPtr(_)); | 224 EXPECT_CALL(*event_executor, StartPtr(_)); |
216 return event_executor; | 225 return event_executor; |
217 } | 226 } |
218 | 227 |
| 228 SessionController* DesktopProcessTest::CreateSessionController() { |
| 229 return new MockSessionController(); |
| 230 } |
| 231 |
219 media::ScreenCapturer* DesktopProcessTest::CreateVideoCapturer() { | 232 media::ScreenCapturer* DesktopProcessTest::CreateVideoCapturer() { |
220 return new media::ScreenCapturerFake(); | 233 return new media::ScreenCapturerFake(); |
221 } | 234 } |
222 | 235 |
223 void DesktopProcessTest::DisconnectChannels() { | 236 void DesktopProcessTest::DisconnectChannels() { |
224 daemon_channel_.reset(); | 237 daemon_channel_.reset(); |
225 network_channel_.reset(); | 238 network_channel_.reset(); |
226 io_task_runner_ = NULL; | 239 io_task_runner_ = NULL; |
227 } | 240 } |
228 | 241 |
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
341 } | 354 } |
342 | 355 |
343 // Run the desktop process and ask it to crash. | 356 // Run the desktop process and ask it to crash. |
344 TEST_F(DesktopProcessTest, DeathTest) { | 357 TEST_F(DesktopProcessTest, DeathTest) { |
345 testing::GTEST_FLAG(death_test_style) = "threadsafe"; | 358 testing::GTEST_FLAG(death_test_style) = "threadsafe"; |
346 | 359 |
347 EXPECT_DEATH(RunDeathTest(), ""); | 360 EXPECT_DEATH(RunDeathTest(), ""); |
348 } | 361 } |
349 | 362 |
350 } // namespace remoting | 363 } // namespace remoting |
OLD | NEW |