Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(13)

Side by Side Diff: net/socket/client_socket_pool_base_unittest.cc

Issue 1109473003: Get rid of TestNetLog::CapturedEntry[List] typedefs. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/socket/client_socket_pool_base.h" 5 #include "net/socket/client_socket_pool_base.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/bind_helpers.h" 10 #include "base/bind_helpers.h"
11 #include "base/callback.h" 11 #include "base/callback.h"
12 #include "base/memory/ref_counted.h" 12 #include "base/memory/ref_counted.h"
13 #include "base/memory/scoped_vector.h" 13 #include "base/memory/scoped_vector.h"
14 #include "base/memory/weak_ptr.h" 14 #include "base/memory/weak_ptr.h"
15 #include "base/message_loop/message_loop.h" 15 #include "base/message_loop/message_loop.h"
16 #include "base/run_loop.h" 16 #include "base/run_loop.h"
17 #include "base/strings/string_number_conversions.h" 17 #include "base/strings/string_number_conversions.h"
18 #include "base/strings/stringprintf.h" 18 #include "base/strings/stringprintf.h"
19 #include "base/threading/platform_thread.h" 19 #include "base/threading/platform_thread.h"
20 #include "base/values.h" 20 #include "base/values.h"
21 #include "net/base/load_timing_info.h" 21 #include "net/base/load_timing_info.h"
22 #include "net/base/load_timing_info_test_util.h" 22 #include "net/base/load_timing_info_test_util.h"
23 #include "net/base/net_errors.h" 23 #include "net/base/net_errors.h"
24 #include "net/base/request_priority.h" 24 #include "net/base/request_priority.h"
25 #include "net/base/test_completion_callback.h" 25 #include "net/base/test_completion_callback.h"
26 #include "net/http/http_response_headers.h" 26 #include "net/http/http_response_headers.h"
27 #include "net/log/captured_net_log_entry.h"
27 #include "net/log/net_log.h" 28 #include "net/log/net_log.h"
28 #include "net/log/net_log_unittest.h" 29 #include "net/log/net_log_unittest.h"
30 #include "net/log/test_net_log.h"
29 #include "net/socket/client_socket_factory.h" 31 #include "net/socket/client_socket_factory.h"
30 #include "net/socket/client_socket_handle.h" 32 #include "net/socket/client_socket_handle.h"
31 #include "net/socket/socket_test_util.h" 33 #include "net/socket/socket_test_util.h"
32 #include "net/socket/ssl_client_socket.h" 34 #include "net/socket/ssl_client_socket.h"
33 #include "net/socket/stream_socket.h" 35 #include "net/socket/stream_socket.h"
34 #include "net/udp/datagram_client_socket.h" 36 #include "net/udp/datagram_client_socket.h"
35 #include "testing/gmock/include/gmock/gmock.h" 37 #include "testing/gmock/include/gmock/gmock.h"
36 #include "testing/gtest/include/gtest/gtest.h" 38 #include "testing/gtest/include/gtest/gtest.h"
37 39
38 using ::testing::Invoke; 40 using ::testing::Invoke;
(...skipping 726 matching lines...) Expand 10 before | Expand all | Expand 10 after
765 "a", 767 "a",
766 request, 768 request,
767 base::TimeDelta::FromMicroseconds(1), 769 base::TimeDelta::FromMicroseconds(1),
768 &delegate, 770 &delegate,
769 &client_socket_factory_, 771 &client_socket_factory_,
770 &log); 772 &log);
771 ASSERT_EQ(ERR_IO_PENDING, job->Connect()); 773 ASSERT_EQ(ERR_IO_PENDING, job->Connect());
772 base::PlatformThread::Sleep(base::TimeDelta::FromMilliseconds(1)); 774 base::PlatformThread::Sleep(base::TimeDelta::FromMilliseconds(1));
773 EXPECT_EQ(ERR_TIMED_OUT, delegate.WaitForResult()); 775 EXPECT_EQ(ERR_TIMED_OUT, delegate.WaitForResult());
774 776
775 TestNetLog::CapturedEntryList entries; 777 CapturedNetLogEntry::List entries;
776 log.GetEntries(&entries); 778 log.GetEntries(&entries);
777 779
778 EXPECT_EQ(6u, entries.size()); 780 EXPECT_EQ(6u, entries.size());
779 EXPECT_TRUE(LogContainsBeginEvent( 781 EXPECT_TRUE(LogContainsBeginEvent(
780 entries, 0, NetLog::TYPE_SOCKET_POOL_CONNECT_JOB)); 782 entries, 0, NetLog::TYPE_SOCKET_POOL_CONNECT_JOB));
781 EXPECT_TRUE(LogContainsBeginEvent( 783 EXPECT_TRUE(LogContainsBeginEvent(
782 entries, 1, NetLog::TYPE_SOCKET_POOL_CONNECT_JOB_CONNECT)); 784 entries, 1, NetLog::TYPE_SOCKET_POOL_CONNECT_JOB_CONNECT));
783 EXPECT_TRUE(LogContainsEvent( 785 EXPECT_TRUE(LogContainsEvent(
784 entries, 2, NetLog::TYPE_CONNECT_JOB_SET_SOCKET, 786 entries, 2, NetLog::TYPE_CONNECT_JOB_SET_SOCKET,
785 NetLog::PHASE_NONE)); 787 NetLog::PHASE_NONE));
(...skipping 21 matching lines...) Expand all
807 callback.callback(), 809 callback.callback(),
808 pool_.get(), 810 pool_.get(),
809 log.bound())); 811 log.bound()));
810 EXPECT_TRUE(handle.is_initialized()); 812 EXPECT_TRUE(handle.is_initialized());
811 EXPECT_TRUE(handle.socket()); 813 EXPECT_TRUE(handle.socket());
812 TestLoadTimingInfoConnectedNotReused(handle); 814 TestLoadTimingInfoConnectedNotReused(handle);
813 815
814 handle.Reset(); 816 handle.Reset();
815 TestLoadTimingInfoNotConnected(handle); 817 TestLoadTimingInfoNotConnected(handle);
816 818
817 TestNetLog::CapturedEntryList entries; 819 CapturedNetLogEntry::List entries;
818 log.GetEntries(&entries); 820 log.GetEntries(&entries);
819 821
820 EXPECT_EQ(4u, entries.size()); 822 EXPECT_EQ(4u, entries.size());
821 EXPECT_TRUE(LogContainsBeginEvent( 823 EXPECT_TRUE(LogContainsBeginEvent(
822 entries, 0, NetLog::TYPE_SOCKET_POOL)); 824 entries, 0, NetLog::TYPE_SOCKET_POOL));
823 EXPECT_TRUE(LogContainsEvent( 825 EXPECT_TRUE(LogContainsEvent(
824 entries, 1, NetLog::TYPE_SOCKET_POOL_BOUND_TO_CONNECT_JOB, 826 entries, 1, NetLog::TYPE_SOCKET_POOL_BOUND_TO_CONNECT_JOB,
825 NetLog::PHASE_NONE)); 827 NetLog::PHASE_NONE));
826 EXPECT_TRUE(LogContainsEvent( 828 EXPECT_TRUE(LogContainsEvent(
827 entries, 2, NetLog::TYPE_SOCKET_POOL_BOUND_TO_SOCKET, 829 entries, 2, NetLog::TYPE_SOCKET_POOL_BOUND_TO_SOCKET,
(...skipping 20 matching lines...) Expand all
848 params_, 850 params_,
849 DEFAULT_PRIORITY, 851 DEFAULT_PRIORITY,
850 callback.callback(), 852 callback.callback(),
851 pool_.get(), 853 pool_.get(),
852 log.bound())); 854 log.bound()));
853 EXPECT_FALSE(handle.socket()); 855 EXPECT_FALSE(handle.socket());
854 EXPECT_FALSE(handle.is_ssl_error()); 856 EXPECT_FALSE(handle.is_ssl_error());
855 EXPECT_TRUE(handle.ssl_error_response_info().headers.get() == NULL); 857 EXPECT_TRUE(handle.ssl_error_response_info().headers.get() == NULL);
856 TestLoadTimingInfoNotConnected(handle); 858 TestLoadTimingInfoNotConnected(handle);
857 859
858 TestNetLog::CapturedEntryList entries; 860 CapturedNetLogEntry::List entries;
859 log.GetEntries(&entries); 861 log.GetEntries(&entries);
860 862
861 EXPECT_EQ(3u, entries.size()); 863 EXPECT_EQ(3u, entries.size());
862 EXPECT_TRUE(LogContainsBeginEvent( 864 EXPECT_TRUE(LogContainsBeginEvent(
863 entries, 0, NetLog::TYPE_SOCKET_POOL)); 865 entries, 0, NetLog::TYPE_SOCKET_POOL));
864 EXPECT_TRUE(LogContainsEvent( 866 EXPECT_TRUE(LogContainsEvent(
865 entries, 1, NetLog::TYPE_SOCKET_POOL_BOUND_TO_CONNECT_JOB, 867 entries, 1, NetLog::TYPE_SOCKET_POOL_BOUND_TO_CONNECT_JOB,
866 NetLog::PHASE_NONE)); 868 NetLog::PHASE_NONE));
867 EXPECT_TRUE(LogContainsEndEvent( 869 EXPECT_TRUE(LogContainsEndEvent(
868 entries, 2, NetLog::TYPE_SOCKET_POOL)); 870 entries, 2, NetLog::TYPE_SOCKET_POOL));
(...skipping 814 matching lines...) Expand 10 before | Expand all | Expand 10 after
1683 TestLoadTimingInfoNotConnected(handle); 1685 TestLoadTimingInfoNotConnected(handle);
1684 1686
1685 EXPECT_EQ(OK, callback.WaitForResult()); 1687 EXPECT_EQ(OK, callback.WaitForResult());
1686 EXPECT_TRUE(handle.is_initialized()); 1688 EXPECT_TRUE(handle.is_initialized());
1687 EXPECT_TRUE(handle.socket()); 1689 EXPECT_TRUE(handle.socket());
1688 TestLoadTimingInfoConnectedNotReused(handle); 1690 TestLoadTimingInfoConnectedNotReused(handle);
1689 1691
1690 handle.Reset(); 1692 handle.Reset();
1691 TestLoadTimingInfoNotConnected(handle); 1693 TestLoadTimingInfoNotConnected(handle);
1692 1694
1693 TestNetLog::CapturedEntryList entries; 1695 CapturedNetLogEntry::List entries;
1694 log.GetEntries(&entries); 1696 log.GetEntries(&entries);
1695 1697
1696 EXPECT_EQ(4u, entries.size()); 1698 EXPECT_EQ(4u, entries.size());
1697 EXPECT_TRUE(LogContainsBeginEvent( 1699 EXPECT_TRUE(LogContainsBeginEvent(
1698 entries, 0, NetLog::TYPE_SOCKET_POOL)); 1700 entries, 0, NetLog::TYPE_SOCKET_POOL));
1699 EXPECT_TRUE(LogContainsEvent( 1701 EXPECT_TRUE(LogContainsEvent(
1700 entries, 1, NetLog::TYPE_SOCKET_POOL_BOUND_TO_CONNECT_JOB, 1702 entries, 1, NetLog::TYPE_SOCKET_POOL_BOUND_TO_CONNECT_JOB,
1701 NetLog::PHASE_NONE)); 1703 NetLog::PHASE_NONE));
1702 EXPECT_TRUE(LogContainsEvent( 1704 EXPECT_TRUE(LogContainsEvent(
1703 entries, 2, NetLog::TYPE_SOCKET_POOL_BOUND_TO_SOCKET, 1705 entries, 2, NetLog::TYPE_SOCKET_POOL_BOUND_TO_SOCKET,
(...skipping 19 matching lines...) Expand all
1723 params_, 1725 params_,
1724 DEFAULT_PRIORITY, 1726 DEFAULT_PRIORITY,
1725 callback.callback(), 1727 callback.callback(),
1726 pool_.get(), 1728 pool_.get(),
1727 log.bound())); 1729 log.bound()));
1728 EXPECT_EQ(LOAD_STATE_CONNECTING, pool_->GetLoadState("a", &handle)); 1730 EXPECT_EQ(LOAD_STATE_CONNECTING, pool_->GetLoadState("a", &handle));
1729 EXPECT_EQ(ERR_CONNECTION_FAILED, callback.WaitForResult()); 1731 EXPECT_EQ(ERR_CONNECTION_FAILED, callback.WaitForResult());
1730 EXPECT_FALSE(handle.is_ssl_error()); 1732 EXPECT_FALSE(handle.is_ssl_error());
1731 EXPECT_TRUE(handle.ssl_error_response_info().headers.get() == NULL); 1733 EXPECT_TRUE(handle.ssl_error_response_info().headers.get() == NULL);
1732 1734
1733 TestNetLog::CapturedEntryList entries; 1735 CapturedNetLogEntry::List entries;
1734 log.GetEntries(&entries); 1736 log.GetEntries(&entries);
1735 1737
1736 EXPECT_EQ(3u, entries.size()); 1738 EXPECT_EQ(3u, entries.size());
1737 EXPECT_TRUE(LogContainsBeginEvent( 1739 EXPECT_TRUE(LogContainsBeginEvent(
1738 entries, 0, NetLog::TYPE_SOCKET_POOL)); 1740 entries, 0, NetLog::TYPE_SOCKET_POOL));
1739 EXPECT_TRUE(LogContainsEvent( 1741 EXPECT_TRUE(LogContainsEvent(
1740 entries, 1, NetLog::TYPE_SOCKET_POOL_BOUND_TO_CONNECT_JOB, 1742 entries, 1, NetLog::TYPE_SOCKET_POOL_BOUND_TO_CONNECT_JOB,
1741 NetLog::PHASE_NONE)); 1743 NetLog::PHASE_NONE));
1742 EXPECT_TRUE(LogContainsEndEvent( 1744 EXPECT_TRUE(LogContainsEndEvent(
1743 entries, 2, NetLog::TYPE_SOCKET_POOL)); 1745 entries, 2, NetLog::TYPE_SOCKET_POOL));
(...skipping 493 matching lines...) Expand 10 before | Expand all | Expand 10 after
2237 pool_.get(), 2239 pool_.get(),
2238 log.bound()); 2240 log.bound());
2239 ASSERT_EQ(OK, rv); 2241 ASSERT_EQ(OK, rv);
2240 EXPECT_TRUE(handle.is_reused()); 2242 EXPECT_TRUE(handle.is_reused());
2241 TestLoadTimingInfoConnectedReused(handle); 2243 TestLoadTimingInfoConnectedReused(handle);
2242 2244
2243 ASSERT_TRUE(pool_->HasGroup("a")); 2245 ASSERT_TRUE(pool_->HasGroup("a"));
2244 EXPECT_EQ(0, pool_->IdleSocketCountInGroup("a")); 2246 EXPECT_EQ(0, pool_->IdleSocketCountInGroup("a"));
2245 EXPECT_EQ(1, pool_->NumActiveSocketsInGroup("a")); 2247 EXPECT_EQ(1, pool_->NumActiveSocketsInGroup("a"));
2246 2248
2247 TestNetLog::CapturedEntryList entries; 2249 CapturedNetLogEntry::List entries;
2248 log.GetEntries(&entries); 2250 log.GetEntries(&entries);
2249 EXPECT_TRUE(LogContainsEntryWithType( 2251 EXPECT_TRUE(LogContainsEntryWithType(
2250 entries, 1, NetLog::TYPE_SOCKET_POOL_REUSED_AN_EXISTING_SOCKET)); 2252 entries, 1, NetLog::TYPE_SOCKET_POOL_REUSED_AN_EXISTING_SOCKET));
2251 } 2253 }
2252 2254
2253 // Make sure we cleanup old unused sockets when the cleanup timer is disabled. 2255 // Make sure we cleanup old unused sockets when the cleanup timer is disabled.
2254 TEST_F(ClientSocketPoolBaseTest, DisableCleanupTimerNoReuse) { 2256 TEST_F(ClientSocketPoolBaseTest, DisableCleanupTimerNoReuse) {
2255 // Disable cleanup timer. 2257 // Disable cleanup timer.
2256 internal::ClientSocketPoolBaseHelper::set_cleanup_timer_enabled(false); 2258 internal::ClientSocketPoolBaseHelper::set_cleanup_timer_enabled(false);
2257 2259
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
2319 log.bound()); 2321 log.bound());
2320 ASSERT_EQ(ERR_IO_PENDING, rv); 2322 ASSERT_EQ(ERR_IO_PENDING, rv);
2321 ASSERT_EQ(OK, callback3.WaitForResult()); 2323 ASSERT_EQ(OK, callback3.WaitForResult());
2322 EXPECT_FALSE(handle.is_reused()); 2324 EXPECT_FALSE(handle.is_reused());
2323 2325
2324 // Make sure the idle socket is closed. 2326 // Make sure the idle socket is closed.
2325 ASSERT_TRUE(pool_->HasGroup("a")); 2327 ASSERT_TRUE(pool_->HasGroup("a"));
2326 EXPECT_EQ(0, pool_->IdleSocketCountInGroup("a")); 2328 EXPECT_EQ(0, pool_->IdleSocketCountInGroup("a"));
2327 EXPECT_EQ(1, pool_->NumActiveSocketsInGroup("a")); 2329 EXPECT_EQ(1, pool_->NumActiveSocketsInGroup("a"));
2328 2330
2329 TestNetLog::CapturedEntryList entries; 2331 CapturedNetLogEntry::List entries;
2330 log.GetEntries(&entries); 2332 log.GetEntries(&entries);
2331 EXPECT_FALSE(LogContainsEntryWithType( 2333 EXPECT_FALSE(LogContainsEntryWithType(
2332 entries, 1, NetLog::TYPE_SOCKET_POOL_REUSED_AN_EXISTING_SOCKET)); 2334 entries, 1, NetLog::TYPE_SOCKET_POOL_REUSED_AN_EXISTING_SOCKET));
2333 } 2335 }
2334 2336
2335 TEST_F(ClientSocketPoolBaseTest, CleanupTimedOutIdleSockets) { 2337 TEST_F(ClientSocketPoolBaseTest, CleanupTimedOutIdleSockets) {
2336 CreatePoolWithIdleTimeouts( 2338 CreatePoolWithIdleTimeouts(
2337 kDefaultMaxSockets, kDefaultMaxSocketsPerGroup, 2339 kDefaultMaxSockets, kDefaultMaxSocketsPerGroup,
2338 base::TimeDelta(), // Time out unused sockets immediately. 2340 base::TimeDelta(), // Time out unused sockets immediately.
2339 base::TimeDelta::FromDays(1)); // Don't time out used sockets. 2341 base::TimeDelta::FromDays(1)); // Don't time out used sockets.
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
2391 BoundTestNetLog log; 2393 BoundTestNetLog log;
2392 rv = handle.Init("a", 2394 rv = handle.Init("a",
2393 params_, 2395 params_,
2394 LOWEST, 2396 LOWEST,
2395 callback.callback(), 2397 callback.callback(),
2396 pool_.get(), 2398 pool_.get(),
2397 log.bound()); 2399 log.bound());
2398 EXPECT_EQ(OK, rv); 2400 EXPECT_EQ(OK, rv);
2399 EXPECT_TRUE(handle.is_reused()); 2401 EXPECT_TRUE(handle.is_reused());
2400 2402
2401 TestNetLog::CapturedEntryList entries; 2403 CapturedNetLogEntry::List entries;
2402 log.GetEntries(&entries); 2404 log.GetEntries(&entries);
2403 EXPECT_TRUE(LogContainsEntryWithType( 2405 EXPECT_TRUE(LogContainsEntryWithType(
2404 entries, 1, NetLog::TYPE_SOCKET_POOL_REUSED_AN_EXISTING_SOCKET)); 2406 entries, 1, NetLog::TYPE_SOCKET_POOL_REUSED_AN_EXISTING_SOCKET));
2405 } 2407 }
2406 2408
2407 // Make sure that we process all pending requests even when we're stalling 2409 // Make sure that we process all pending requests even when we're stalling
2408 // because of multiple releasing disconnected sockets. 2410 // because of multiple releasing disconnected sockets.
2409 TEST_F(ClientSocketPoolBaseTest, MultipleReleasingDisconnectedSockets) { 2411 TEST_F(ClientSocketPoolBaseTest, MultipleReleasingDisconnectedSockets) {
2410 CreatePoolWithIdleTimeouts( 2412 CreatePoolWithIdleTimeouts(
2411 kDefaultMaxSockets, kDefaultMaxSocketsPerGroup, 2413 kDefaultMaxSockets, kDefaultMaxSocketsPerGroup,
(...skipping 1706 matching lines...) Expand 10 before | Expand all | Expand 10 after
4118 request(1)->handle()->Reset(); 4120 request(1)->handle()->Reset();
4119 ASSERT_EQ(1, pool_->NumConnectJobsInGroup("a")); 4121 ASSERT_EQ(1, pool_->NumConnectJobsInGroup("a"));
4120 4122
4121 EXPECT_EQ(OK, request(2)->WaitForResult()); 4123 EXPECT_EQ(OK, request(2)->WaitForResult());
4122 EXPECT_FALSE(request(1)->have_result()); 4124 EXPECT_FALSE(request(1)->have_result());
4123 } 4125 }
4124 4126
4125 } // namespace 4127 } // namespace
4126 4128
4127 } // namespace net 4129 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698