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

Side by Side Diff: remoting/base/buffered_socket_writer_unittest.cc

Issue 1197853003: Add P2PDatagramSocket and P2PStreamSocket interfaces. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 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 | « remoting/base/buffered_socket_writer.cc ('k') | remoting/client/key_event_mapper_unittest.cc » ('j') | 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 "remoting/base/buffered_socket_writer.h" 5 #include "remoting/base/buffered_socket_writer.h"
6 6
7 #include <stdlib.h> 7 #include <stdlib.h>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
11 #include "base/run_loop.h" 11 #include "base/run_loop.h"
12 #include "net/base/io_buffer.h" 12 #include "net/base/io_buffer.h"
13 #include "net/base/net_errors.h" 13 #include "net/base/net_errors.h"
14 #include "net/socket/socket_test_util.h" 14 #include "net/socket/socket_test_util.h"
15 #include "testing/gmock/include/gmock/gmock.h" 15 #include "testing/gmock/include/gmock/gmock.h"
16 #include "testing/gtest/include/gtest/gtest.h" 16 #include "testing/gtest/include/gtest/gtest.h"
17 17
18 namespace remoting { 18 namespace remoting {
19 19
20 namespace { 20 namespace {
21 const int kTestBufferSize = 10 * 1024; // 10k; 21
22 const int kTestBufferSize = 10000;
22 const size_t kWriteChunkSize = 1024U; 23 const size_t kWriteChunkSize = 1024U;
23 24
24 class SocketDataProvider: public net::SocketDataProvider { 25 class SocketDataProvider: public net::SocketDataProvider {
25 public: 26 public:
26 SocketDataProvider() 27 SocketDataProvider()
27 : write_limit_(-1), async_write_(false), next_write_error_(net::OK) {} 28 : write_limit_(-1), async_write_(false), next_write_error_(net::OK) {}
28 29
29 net::MockRead OnRead() override { 30 net::MockRead OnRead() override {
30 return net::MockRead(net::ASYNC, net::ERR_IO_PENDING); 31 return net::MockRead(net::ASYNC, net::ERR_IO_PENDING);
31 } 32 }
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
86 } 87 }
87 88
88 protected: 89 protected:
89 void SetUp() override { 90 void SetUp() override {
90 socket_.reset(new net::MockTCPClientSocket(net::AddressList(), &net_log_, 91 socket_.reset(new net::MockTCPClientSocket(net::AddressList(), &net_log_,
91 &socket_data_provider_)); 92 &socket_data_provider_));
92 socket_data_provider_.set_connect_data( 93 socket_data_provider_.set_connect_data(
93 net::MockConnect(net::SYNCHRONOUS, net::OK)); 94 net::MockConnect(net::SYNCHRONOUS, net::OK));
94 EXPECT_EQ(net::OK, socket_->Connect(net::CompletionCallback())); 95 EXPECT_EQ(net::OK, socket_->Connect(net::CompletionCallback()));
95 96
96 writer_.reset(new BufferedSocketWriter()); 97 writer_ = BufferedSocketWriter::CreateForSocket(
97 writer_->Init(socket_.get(), base::Bind( 98 socket_.get(), base::Bind(&BufferedSocketWriterTest::OnWriteFailed,
98 &BufferedSocketWriterTest::OnWriteFailed, base::Unretained(this))); 99 base::Unretained(this)));
99 test_buffer_ = new net::IOBufferWithSize(kTestBufferSize); 100 test_buffer_ = new net::IOBufferWithSize(kTestBufferSize);
100 test_buffer_2_ = new net::IOBufferWithSize(kTestBufferSize); 101 test_buffer_2_ = new net::IOBufferWithSize(kTestBufferSize);
101 for (int i = 0; i< kTestBufferSize; ++i) { 102 for (int i = 0; i< kTestBufferSize; ++i) {
102 test_buffer_->data()[i] = rand() % 256; 103 test_buffer_->data()[i] = rand() % 256;
103 test_buffer_2_->data()[i] = rand() % 256; 104 test_buffer_2_->data()[i] = rand() % 256;
104 } 105 }
105 } 106 }
106 107
107 void OnWriteFailed(int error) { 108 void OnWriteFailed(int error) {
108 write_error_ = error; 109 write_error_ = error;
(...skipping 10 matching lines...) Expand all
119 socket_data_provider_.written_data().data(), 120 socket_data_provider_.written_data().data(),
120 test_buffer_->size())); 121 test_buffer_->size()));
121 EXPECT_EQ(0, memcmp(test_buffer_2_->data(), 122 EXPECT_EQ(0, memcmp(test_buffer_2_->data(),
122 socket_data_provider_.written_data().data() + 123 socket_data_provider_.written_data().data() +
123 test_buffer_->size(), 124 test_buffer_->size(),
124 test_buffer_2_->size())); 125 test_buffer_2_->size()));
125 } 126 }
126 127
127 void TestAppendInCallback() { 128 void TestAppendInCallback() {
128 writer_->Write(test_buffer_, base::Bind( 129 writer_->Write(test_buffer_, base::Bind(
129 base::IgnoreResult(&BufferedSocketWriterBase::Write), 130 base::IgnoreResult(&BufferedSocketWriter::Write),
130 base::Unretained(writer_.get()), test_buffer_2_, 131 base::Unretained(writer_.get()), test_buffer_2_,
131 base::Closure())); 132 base::Closure()));
132 base::RunLoop().RunUntilIdle(); 133 base::RunLoop().RunUntilIdle();
133 ASSERT_EQ(static_cast<size_t>(test_buffer_->size() + 134 ASSERT_EQ(static_cast<size_t>(test_buffer_->size() +
134 test_buffer_2_->size()), 135 test_buffer_2_->size()),
135 socket_data_provider_.written_data().size()); 136 socket_data_provider_.written_data().size());
136 EXPECT_EQ(0, memcmp(test_buffer_->data(), 137 EXPECT_EQ(0, memcmp(test_buffer_->data(),
137 socket_data_provider_.written_data().data(), 138 socket_data_provider_.written_data().data(),
138 test_buffer_->size())); 139 test_buffer_->size()));
139 EXPECT_EQ(0, memcmp(test_buffer_2_->data(), 140 EXPECT_EQ(0, memcmp(test_buffer_2_->data(),
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
225 writer_->Write(test_buffer_2_, 226 writer_->Write(test_buffer_2_,
226 base::Bind(&BufferedSocketWriterTest::Unexpected, 227 base::Bind(&BufferedSocketWriterTest::Unexpected,
227 base::Unretained(this))); 228 base::Unretained(this)));
228 base::RunLoop().RunUntilIdle(); 229 base::RunLoop().RunUntilIdle();
229 EXPECT_EQ(net::ERR_FAILED, write_error_); 230 EXPECT_EQ(net::ERR_FAILED, write_error_);
230 EXPECT_EQ(static_cast<size_t>(test_buffer_->size()), 231 EXPECT_EQ(static_cast<size_t>(test_buffer_->size()),
231 socket_data_provider_.written_data().size()); 232 socket_data_provider_.written_data().size());
232 } 233 }
233 234
234 } // namespace remoting 235 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/base/buffered_socket_writer.cc ('k') | remoting/client/key_event_mapper_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698