diff options
author | willchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-16 22:27:41 +0000 |
---|---|---|
committer | willchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-16 22:27:41 +0000 |
commit | 6427fe27774c6ba7d6efff74d65fbceaea911aef (patch) | |
tree | 1dd4a8f097e96c3200cbe6e4a56042332698c515 /net/socket/client_socket_pool_base_unittest.cc | |
parent | 13897f5adc091bdb1000e61fcec730cfcfd53a9f (diff) | |
download | chromium_src-6427fe27774c6ba7d6efff74d65fbceaea911aef.zip chromium_src-6427fe27774c6ba7d6efff74d65fbceaea911aef.tar.gz chromium_src-6427fe27774c6ba7d6efff74d65fbceaea911aef.tar.bz2 |
Fix FindTopStalledGroup() to catch groups correctly.
BUG=41262
Review URL: http://codereview.chromium.org/1650004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44836 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/socket/client_socket_pool_base_unittest.cc')
-rw-r--r-- | net/socket/client_socket_pool_base_unittest.cc | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/net/socket/client_socket_pool_base_unittest.cc b/net/socket/client_socket_pool_base_unittest.cc index a6ee466..2b25785 100644 --- a/net/socket/client_socket_pool_base_unittest.cc +++ b/net/socket/client_socket_pool_base_unittest.cc @@ -792,6 +792,33 @@ TEST_F(ClientSocketPoolBaseTest, MayHaveStalledGroupReset) { EXPECT_FALSE(pool_->base()->may_have_stalled_group()); } +TEST_F(ClientSocketPoolBaseTest, CorrectlyCountStalledGroups) { + CreatePool(kDefaultMaxSockets, kDefaultMaxSockets); + connect_job_factory_->set_job_type(TestConnectJob::kMockJob); + + EXPECT_EQ(OK, StartRequest("a", kDefaultPriority)); + EXPECT_EQ(OK, StartRequest("a", kDefaultPriority)); + EXPECT_EQ(OK, StartRequest("a", kDefaultPriority)); + EXPECT_EQ(OK, StartRequest("a", kDefaultPriority)); + + connect_job_factory_->set_job_type(TestConnectJob::kMockWaitingJob); + + EXPECT_EQ(kDefaultMaxSockets, client_socket_factory_.allocation_count()); + + EXPECT_EQ(ERR_IO_PENDING, StartRequest("b", kDefaultPriority)); + EXPECT_EQ(ERR_IO_PENDING, StartRequest("c", kDefaultPriority)); + + EXPECT_EQ(kDefaultMaxSockets, client_socket_factory_.allocation_count()); + + EXPECT_TRUE(ReleaseOneConnection(KEEP_ALIVE)); + EXPECT_EQ(kDefaultMaxSockets + 1, client_socket_factory_.allocation_count()); + EXPECT_TRUE(ReleaseOneConnection(KEEP_ALIVE)); + EXPECT_EQ(kDefaultMaxSockets + 2, client_socket_factory_.allocation_count()); + EXPECT_TRUE(ReleaseOneConnection(KEEP_ALIVE)); + EXPECT_TRUE(ReleaseOneConnection(KEEP_ALIVE)); + EXPECT_EQ(kDefaultMaxSockets + 2, client_socket_factory_.allocation_count()); +} + TEST_F(ClientSocketPoolBaseTest, PendingRequests) { CreatePool(kDefaultMaxSockets, kDefaultMaxSocketsPerGroup); |