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

Unified Diff: blimp/net/stream_packet_writer_unittest.cc

Issue 1452823011: Make PacketReader/PacketWriter interfaces async-only. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Resync Created 5 years, 1 month 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
« blimp/net/stream_packet_writer.cc ('K') | « blimp/net/stream_packet_writer.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: blimp/net/stream_packet_writer_unittest.cc
diff --git a/blimp/net/stream_packet_writer_unittest.cc b/blimp/net/stream_packet_writer_unittest.cc
index c8014f9481f8bcc3ddc3c3ec7220e5f89a7bb04d..302647ef47facf036513f0ad49c29888c66abe7a 100644
--- a/blimp/net/stream_packet_writer_unittest.cc
+++ b/blimp/net/stream_packet_writer_unittest.cc
@@ -41,9 +41,9 @@ class StreamPacketWriterTest : public testing::Test {
const std::string test_data_str_ = "U WOT M8";
Wez 2015/11/24 23:43:18 Is it actually permitted to inline-initialize a no
Kevin M 2015/11/25 01:18:37 There aren't any prohibitions against non-POD type
scoped_refptr<net::DrainableIOBuffer> test_data_;
+ base::MessageLoop message_loop_;
Wez 2015/11/24 23:43:18 Where is this being used?
Kevin M 2015/11/25 01:18:37 Ditto for reader - it's used as the threadlocal Me
MockStreamSocket socket_;
StreamPacketWriter message_writer_;
- base::MessageLoop message_loop_;
testing::InSequence mock_sequence_;
private:
@@ -56,20 +56,14 @@ TEST_F(StreamPacketWriterTest, TestWriteAsync) {
net::CompletionCallback header_cb;
net::CompletionCallback payload_cb;
- // Write header.
EXPECT_CALL(socket_, Write(BufferEquals(EncodeHeader(test_data_str_.size())),
kPacketHeaderSizeBytes, _))
.WillOnce(DoAll(SaveArg<2>(&header_cb), Return(net::ERR_IO_PENDING)));
- EXPECT_EQ(net::ERR_IO_PENDING,
- message_writer_.WritePacket(test_data_, writer_cb.callback()));
- Mock::VerifyAndClearExpectations(&socket_);
-
- // Write payload.
+ message_writer_.WritePacket(test_data_, writer_cb.callback());
EXPECT_CALL(socket_,
Write(BufferEquals(test_data_str_), test_data_str_.size(), _))
.WillOnce(DoAll(SaveArg<2>(&payload_cb), Return(net::ERR_IO_PENDING)));
header_cb.Run(kPacketHeaderSizeBytes);
- Mock::VerifyAndClearExpectations(&socket_);
payload_cb.Run(test_data_str_.size());
EXPECT_EQ(net::OK, writer_cb.WaitForResult());
@@ -100,8 +94,7 @@ TEST_F(StreamPacketWriterTest, TestPartialWriteAsync) {
.WillOnce(DoAll(SaveArg<2>(&payload_cb), Return(net::ERR_IO_PENDING)))
.RetiresOnSaturation();
- EXPECT_EQ(net::ERR_IO_PENDING,
- message_writer_.WritePacket(test_data_, writer_cb.callback()));
+ message_writer_.WritePacket(test_data_, writer_cb.callback());
// Header is written - first one byte, then the remainder.
header_cb.Run(1);
@@ -127,8 +120,7 @@ TEST_F(StreamPacketWriterTest, TestWriteErrorAsync) {
Write(BufferEquals(test_data_str_), test_data_str_.size(), _))
.WillOnce(DoAll(SaveArg<2>(&payload_cb), Return(net::ERR_IO_PENDING)));
- EXPECT_EQ(net::ERR_IO_PENDING,
- message_writer_.WritePacket(test_data_, writer_cb.callback()));
+ message_writer_.WritePacket(test_data_, writer_cb.callback());
header_cb.Run(kPacketHeaderSizeBytes);
payload_cb.Run(net::ERR_CONNECTION_RESET);
@@ -138,15 +130,16 @@ TEST_F(StreamPacketWriterTest, TestWriteErrorAsync) {
// Successful write with 1 sync header write and 1 sync payload write.
TEST_F(StreamPacketWriterTest, TestWriteSync) {
net::TestCompletionCallback writer_cb;
+
EXPECT_CALL(socket_, Write(BufferEquals(EncodeHeader(test_data_str_.size())),
kPacketHeaderSizeBytes, _))
.WillOnce(Return(kPacketHeaderSizeBytes));
EXPECT_CALL(socket_,
Write(BufferEquals(test_data_str_), test_data_str_.size(), _))
.WillOnce(Return(test_data_str_.size()));
- EXPECT_EQ(net::OK,
- message_writer_.WritePacket(test_data_, writer_cb.callback()));
- EXPECT_FALSE(writer_cb.have_result());
+
+ message_writer_.WritePacket(test_data_, writer_cb.callback());
+ EXPECT_EQ(net::OK, writer_cb.WaitForResult());
}
// Successful write with 2 sync header writes and 2 sync payload writes.
@@ -167,20 +160,19 @@ TEST_F(StreamPacketWriterTest, TestPartialWriteSync) {
payload.size() - 1, _))
.WillOnce(Return(payload.size() - 1));
- EXPECT_EQ(net::OK,
- message_writer_.WritePacket(test_data_, writer_cb.callback()));
- EXPECT_FALSE(writer_cb.have_result());
+ message_writer_.WritePacket(test_data_, writer_cb.callback());
+ EXPECT_EQ(net::OK, writer_cb.WaitForResult());
}
// Verify that zero-length packets are rejected.
TEST_F(StreamPacketWriterTest, TestZeroLengthPacketsRejected) {
net::TestCompletionCallback writer_cb;
- EXPECT_EQ(net::ERR_INVALID_ARGUMENT,
- message_writer_.WritePacket(
- new net::DrainableIOBuffer(new net::IOBuffer(0), 0),
- writer_cb.callback()));
+ message_writer_.WritePacket(
+ new net::DrainableIOBuffer(new net::IOBuffer(0), 0),
+ writer_cb.callback());
+ EXPECT_EQ(net::ERR_INVALID_ARGUMENT, writer_cb.WaitForResult());
EXPECT_FALSE(writer_cb.have_result());
}
@@ -192,9 +184,8 @@ TEST_F(StreamPacketWriterTest, TestWriteHeaderErrorSync) {
kPacketHeaderSizeBytes, _))
.WillOnce(Return(net::ERR_FAILED));
- EXPECT_EQ(net::ERR_FAILED,
- message_writer_.WritePacket(test_data_, writer_cb.callback()));
-
+ message_writer_.WritePacket(test_data_, writer_cb.callback());
+ EXPECT_EQ(net::ERR_FAILED, writer_cb.WaitForResult());
EXPECT_EQ(net::ERR_EMPTY_RESPONSE,
writer_cb.GetResult(net::ERR_EMPTY_RESPONSE));
EXPECT_FALSE(writer_cb.have_result());
@@ -211,9 +202,8 @@ TEST_F(StreamPacketWriterTest, TestWritePayloadErrorSync) {
Write(BufferEquals(test_data_str_), test_data_str_.size(), _))
.WillOnce(Return(net::ERR_FAILED));
- EXPECT_EQ(net::ERR_FAILED,
- message_writer_.WritePacket(test_data_, writer_cb.callback()));
- EXPECT_FALSE(writer_cb.have_result());
+ message_writer_.WritePacket(test_data_, writer_cb.callback());
+ EXPECT_EQ(net::ERR_FAILED, writer_cb.WaitForResult());
}
// Verify that asynchronous header write completions don't cause a
@@ -228,8 +218,7 @@ TEST_F(StreamPacketWriterTest, DeletedDuringHeaderWrite) {
EXPECT_CALL(socket_, Write(BufferEquals(EncodeHeader(test_data_str_.size())),
kPacketHeaderSizeBytes, _))
.WillOnce(DoAll(SaveArg<2>(&header_cb), Return(net::ERR_IO_PENDING)));
- EXPECT_EQ(net::ERR_IO_PENDING,
- writer->WritePacket(test_data_, writer_cb.callback()));
+ writer->WritePacket(test_data_, writer_cb.callback());
Mock::VerifyAndClearExpectations(&socket_);
// Header write completion callback is invoked after the writer died.
@@ -252,8 +241,7 @@ TEST_F(StreamPacketWriterTest, DeletedDuringPayloadWrite) {
Write(BufferEquals(test_data_str_), test_data_str_.size(), _))
.WillOnce(DoAll(SaveArg<2>(&payload_cb), Return(net::ERR_IO_PENDING)));
- EXPECT_EQ(net::ERR_IO_PENDING,
- writer->WritePacket(test_data_, writer_cb.callback()));
+ writer->WritePacket(test_data_, writer_cb.callback());
// Header write completes successfully.
header_cb.Run(kPacketHeaderSizeBytes);
« blimp/net/stream_packet_writer.cc ('K') | « blimp/net/stream_packet_writer.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698