diff options
author | agayev@chromium.org <agayev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-28 21:34:47 +0000 |
---|---|---|
committer | agayev@chromium.org <agayev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-28 21:34:47 +0000 |
commit | 6e78dfb46a07e5ee38225e0cd32fa8b70ed41558 (patch) | |
tree | c00c45283a8b8f86eb079395ee4ba56c9954c215 /net/http | |
parent | a13cc36d904c699cd37f80a1c5200f21a7a54671 (diff) | |
download | chromium_src-6e78dfb46a07e5ee38225e0cd32fa8b70ed41558.zip chromium_src-6e78dfb46a07e5ee38225e0cd32fa8b70ed41558.tar.gz chromium_src-6e78dfb46a07e5ee38225e0cd32fa8b70ed41558.tar.bz2 |
HostResolverImpl: don't interpret NULL callback argument as a request to do synchronous resolution.
BUG=90547,60149
TEST=net_unittests
Review URL: http://codereview.chromium.org/7520026
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94552 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/http')
-rw-r--r-- | net/http/http_network_transaction_unittest.cc | 31 |
1 files changed, 22 insertions, 9 deletions
diff --git a/net/http/http_network_transaction_unittest.cc b/net/http/http_network_transaction_unittest.cc index 2a942dc..9679667 100644 --- a/net/http/http_network_transaction_unittest.cc +++ b/net/http/http_network_transaction_unittest.cc @@ -5833,20 +5833,21 @@ void BypassHostCacheOnRefreshHelper(int load_flags) { scoped_ptr<HttpTransaction> trans(new HttpNetworkTransaction( CreateSession(&session_deps))); - // Warm up the host cache so it has an entry for "www.google.com" (by doing - // a synchronous lookup.) + // Warm up the host cache so it has an entry for "www.google.com". AddressList addrlist; + TestCompletionCallback callback; int rv = session_deps.host_resolver->Resolve( HostResolver::RequestInfo(HostPortPair("www.google.com", 80)), &addrlist, - NULL, NULL, BoundNetLog()); + &callback, NULL, BoundNetLog()); + EXPECT_EQ(ERR_IO_PENDING, rv); + rv = callback.WaitForResult(); EXPECT_EQ(OK, rv); // Verify that it was added to host cache, by doing a subsequent async lookup // and confirming it completes synchronously. - TestCompletionCallback resolve_callback; rv = session_deps.host_resolver->Resolve( HostResolver::RequestInfo(HostPortPair("www.google.com", 80)), &addrlist, - &resolve_callback, NULL, BoundNetLog()); + &callback, NULL, BoundNetLog()); ASSERT_EQ(OK, rv); // Inject a failure the next time that "www.google.com" is resolved. This way @@ -5861,7 +5862,6 @@ void BypassHostCacheOnRefreshHelper(int load_flags) { session_deps.socket_factory.AddSocketDataProvider(&data); // Run the request. - TestCompletionCallback callback; rv = trans->Start(&request, &callback, BoundNetLog()); ASSERT_EQ(ERR_IO_PENDING, rv); rv = callback.WaitForResult(); @@ -8721,7 +8721,12 @@ void IPPoolingAddAlias(MockCachingHostResolver* host_resolver, // Resolve the host and port. AddressList addresses; HostResolver::RequestInfo info(host_port_pair); - host_resolver->Resolve(info, &addresses, NULL, NULL, BoundNetLog()); + TestCompletionCallback callback; + int rv = host_resolver->Resolve(info, &addresses, &callback, NULL, + BoundNetLog()); + if (rv == ERR_IO_PENDING) + rv = callback.WaitForResult(); + DCHECK_EQ(OK, rv); // Add the first address as an alias. It would have been better to call // MockClientSocket::GetPeerAddress but that returns 192.0.2.33 whereas @@ -8808,7 +8813,11 @@ TEST_F(HttpNetworkTransactionTest, UseIPConnectionPooling) { HostPortPair host_port("www.gmail.com", 443); HostResolver::RequestInfo resolve_info(host_port); AddressList ignored; - host_resolver.Resolve(resolve_info, &ignored, NULL, NULL, BoundNetLog()); + rv = host_resolver.Resolve(resolve_info, &ignored, &callback, NULL, + BoundNetLog()); + EXPECT_EQ(ERR_IO_PENDING, rv); + rv = callback.WaitForResult(); + EXPECT_EQ(OK, rv); // MockHostResolver returns 127.0.0.1, port 443 for https://www.google.com/ // and https://www.gmail.com/. Add 127.0.0.1 as alias for host_port_pair: @@ -8960,7 +8969,11 @@ TEST_F(HttpNetworkTransactionTest, // Preload cache entries into HostCache. HostResolver::RequestInfo resolve_info(HostPortPair("www.gmail.com", 443)); AddressList ignored; - host_resolver.Resolve(resolve_info, &ignored, NULL, NULL, BoundNetLog()); + rv = host_resolver.Resolve(resolve_info, &ignored, &callback, NULL, + BoundNetLog()); + EXPECT_EQ(ERR_IO_PENDING, rv); + rv = callback.WaitForResult(); + EXPECT_EQ(OK, rv); HttpRequestInfo request2; request2.method = "GET"; |