summaryrefslogtreecommitdiffstats
path: root/net/socket/client_socket_pool_base_unittest.cc
diff options
context:
space:
mode:
authorwillchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-16 22:27:41 +0000
committerwillchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-16 22:27:41 +0000
commit6427fe27774c6ba7d6efff74d65fbceaea911aef (patch)
tree1dd4a8f097e96c3200cbe6e4a56042332698c515 /net/socket/client_socket_pool_base_unittest.cc
parent13897f5adc091bdb1000e61fcec730cfcfd53a9f (diff)
downloadchromium_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.cc27
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);