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

Unified Diff: remoting/host/chromoting_host_unittest.cc

Issue 6266023: Revert "Fix crashes in ChromotingHost" (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « remoting/host/chromoting_host.cc ('k') | remoting/host/screen_recorder.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: remoting/host/chromoting_host_unittest.cc
diff --git a/remoting/host/chromoting_host_unittest.cc b/remoting/host/chromoting_host_unittest.cc
deleted file mode 100644
index 2a90307ca747e8403ffafbccc99a5e5c19d03a9d..0000000000000000000000000000000000000000
--- a/remoting/host/chromoting_host_unittest.cc
+++ /dev/null
@@ -1,172 +0,0 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "base/task.h"
-#include "remoting/host/capturer_fake.h"
-#include "remoting/host/chromoting_host.h"
-#include "remoting/host/chromoting_host_context.h"
-#include "remoting/host/in_memory_host_config.h"
-#include "remoting/proto/video.pb.h"
-#include "remoting/protocol/mock_objects.h"
-#include "remoting/protocol/session_config.h"
-#include "testing/gmock/include/gmock/gmock.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-using testing::_;
-using testing::AnyNumber;
-using testing::DeleteArg;
-using testing::DoAll;
-using testing::InSequence;
-using testing::InvokeWithoutArgs;
-using testing::Return;
-
-namespace remoting {
-
-namespace {
-
-void PostQuitTask(MessageLoop* message_loop) {
- message_loop->PostTask(FROM_HERE, new MessageLoop::QuitTask());
-}
-
-// Run the task and delete it afterwards. This action is used to deal with
-// done callbacks.
-ACTION(RunDoneTask) {
- arg1->Run();
- delete arg1;
-}
-
-ACTION_P(QuitMainMessageLoop, message_loop) {
- PostQuitTask(message_loop);
-}
-
-} // namepace
-
-class ChromotingHostTest : public testing::Test {
- public:
- ChromotingHostTest() {
- }
-
- virtual void SetUp() {
- config_ = new InMemoryHostConfig();
- context_.Start();
- Capturer* capturer = new CapturerFake(context_.main_message_loop());
- input_stub_ = new protocol::MockInputStub();
- host_ = ChromotingHost::Create(&context_, config_, capturer, input_stub_);
- connection_ = new protocol::MockConnectionToClient();
- session_ = new protocol::MockSession();
- session_config_.reset(protocol::SessionConfig::CreateDefault());
-
- ON_CALL(*connection_.get(), video_stub())
- .WillByDefault(Return(&video_stub_));
- ON_CALL(*connection_.get(), session())
- .WillByDefault(Return(session_));
- ON_CALL(*session_.get(), config())
- .WillByDefault(Return(session_config_.get()));
- }
-
- virtual void TearDown() {
- context_.Stop();
- }
-
- // Helper metjod to pretend a client is connected to ChromotingHost.
- void InjectClientConnection() {
- context_.network_message_loop()->PostTask(
- FROM_HERE,
- NewRunnableMethod(host_.get(),
- &ChromotingHost::OnConnectionOpened,
- connection_));
- }
-
- // Helper method to remove a client connection from ChromotongHost.
- void RemoveClientConnection() {
- context_.network_message_loop()->PostTask(
- FROM_HERE,
- NewRunnableMethod(host_.get(),
- &ChromotingHost::OnConnectionClosed,
- connection_));
- }
-
- protected:
- MessageLoop message_loop_;
- scoped_refptr<ChromotingHost> host_;
- scoped_refptr<InMemoryHostConfig> config_;
- ChromotingHostContext context_;
- scoped_refptr<protocol::MockConnectionToClient> connection_;
- scoped_refptr<protocol::MockSession> session_;
- scoped_ptr<protocol::SessionConfig> session_config_;
- protocol::MockVideoStub video_stub_;
- protocol::MockInputStub* input_stub_;
-};
-
-TEST_F(ChromotingHostTest, StartAndShutdown) {
- host_->Start(NewRunnableFunction(&PostQuitTask, &message_loop_));
-
- message_loop_.PostTask(FROM_HERE,
- NewRunnableMethod(host_.get(),
- &ChromotingHost::Shutdown));
- message_loop_.Run();
-}
-
-TEST_F(ChromotingHostTest, Connect) {
- host_->Start(NewRunnableFunction(&PostQuitTask, &message_loop_));
-
- ON_CALL(video_stub_, ProcessVideoPacket(_, _))
- .WillByDefault(
- DoAll(DeleteArg<0>(), DeleteArg<1>()));
-
- // When the video packet is received we first shutdown ChromotingHost
- // then execute the done task.
- InSequence s;
- EXPECT_CALL(video_stub_, ProcessVideoPacket(_, _))
- .WillOnce(DoAll(
- InvokeWithoutArgs(host_.get(), &ChromotingHost::Shutdown),
- RunDoneTask()))
- .RetiresOnSaturation();
- EXPECT_CALL(video_stub_, ProcessVideoPacket(_, _))
- .Times(AnyNumber());
-
- InjectClientConnection();
- message_loop_.Run();
-}
-
-TEST_F(ChromotingHostTest, Reconnect) {
- host_->Start(NewRunnableFunction(&PostQuitTask, &message_loop_));
-
- ON_CALL(video_stub_, ProcessVideoPacket(_, _))
- .WillByDefault(
- DoAll(DeleteArg<0>(), DeleteArg<1>()));
-
- // When the video packet is received we first disconnect the mock
- // connection.
- InSequence s;
- EXPECT_CALL(video_stub_, ProcessVideoPacket(_, _))
- .WillOnce(DoAll(
- InvokeWithoutArgs(this, &ChromotingHostTest::RemoveClientConnection),
- RunDoneTask()))
- .RetiresOnSaturation();
- EXPECT_CALL(video_stub_, ProcessVideoPacket(_, _))
- .Times(AnyNumber());
-
- // If Disconnect() is called we can break the main message loop.
- EXPECT_CALL(*connection_.get(), Disconnect())
- .WillOnce(QuitMainMessageLoop(&message_loop_))
- .RetiresOnSaturation();
-
- InjectClientConnection();
- message_loop_.Run();
-
- // Connect the client again.
- EXPECT_CALL(video_stub_, ProcessVideoPacket(_, _))
- .WillOnce(DoAll(
- InvokeWithoutArgs(host_.get(), &ChromotingHost::Shutdown),
- RunDoneTask()))
- .RetiresOnSaturation();
- EXPECT_CALL(video_stub_, ProcessVideoPacket(_, _))
- .Times(AnyNumber());
-
- InjectClientConnection();
- message_loop_.Run();
-}
-
-} // namespace remoting
« no previous file with comments | « remoting/host/chromoting_host.cc ('k') | remoting/host/screen_recorder.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698