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

Side by Side Diff: net/quic/quic_stream_factory_test.cc

Issue 975613002: QUIC - minor cleanup of the following field trials and used defaults for (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: set default value for srtt_multiplier in net Created 5 years, 9 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
« no previous file with comments | « net/quic/quic_stream_factory.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/quic/quic_stream_factory.h" 5 #include "net/quic/quic_stream_factory.h"
6 6
7 #include "base/run_loop.h" 7 #include "base/run_loop.h"
8 #include "base/strings/string_util.h" 8 #include "base/strings/string_util.h"
9 #include "net/base/test_data_directory.h" 9 #include "net/base/test_data_directory.h"
10 #include "net/cert/cert_verifier.h" 10 #include "net/cert/cert_verifier.h"
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 118
119 static void DisableConnectionPooling(QuicStreamFactory* factory) { 119 static void DisableConnectionPooling(QuicStreamFactory* factory) {
120 factory->disable_connection_pooling_ = true; 120 factory->disable_connection_pooling_ = true;
121 } 121 }
122 122
123 static void SetTaskRunner(QuicStreamFactory* factory, 123 static void SetTaskRunner(QuicStreamFactory* factory,
124 base::TaskRunner* task_runner) { 124 base::TaskRunner* task_runner) {
125 factory->task_runner_ = task_runner; 125 factory->task_runner_ = task_runner;
126 } 126 }
127 127
128 static void SetLoadServerInfoTimeout(QuicStreamFactory* factory,
129 size_t load_server_info_timeout) {
130 factory->load_server_info_timeout_ms_ = load_server_info_timeout;
131 }
132
133 static void SetEnableConnectionRacing(QuicStreamFactory* factory, 128 static void SetEnableConnectionRacing(QuicStreamFactory* factory,
134 bool enable_connection_racing) { 129 bool enable_connection_racing) {
135 factory->enable_connection_racing_ = enable_connection_racing; 130 factory->enable_connection_racing_ = enable_connection_racing;
136 } 131 }
137 132
138 static void SetDisableDiskCache(QuicStreamFactory* factory, 133 static void SetDisableDiskCache(QuicStreamFactory* factory,
139 bool disable_disk_cache) { 134 bool disable_disk_cache) {
140 factory->disable_disk_cache_ = disable_disk_cache; 135 factory->disable_disk_cache_ = disable_disk_cache;
141 } 136 }
142 137
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 &transport_security_state_, 195 &transport_security_state_,
201 &crypto_client_stream_factory_, 196 &crypto_client_stream_factory_,
202 &random_generator_, 197 &random_generator_,
203 clock_, 198 clock_,
204 kDefaultMaxPacketSize, 199 kDefaultMaxPacketSize,
205 std::string(), 200 std::string(),
206 SupportedVersions(GetParam().version), 201 SupportedVersions(GetParam().version),
207 /*enable_port_selection=*/true, 202 /*enable_port_selection=*/true,
208 /*always_require_handshake_confirmation=*/false, 203 /*always_require_handshake_confirmation=*/false,
209 /*disable_connection_pooling=*/false, 204 /*disable_connection_pooling=*/false,
210 /*load_server_info_timeout=*/0u,
211 /*load_server_info_timeout_srtt_multiplier=*/0.0f, 205 /*load_server_info_timeout_srtt_multiplier=*/0.0f,
212 /*enable_truncated_connection_ids=*/true,
213 /*enable_connection_racing=*/false, 206 /*enable_connection_racing=*/false,
214 /*enable_non_blocking_io=*/true, 207 /*enable_non_blocking_io=*/true,
215 /*disable_disk_cache=*/false, 208 /*disable_disk_cache=*/false,
216 /*receive_buffer_size=*/0, 209 /*receive_buffer_size=*/0,
217 QuicTagVector()), 210 QuicTagVector()),
218 host_port_pair_(kDefaultServerHostName, kDefaultServerPort), 211 host_port_pair_(kDefaultServerHostName, kDefaultServerPort),
219 is_https_(false), 212 is_https_(false),
220 privacy_mode_(PRIVACY_MODE_DISABLED) { 213 privacy_mode_(PRIVACY_MODE_DISABLED) {
221 factory_.set_require_confirmation(false); 214 factory_.set_require_confirmation(false);
222 clock_->AdvanceTime(QuicTime::Delta::FromSeconds(1)); 215 clock_->AdvanceTime(QuicTime::Delta::FromSeconds(1));
(...skipping 1383 matching lines...) Expand 10 before | Expand all | Expand 10 after
1606 HostPortPair host_port_pair2(r4_host_name, 80); 1599 HostPortPair host_port_pair2(r4_host_name, 80);
1607 QuicServerId server_id2(host_port_pair2, is_https_, privacy_mode_); 1600 QuicServerId server_id2(host_port_pair2, is_https_, privacy_mode_);
1608 QuicCryptoClientConfig::CachedState* cached2 = 1601 QuicCryptoClientConfig::CachedState* cached2 =
1609 crypto_config->LookupOrCreate(server_id2); 1602 crypto_config->LookupOrCreate(server_id2);
1610 EXPECT_NE(cached1->source_address_token(), cached2->source_address_token()); 1603 EXPECT_NE(cached1->source_address_token(), cached2->source_address_token());
1611 EXPECT_TRUE(cached2->source_address_token().empty()); 1604 EXPECT_TRUE(cached2->source_address_token().empty());
1612 EXPECT_FALSE(cached2->proof_valid()); 1605 EXPECT_FALSE(cached2->proof_valid());
1613 } 1606 }
1614 } 1607 }
1615 1608
1616 TEST_P(QuicStreamFactoryTest, CancelWaitForDataReady) {
1617 // Don't race quic connections when testing cancel reading of server config
1618 // from disk cache.
1619 if (GetParam().enable_connection_racing)
1620 return;
1621 factory_.set_quic_server_info_factory(&quic_server_info_factory_);
1622 QuicStreamFactoryPeer::SetTaskRunner(&factory_, runner_.get());
1623 const size_t kLoadServerInfoTimeoutMs = 50;
1624 QuicStreamFactoryPeer::SetLoadServerInfoTimeout(
1625 &factory_, kLoadServerInfoTimeoutMs);
1626
1627 MockRead reads[] = {
1628 MockRead(ASYNC, OK, 0) // EOF
1629 };
1630 DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0);
1631 socket_factory_.AddSocketDataProvider(&socket_data);
1632 socket_data.StopAfter(1);
1633
1634 crypto_client_stream_factory_.set_handshake_mode(
1635 MockCryptoClientStream::ZERO_RTT);
1636 host_resolver_.set_synchronous_mode(true);
1637 host_resolver_.rules()->AddIPLiteralRule(host_port_pair_.host(),
1638 "192.168.0.1", "");
1639
1640 QuicStreamRequest request(&factory_);
1641 EXPECT_EQ(ERR_IO_PENDING,
1642 request.Request(host_port_pair_,
1643 is_https_,
1644 privacy_mode_,
1645 "GET",
1646 net_log_,
1647 callback_.callback()));
1648
1649 // Verify that the CancelWaitForDataReady task has been posted.
1650 ASSERT_EQ(1u, runner_->GetPostedTasks().size());
1651 EXPECT_EQ(base::TimeDelta::FromMilliseconds(kLoadServerInfoTimeoutMs),
1652 runner_->GetPostedTasks()[0].delay);
1653
1654 runner_->RunNextTask();
1655 ASSERT_EQ(0u, runner_->GetPostedTasks().size());
1656
1657 scoped_ptr<QuicHttpStream> stream = request.ReleaseStream();
1658 EXPECT_TRUE(stream.get());
1659 EXPECT_TRUE(socket_data.at_read_eof());
1660 EXPECT_TRUE(socket_data.at_write_eof());
1661 }
1662
1663 TEST_P(QuicStreamFactoryTest, RacingConnections) { 1609 TEST_P(QuicStreamFactoryTest, RacingConnections) {
1664 if (!GetParam().enable_connection_racing) 1610 if (!GetParam().enable_connection_racing)
1665 return; 1611 return;
1666 factory_.set_quic_server_info_factory(&quic_server_info_factory_); 1612 factory_.set_quic_server_info_factory(&quic_server_info_factory_);
1667 QuicStreamFactoryPeer::SetTaskRunner(&factory_, runner_.get()); 1613 QuicStreamFactoryPeer::SetTaskRunner(&factory_, runner_.get());
1668 const size_t kLoadServerInfoTimeoutMs = 50;
1669 QuicStreamFactoryPeer::SetLoadServerInfoTimeout(&factory_,
1670 kLoadServerInfoTimeoutMs);
1671
1672 MockRead reads[] = { 1614 MockRead reads[] = {
1673 MockRead(ASYNC, OK, 0) // EOF 1615 MockRead(ASYNC, OK, 0) // EOF
1674 }; 1616 };
1675 DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0); 1617 DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0);
1676 socket_factory_.AddSocketDataProvider(&socket_data); 1618 socket_factory_.AddSocketDataProvider(&socket_data);
1677 socket_data.StopAfter(1); 1619 socket_data.StopAfter(1);
1678 1620
1679 MockRead reads2[] = { 1621 MockRead reads2[] = {
1680 MockRead(ASYNC, 0, 0) // EOF 1622 MockRead(ASYNC, 0, 0) // EOF
1681 }; 1623 };
(...skipping 21 matching lines...) Expand all
1703 EXPECT_TRUE(stream.get()); 1645 EXPECT_TRUE(stream.get());
1704 EXPECT_TRUE(socket_data.at_read_eof()); 1646 EXPECT_TRUE(socket_data.at_read_eof());
1705 EXPECT_TRUE(socket_data.at_write_eof()); 1647 EXPECT_TRUE(socket_data.at_write_eof());
1706 EXPECT_EQ(0u, 1648 EXPECT_EQ(0u,
1707 QuicStreamFactoryPeer::GetNumberOfActiveJobs(&factory_, server_id)); 1649 QuicStreamFactoryPeer::GetNumberOfActiveJobs(&factory_, server_id));
1708 } 1650 }
1709 1651
1710 TEST_P(QuicStreamFactoryTest, EnableNotLoadFromDiskCache) { 1652 TEST_P(QuicStreamFactoryTest, EnableNotLoadFromDiskCache) {
1711 factory_.set_quic_server_info_factory(&quic_server_info_factory_); 1653 factory_.set_quic_server_info_factory(&quic_server_info_factory_);
1712 QuicStreamFactoryPeer::SetTaskRunner(&factory_, runner_.get()); 1654 QuicStreamFactoryPeer::SetTaskRunner(&factory_, runner_.get());
1713 const size_t kLoadServerInfoTimeoutMs = 50;
1714 QuicStreamFactoryPeer::SetLoadServerInfoTimeout(&factory_,
1715 kLoadServerInfoTimeoutMs);
1716 QuicStreamFactoryPeer::SetDisableDiskCache(&factory_, true); 1655 QuicStreamFactoryPeer::SetDisableDiskCache(&factory_, true);
1717 1656
1718 MockRead reads[] = { 1657 MockRead reads[] = {
1719 MockRead(ASYNC, OK, 0) // EOF 1658 MockRead(ASYNC, OK, 0) // EOF
1720 }; 1659 };
1721 DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0); 1660 DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0);
1722 socket_factory_.AddSocketDataProvider(&socket_data); 1661 socket_factory_.AddSocketDataProvider(&socket_data);
1723 socket_data.StopAfter(1); 1662 socket_data.StopAfter(1);
1724 1663
1725 crypto_client_stream_factory_.set_handshake_mode( 1664 crypto_client_stream_factory_.set_handshake_mode(
(...skipping 11 matching lines...) Expand all
1737 ASSERT_EQ(0u, runner_->GetPostedTasks().size()); 1676 ASSERT_EQ(0u, runner_->GetPostedTasks().size());
1738 1677
1739 scoped_ptr<QuicHttpStream> stream = request.ReleaseStream(); 1678 scoped_ptr<QuicHttpStream> stream = request.ReleaseStream();
1740 EXPECT_TRUE(stream.get()); 1679 EXPECT_TRUE(stream.get());
1741 EXPECT_TRUE(socket_data.at_read_eof()); 1680 EXPECT_TRUE(socket_data.at_read_eof());
1742 EXPECT_TRUE(socket_data.at_write_eof()); 1681 EXPECT_TRUE(socket_data.at_write_eof());
1743 } 1682 }
1744 1683
1745 } // namespace test 1684 } // namespace test
1746 } // namespace net 1685 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_stream_factory.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698