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 95ca4b59c216036be82a6dc9928fb18fa04a2a46..b2bdb3e8f510a495d0684011a3d5c224055295c7 100644 |
--- a/net/spdy/spdy_proxy_client_socket_unittest.cc |
+++ b/net/spdy/spdy_proxy_client_socket_unittest.cc |
@@ -108,6 +108,10 @@ class SpdyProxyClientSocketTest |
data_->Run(); |
} |
+ void CloseSpdySession(net::Error error, const std::string& description) { |
+ spdy_session_->CloseSessionOnError(error, description); |
+ } |
+ |
SpdyTestUtil spdy_util_; |
scoped_ptr<SpdyProxyClientSocket> sock_; |
TestCompletionCallback read_callback_; |
@@ -120,7 +124,7 @@ class SpdyProxyClientSocketTest |
scoped_refptr<IOBuffer> read_buf_; |
SpdySessionDependencies session_deps_; |
MockConnect connect_data_; |
- scoped_refptr<SpdySession> spdy_session_; |
+ base::WeakPtr<SpdySession> spdy_session_; |
BufferedSpdyFramer framer_; |
std::string user_agent_; |
@@ -144,7 +148,6 @@ SpdyProxyClientSocketTest::SpdyProxyClientSocketTest() |
read_buf_(NULL), |
session_deps_(GetParam()), |
connect_data_(SYNCHRONOUS, OK), |
- spdy_session_(NULL), |
framer_(spdy_util_.spdy_version(), false), |
user_agent_(kUserAgent), |
url_(kRequestUrl), |
@@ -1195,7 +1198,7 @@ TEST_P(SpdyProxyClientSocketTest, WritePendingOnClose) { |
EXPECT_EQ(ERR_IO_PENDING, |
sock_->Write(buf.get(), buf->size(), write_callback_.callback())); |
- Run(1); |
+ CloseSpdySession(ERR_ABORTED, std::string()); |
EXPECT_EQ(ERR_CONNECTION_CLOSED, write_callback_.WaitForResult()); |
} |
@@ -1267,7 +1270,7 @@ TEST_P(SpdyProxyClientSocketTest, RstWithReadAndWritePending) { |
scoped_ptr<SpdyFrame> conn(ConstructConnectRequestFrame()); |
MockWrite writes[] = { |
CreateMockWrite(*conn, 0, SYNCHRONOUS), |
- MockWrite(ASYNC, ERR_ABORTED, 2), |
+ MockWrite(ASYNC, ERR_ABORTED, 3), |
}; |
scoped_ptr<SpdyFrame> resp(ConstructConnectReplyFrame()); |
@@ -1275,7 +1278,8 @@ TEST_P(SpdyProxyClientSocketTest, RstWithReadAndWritePending) { |
spdy_util_.ConstructSpdyRstStream(1, RST_STREAM_CANCEL)); |
MockRead reads[] = { |
CreateMockRead(*resp, 1, ASYNC), |
- CreateMockRead(*rst, 3, ASYNC), |
+ CreateMockRead(*rst, 2, ASYNC), |
+ MockRead(ASYNC, 0, 4) // EOF |
}; |
Initialize(reads, arraysize(reads), writes, arraysize(writes)); |
@@ -1390,7 +1394,7 @@ TEST_P(SpdyProxyClientSocketTest, RstWithReadAndWritePendingDelete) { |
scoped_ptr<SpdyFrame> conn(ConstructConnectRequestFrame()); |
MockWrite writes[] = { |
CreateMockWrite(*conn, 0, SYNCHRONOUS), |
- MockWrite(ASYNC, ERR_ABORTED, 2), |
+ MockWrite(ASYNC, ERR_ABORTED, 3), |
}; |
scoped_ptr<SpdyFrame> resp(ConstructConnectReplyFrame()); |
@@ -1398,7 +1402,8 @@ TEST_P(SpdyProxyClientSocketTest, RstWithReadAndWritePendingDelete) { |
spdy_util_.ConstructSpdyRstStream(1, RST_STREAM_CANCEL)); |
MockRead reads[] = { |
CreateMockRead(*resp, 1, ASYNC), |
- CreateMockRead(*rst, 3, ASYNC), |
+ CreateMockRead(*rst, 2, ASYNC), |
+ MockRead(ASYNC, 0, 4), // EOF |
}; |
Initialize(reads, arraysize(reads), writes, arraysize(writes)); |
@@ -1419,7 +1424,7 @@ TEST_P(SpdyProxyClientSocketTest, RstWithReadAndWritePendingDelete) { |
sock_->Write( |
write_buf.get(), write_buf->size(), write_callback_.callback())); |
- Run(2); |
+ Run(1); |
EXPECT_FALSE(sock_.get()); |
EXPECT_TRUE(read_callback.have_result()); |