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

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: Address wez feedback 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
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..3212e928fa9b8e5a36bff614d2f5ed705478880a 100644
--- a/blimp/net/stream_packet_writer_unittest.cc
+++ b/blimp/net/stream_packet_writer_unittest.cc
@@ -35,15 +35,13 @@ class StreamPacketWriterTest : public testing::Test {
test_data_str_.size())),
message_writer_(&socket_) {}
- ~StreamPacketWriterTest() override {}
-
protected:
const std::string test_data_str_ = "U WOT M8";
scoped_refptr<net::DrainableIOBuffer> test_data_;
+ base::MessageLoop message_loop_;
MockStreamSocket socket_;
StreamPacketWriter message_writer_;
- base::MessageLoop message_loop_;
testing::InSequence mock_sequence_;
private:
@@ -56,20 +54,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 +92,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 +118,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 +128,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,21 +158,8 @@ 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());
-}
-
-// 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()));
-
- EXPECT_FALSE(writer_cb.have_result());
+ message_writer_.WritePacket(test_data_, writer_cb.callback());
+ EXPECT_EQ(net::OK, writer_cb.WaitForResult());
}
// Sync socket error while writing header data.
@@ -192,9 +170,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 +188,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 +204,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 +227,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);

Powered by Google App Engine
This is Rietveld 408576698