| Index: net/spdy/spdy_proxy_client_socket_unittest.cc
|
| diff --git a/net/spdy/spdy_proxy_client_socket_unittest.cc b/net/spdy/spdy_proxy_client_socket_unittest.cc
|
| index 4ec8a4821169796055b0a78d34471ab8794e909b..25be93a82d4aa1430b2dc96245eaf1effcf27eea 100644
|
| --- a/net/spdy/spdy_proxy_client_socket_unittest.cc
|
| +++ b/net/spdy/spdy_proxy_client_socket_unittest.cc
|
| @@ -100,8 +100,9 @@ class SpdyProxyClientSocketTest : public PlatformTest {
|
| }
|
|
|
| scoped_ptr<SpdyProxyClientSocket> sock_;
|
| - TestOldCompletionCallback read_callback_;
|
| - TestOldCompletionCallback write_callback_;
|
| + TestCompletionCallback read_callback_;
|
| + TestOldCompletionCallback read_callback_old_;
|
| + TestCompletionCallback write_callback_;
|
| scoped_refptr<DeterministicSocketData> data_;
|
|
|
| private:
|
| @@ -126,8 +127,6 @@ class SpdyProxyClientSocketTest : public PlatformTest {
|
|
|
| SpdyProxyClientSocketTest::SpdyProxyClientSocketTest()
|
| : sock_(NULL),
|
| - read_callback_(),
|
| - write_callback_(),
|
| data_(NULL),
|
| session_(NULL),
|
| read_buf_(NULL),
|
| @@ -212,13 +211,13 @@ scoped_refptr<IOBufferWithSize> SpdyProxyClientSocketTest::CreateBuffer(
|
| }
|
|
|
| void SpdyProxyClientSocketTest::AssertConnectSucceeds() {
|
| - ASSERT_EQ(ERR_IO_PENDING, sock_->Connect(&read_callback_));
|
| + ASSERT_EQ(ERR_IO_PENDING, sock_->Connect(read_callback_.callback()));
|
| data_->Run();
|
| ASSERT_EQ(OK, read_callback_.WaitForResult());
|
| }
|
|
|
| void SpdyProxyClientSocketTest::AssertConnectFails(int result) {
|
| - ASSERT_EQ(ERR_IO_PENDING, sock_->Connect(&read_callback_));
|
| + ASSERT_EQ(ERR_IO_PENDING, sock_->Connect(read_callback_.callback()));
|
| data_->Run();
|
| ASSERT_EQ(result, read_callback_.WaitForResult());
|
| }
|
| @@ -233,7 +232,7 @@ void SpdyProxyClientSocketTest::AssertConnectionEstablished() {
|
| void SpdyProxyClientSocketTest::AssertSyncReadEquals(const char* data,
|
| int len) {
|
| scoped_refptr<IOBuffer> buf(new IOBuffer(len));
|
| - ASSERT_EQ(len, sock_->Read(buf, len, NULL));
|
| + ASSERT_EQ(len, sock_->Read(buf, len, CompletionCallback()));
|
| ASSERT_EQ(std::string(data, len), std::string(buf->data(), len));
|
| ASSERT_TRUE(sock_->IsConnected());
|
| }
|
| @@ -243,7 +242,7 @@ void SpdyProxyClientSocketTest::AssertAsyncReadEquals(const char* data,
|
| data_->StopAfter(1);
|
| // Issue the read, which will be completed asynchronously
|
| scoped_refptr<IOBuffer> buf(new IOBuffer(len));
|
| - ASSERT_EQ(ERR_IO_PENDING, sock_->Read(buf, len, &read_callback_));
|
| + ASSERT_EQ(ERR_IO_PENDING, sock_->Read(buf, len, read_callback_.callback()));
|
| EXPECT_TRUE(sock_->IsConnected());
|
| data_->Run();
|
|
|
| @@ -258,7 +257,8 @@ void SpdyProxyClientSocketTest::AssertReadStarts(const char* data, int len) {
|
| data_->StopAfter(1);
|
| // Issue the read, which will be completed asynchronously
|
| read_buf_ = new IOBuffer(len);
|
| - ASSERT_EQ(ERR_IO_PENDING, sock_->Read(read_buf_, len, &read_callback_));
|
| + ASSERT_EQ(ERR_IO_PENDING,
|
| + sock_->Read(read_buf_, len, read_callback_.callback()));
|
| EXPECT_TRUE(sock_->IsConnected());
|
| }
|
|
|
| @@ -280,7 +280,7 @@ void SpdyProxyClientSocketTest::AssertAsyncWriteSucceeds(const char* data,
|
| void SpdyProxyClientSocketTest::AssertWriteReturns(const char* data, int len,
|
| int rv) {
|
| scoped_refptr<IOBufferWithSize> buf(CreateBuffer(data, len));
|
| - EXPECT_EQ(rv, sock_->Write(buf, buf->size(), &write_callback_));
|
| + EXPECT_EQ(rv, sock_->Write(buf, buf->size(), write_callback_.callback()));
|
| }
|
|
|
| void SpdyProxyClientSocketTest::AssertWriteLength(int len) {
|
| @@ -291,7 +291,8 @@ void SpdyProxyClientSocketTest::AssertAsyncWriteWithReadsSucceeds(
|
| const char* data, int len, int num_reads) {
|
| scoped_refptr<IOBufferWithSize> buf(CreateBuffer(data, len));
|
|
|
| - EXPECT_EQ(ERR_IO_PENDING, sock_->Write(buf, buf->size(), &write_callback_));
|
| + EXPECT_EQ(ERR_IO_PENDING, sock_->Write(buf, buf->size(),
|
| + write_callback_.callback()));
|
|
|
| for (int i = 0; i < num_reads; i++) {
|
| Run(1);
|
| @@ -541,7 +542,7 @@ TEST_F(SpdyProxyClientSocketTest, ConnectWithAuthRestart) {
|
|
|
| AddAuthToCache();
|
|
|
| - ASSERT_EQ(OK, sock_->RestartWithAuth(&read_callback_));
|
| + ASSERT_EQ(OK, sock_->RestartWithAuth(&read_callback_old_));
|
| // A SpdyProxyClientSocket sits on a single SPDY stream which can
|
| // only be used for a single request/response.
|
| ASSERT_FALSE(sock_->IsConnectedAndIdle());
|
| @@ -675,7 +676,8 @@ TEST_F(SpdyProxyClientSocketTest, WriteSplitsLargeDataIntoMultipleFrames) {
|
| scoped_refptr<IOBufferWithSize> buf(CreateBuffer(big_data.data(),
|
| big_data.length()));
|
|
|
| - EXPECT_EQ(ERR_IO_PENDING, sock_->Write(buf, buf->size(), &write_callback_));
|
| + EXPECT_EQ(ERR_IO_PENDING, sock_->Write(buf, buf->size(),
|
| + write_callback_.callback()));
|
| data_->RunFor(3);
|
|
|
| EXPECT_EQ(buf->size(), write_callback_.WaitForResult());
|
| @@ -875,7 +877,7 @@ TEST_F(SpdyProxyClientSocketTest, MultipleReadsFromSameLargeFrame) {
|
|
|
| // Now attempt to do a read of more data than remains buffered
|
| scoped_refptr<IOBuffer> buf(new IOBuffer(kLen33));
|
| - ASSERT_EQ(kLen3, sock_->Read(buf, kLen33, &read_callback_));
|
| + ASSERT_EQ(kLen3, sock_->Read(buf, kLen33, read_callback_.callback()));
|
| ASSERT_EQ(std::string(kMsg3, kLen3), std::string(buf->data(), kLen3));
|
| ASSERT_TRUE(sock_->IsConnected());
|
| }
|
| @@ -928,10 +930,11 @@ TEST_F(SpdyProxyClientSocketTest, ReadErrorResponseBody) {
|
|
|
| Run(2); // SpdySession consumes the next two reads and sends then to
|
| // sock_ to be buffered.
|
| - EXPECT_EQ(ERR_SOCKET_NOT_CONNECTED, sock_->Read(NULL, 1, NULL));
|
| + EXPECT_EQ(ERR_SOCKET_NOT_CONNECTED,
|
| + sock_->Read(NULL, 1, CompletionCallback()));
|
| scoped_refptr<IOBuffer> buf(new IOBuffer(kLen1 + kLen2));
|
| scoped_ptr<HttpStream> stream(sock_->CreateConnectResponseStream());
|
| - stream->ReadResponseBody(buf, kLen1 + kLen2, &read_callback_);
|
| + stream->ReadResponseBody(buf, kLen1 + kLen2, &read_callback_old_);
|
| }
|
|
|
| // ----------- Reads and Writes
|
| @@ -1030,9 +1033,9 @@ TEST_F(SpdyProxyClientSocketTest, ReadOnClosedSocketReturnsZero) {
|
| Run(1);
|
|
|
| ASSERT_FALSE(sock_->IsConnected());
|
| - ASSERT_EQ(0, sock_->Read(NULL, 1, NULL));
|
| - ASSERT_EQ(0, sock_->Read(NULL, 1, NULL));
|
| - ASSERT_EQ(0, sock_->Read(NULL, 1, NULL));
|
| + ASSERT_EQ(0, sock_->Read(NULL, 1, CompletionCallback()));
|
| + ASSERT_EQ(0, sock_->Read(NULL, 1, CompletionCallback()));
|
| + ASSERT_EQ(0, sock_->Read(NULL, 1, CompletionCallback()));
|
| ASSERT_FALSE(sock_->IsConnectedAndIdle());
|
| }
|
|
|
| @@ -1079,7 +1082,8 @@ TEST_F(SpdyProxyClientSocketTest, ReadOnDisconnectSocketReturnsNotConnected) {
|
|
|
| sock_->Disconnect();
|
|
|
| - ASSERT_EQ(ERR_SOCKET_NOT_CONNECTED, sock_->Read(NULL, 1, NULL));
|
| + ASSERT_EQ(ERR_SOCKET_NOT_CONNECTED,
|
| + sock_->Read(NULL, 1, CompletionCallback()));
|
| }
|
|
|
| // Reading buffered data from an already closed socket should return
|
| @@ -1106,13 +1110,14 @@ TEST_F(SpdyProxyClientSocketTest, ReadOnClosedSocketReturnsBufferedData) {
|
|
|
| ASSERT_FALSE(sock_->IsConnected());
|
| scoped_refptr<IOBuffer> buf(new IOBuffer(kLen1));
|
| - ASSERT_EQ(kLen1, sock_->Read(buf, kLen1, NULL));
|
| + ASSERT_EQ(kLen1, sock_->Read(buf, kLen1, CompletionCallback()));
|
| ASSERT_EQ(std::string(kMsg1, kLen1), std::string(buf->data(), kLen1));
|
|
|
| - ASSERT_EQ(0, sock_->Read(NULL, 1, NULL));
|
| - ASSERT_EQ(0, sock_->Read(NULL, 1, NULL));
|
| + ASSERT_EQ(0, sock_->Read(NULL, 1, CompletionCallback()));
|
| + ASSERT_EQ(0, sock_->Read(NULL, 1, CompletionCallback()));
|
| sock_->Disconnect();
|
| - ASSERT_EQ(ERR_SOCKET_NOT_CONNECTED, sock_->Read(NULL, 1, NULL));
|
| + ASSERT_EQ(ERR_SOCKET_NOT_CONNECTED,
|
| + sock_->Read(NULL, 1, CompletionCallback()));
|
| }
|
|
|
| // Calling Write() on a closed socket is an error
|
| @@ -1135,7 +1140,8 @@ TEST_F(SpdyProxyClientSocketTest, WriteOnClosedStream) {
|
|
|
| Run(1); // Read EOF which will close the stream
|
| scoped_refptr<IOBufferWithSize> buf(CreateBuffer(kMsg1, kLen1));
|
| - EXPECT_EQ(ERR_SOCKET_NOT_CONNECTED, sock_->Write(buf, buf->size(), NULL));
|
| + EXPECT_EQ(ERR_SOCKET_NOT_CONNECTED,
|
| + sock_->Write(buf, buf->size(), CompletionCallback()));
|
| }
|
|
|
| // Calling Write() on a disconnected socket is an error
|
| @@ -1159,7 +1165,8 @@ TEST_F(SpdyProxyClientSocketTest, WriteOnDisconnectedSocket) {
|
| sock_->Disconnect();
|
|
|
| scoped_refptr<IOBufferWithSize> buf(CreateBuffer(kMsg1, kLen1));
|
| - EXPECT_EQ(ERR_SOCKET_NOT_CONNECTED, sock_->Write(buf, buf->size(), NULL));
|
| + EXPECT_EQ(ERR_SOCKET_NOT_CONNECTED,
|
| + sock_->Write(buf, buf->size(), CompletionCallback()));
|
| }
|
|
|
| // If the socket is closed with a pending Write(), the callback
|
| @@ -1184,7 +1191,8 @@ TEST_F(SpdyProxyClientSocketTest, WritePendingOnClose) {
|
| EXPECT_TRUE(sock_->IsConnected());
|
|
|
| scoped_refptr<IOBufferWithSize> buf(CreateBuffer(kMsg1, kLen1));
|
| - EXPECT_EQ(ERR_IO_PENDING, sock_->Write(buf, buf->size(), &write_callback_));
|
| + EXPECT_EQ(ERR_IO_PENDING,
|
| + sock_->Write(buf, buf->size(), write_callback_.callback()));
|
|
|
| Run(1);
|
|
|
| @@ -1213,7 +1221,8 @@ TEST_F(SpdyProxyClientSocketTest, DisconnectWithWritePending) {
|
| EXPECT_TRUE(sock_->IsConnected());
|
|
|
| scoped_refptr<IOBufferWithSize> buf(CreateBuffer(kMsg1, kLen1));
|
| - EXPECT_EQ(ERR_IO_PENDING, sock_->Write(buf, buf->size(), &write_callback_));
|
| + EXPECT_EQ(ERR_IO_PENDING,
|
| + sock_->Write(buf, buf->size(), write_callback_.callback()));
|
|
|
| sock_->Disconnect();
|
|
|
| @@ -1242,7 +1251,8 @@ TEST_F(SpdyProxyClientSocketTest, DisconnectWithReadPending) {
|
| EXPECT_TRUE(sock_->IsConnected());
|
|
|
| scoped_refptr<IOBuffer> buf(new IOBuffer(kLen1));
|
| - ASSERT_EQ(ERR_IO_PENDING, sock_->Read(buf, kLen1, &read_callback_));
|
| + ASSERT_EQ(ERR_IO_PENDING,
|
| + sock_->Read(buf, kLen1, read_callback_.callback()));
|
|
|
| sock_->Disconnect();
|
|
|
| @@ -1273,11 +1283,13 @@ TEST_F(SpdyProxyClientSocketTest, RstWithReadAndWritePending) {
|
| EXPECT_TRUE(sock_->IsConnected());
|
|
|
| scoped_refptr<IOBuffer> read_buf(new IOBuffer(kLen1));
|
| - ASSERT_EQ(ERR_IO_PENDING, sock_->Read(read_buf, kLen1, &read_callback_));
|
| + ASSERT_EQ(ERR_IO_PENDING,
|
| + sock_->Read(read_buf, kLen1, read_callback_.callback()));
|
|
|
| scoped_refptr<IOBufferWithSize> write_buf(CreateBuffer(kMsg1, kLen1));
|
| - EXPECT_EQ(ERR_IO_PENDING, sock_->Write(write_buf, write_buf->size(),
|
| - &write_callback_));
|
| + EXPECT_EQ(ERR_IO_PENDING,
|
| + sock_->Write(write_buf, write_buf->size(),
|
| + write_callback_.callback()));
|
|
|
| Run(2);
|
|
|
| @@ -1332,11 +1344,14 @@ TEST_F(SpdyProxyClientSocketTest, RstWithReadAndWritePendingDelete) {
|
| DeleteSockCallback read_callback(&sock_);
|
|
|
| scoped_refptr<IOBuffer> read_buf(new IOBuffer(kLen1));
|
| - ASSERT_EQ(ERR_IO_PENDING, sock_->Read(read_buf, kLen1, &read_callback));
|
| + ASSERT_EQ(ERR_IO_PENDING,
|
| + sock_->Read(read_buf, kLen1,
|
| + base::Bind(&DeleteSockCallback::Run<int>,
|
| + base::Unretained(&read_callback))));
|
|
|
| scoped_refptr<IOBufferWithSize> write_buf(CreateBuffer(kMsg1, kLen1));
|
| EXPECT_EQ(ERR_IO_PENDING, sock_->Write(write_buf, write_buf->size(),
|
| - &write_callback_));
|
| + write_callback_.callback()));
|
|
|
| Run(2);
|
|
|
|
|