| Index: net/socket/client_socket_pool_base_unittest.cc
|
| diff --git a/net/socket/client_socket_pool_base_unittest.cc b/net/socket/client_socket_pool_base_unittest.cc
|
| index a694a6f9befc9a703e6e28dde8e4949ba57f390f..4b10cdba13880604741b5425622ece2ecbe5eeae 100644
|
| --- a/net/socket/client_socket_pool_base_unittest.cc
|
| +++ b/net/socket/client_socket_pool_base_unittest.cc
|
| @@ -310,8 +310,13 @@ class TestClientSocketPool : public ClientSocketPool {
|
|
|
| virtual void ReleaseSocket(
|
| const std::string& group_name,
|
| - ClientSocket* socket) {
|
| - base_.ReleaseSocket(group_name, socket);
|
| + ClientSocket* socket,
|
| + int id) {
|
| + base_.ReleaseSocket(group_name, socket, id);
|
| + }
|
| +
|
| + virtual void Flush() {
|
| + base_.Flush();
|
| }
|
|
|
| virtual void CloseIdleSockets() {
|
| @@ -1660,6 +1665,30 @@ TEST_F(ClientSocketPoolBaseTest, CallbackThatReleasesPool) {
|
| callback.WaitForResult();
|
| }
|
|
|
| +TEST_F(ClientSocketPoolBaseTest, DoNotReuseSocketAfterFlush) {
|
| + CreatePool(kDefaultMaxSockets, kDefaultMaxSocketsPerGroup);
|
| + connect_job_factory_->set_job_type(TestConnectJob::kMockPendingJob);
|
| +
|
| + ClientSocketHandle handle;
|
| + TestCompletionCallback callback;
|
| + EXPECT_EQ(ERR_IO_PENDING,
|
| + InitHandle(&handle, "a", kDefaultPriority,
|
| + &callback, pool_, BoundNetLog()));
|
| + EXPECT_EQ(OK, callback.WaitForResult());
|
| + EXPECT_EQ(ClientSocketHandle::UNUSED, handle.reuse_type());
|
| +
|
| + pool_->Flush();
|
| +
|
| + handle.Reset();
|
| + MessageLoop::current()->RunAllPending();
|
| +
|
| + EXPECT_EQ(ERR_IO_PENDING,
|
| + InitHandle(&handle, "a", kDefaultPriority,
|
| + &callback, pool_, BoundNetLog()));
|
| + EXPECT_EQ(OK, callback.WaitForResult());
|
| + EXPECT_EQ(ClientSocketHandle::UNUSED, handle.reuse_type());
|
| +}
|
| +
|
| } // namespace
|
|
|
| } // namespace net
|
|
|