| OLD | NEW |
| 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/base/host_resolver_impl.h" | 5 #include "net/base/host_resolver_impl.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 757 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 768 NULL)); | 768 NULL)); |
| 769 | 769 |
| 770 for (size_t i = 0; i < 4; ++i) { | 770 for (size_t i = 0; i < 4; ++i) { |
| 771 EXPECT_EQ(ERR_IO_PENDING, CreateRequest("a", 80 + i)->Resolve()) << i; | 771 EXPECT_EQ(ERR_IO_PENDING, CreateRequest("a", 80 + i)->Resolve()) << i; |
| 772 } | 772 } |
| 773 | 773 |
| 774 proc_->SignalMultiple(2u); // One for "a". One for the second "a". | 774 proc_->SignalMultiple(2u); // One for "a". One for the second "a". |
| 775 | 775 |
| 776 EXPECT_EQ(OK, requests_[0]->WaitForResult()); | 776 EXPECT_EQ(OK, requests_[0]->WaitForResult()); |
| 777 ASSERT_EQ(5u, requests_.size()); | 777 ASSERT_EQ(5u, requests_.size()); |
| 778 EXPECT_EQ(OK, requests_->back()->WaitForResult()); | 778 EXPECT_EQ(OK, requests_.back()->WaitForResult()); |
| 779 | 779 |
| 780 EXPECT_EQ(2u, proc_->GetCaptureList().size()); | 780 EXPECT_EQ(2u, proc_->GetCaptureList().size()); |
| 781 } | 781 } |
| 782 | 782 |
| 783 TEST_F(HostResolverImplTest, BypassCache) { | 783 TEST_F(HostResolverImplTest, BypassCache) { |
| 784 struct MyHandler : public Handler { | 784 struct MyHandler : public Handler { |
| 785 virtual void Handle(Request* req) OVERRIDE { | 785 virtual void Handle(Request* req) OVERRIDE { |
| 786 if (req->index() == 0) { | 786 if (req->index() == 0) { |
| 787 // On completing the first request, start another request for "a". | 787 // On completing the first request, start another request for "a". |
| 788 // Since caching is enabled, this should complete synchronously. | 788 // Since caching is enabled, this should complete synchronously. |
| (...skipping 473 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1262 // Test successful and fallback resolutions in HostResolverImpl::DnsTask. | 1262 // Test successful and fallback resolutions in HostResolverImpl::DnsTask. |
| 1263 TEST_F(HostResolverImplDnsTest, DnsTask) { | 1263 TEST_F(HostResolverImplDnsTest, DnsTask) { |
| 1264 resolver_->SetDefaultAddressFamily(ADDRESS_FAMILY_IPV4); | 1264 resolver_->SetDefaultAddressFamily(ADDRESS_FAMILY_IPV4); |
| 1265 | 1265 |
| 1266 proc_->AddRuleForAllFamilies("er_succeed", "192.168.1.101"); | 1266 proc_->AddRuleForAllFamilies("er_succeed", "192.168.1.101"); |
| 1267 proc_->AddRuleForAllFamilies("nx_succeed", "192.168.1.102"); | 1267 proc_->AddRuleForAllFamilies("nx_succeed", "192.168.1.102"); |
| 1268 // All other hostnames will fail in proc_. | 1268 // All other hostnames will fail in proc_. |
| 1269 | 1269 |
| 1270 // Initially there is no config, so client should not be invoked. | 1270 // Initially there is no config, so client should not be invoked. |
| 1271 EXPECT_EQ(ERR_IO_PENDING, CreateRequest("ok_fail", 80)->Resolve()); | 1271 EXPECT_EQ(ERR_IO_PENDING, CreateRequest("ok_fail", 80)->Resolve()); |
| 1272 proc_->SignalMultiple(requests_->size()); | 1272 proc_->SignalMultiple(requests_.size()); |
| 1273 | 1273 |
| 1274 EXPECT_EQ(ERR_NAME_NOT_RESOLVED, requests_[0]->WaitForResult()); | 1274 EXPECT_EQ(ERR_NAME_NOT_RESOLVED, requests_[0]->WaitForResult()); |
| 1275 | 1275 |
| 1276 ChangeDnsConfig(CreateValidDnsConfig()); | 1276 ChangeDnsConfig(CreateValidDnsConfig()); |
| 1277 | 1277 |
| 1278 EXPECT_EQ(ERR_IO_PENDING, CreateRequest("ok_fail", 80)->Resolve()); | 1278 EXPECT_EQ(ERR_IO_PENDING, CreateRequest("ok_fail", 80)->Resolve()); |
| 1279 EXPECT_EQ(ERR_IO_PENDING, CreateRequest("er_fail", 80)->Resolve()); | 1279 EXPECT_EQ(ERR_IO_PENDING, CreateRequest("er_fail", 80)->Resolve()); |
| 1280 EXPECT_EQ(ERR_IO_PENDING, CreateRequest("nx_fail", 80)->Resolve()); | 1280 EXPECT_EQ(ERR_IO_PENDING, CreateRequest("nx_fail", 80)->Resolve()); |
| 1281 EXPECT_EQ(ERR_IO_PENDING, CreateRequest("er_succeed", 80)->Resolve()); | 1281 EXPECT_EQ(ERR_IO_PENDING, CreateRequest("er_succeed", 80)->Resolve()); |
| 1282 EXPECT_EQ(ERR_IO_PENDING, CreateRequest("nx_succeed", 80)->Resolve()); | 1282 EXPECT_EQ(ERR_IO_PENDING, CreateRequest("nx_succeed", 80)->Resolve()); |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1364 proc_->SignalMultiple(requests_.size()); | 1364 proc_->SignalMultiple(requests_.size()); |
| 1365 | 1365 |
| 1366 for (size_t i = 0; i < 2; ++i) | 1366 for (size_t i = 0; i < 2; ++i) |
| 1367 EXPECT_EQ(ERR_NAME_NOT_RESOLVED, requests_[i]->WaitForResult()) << i; | 1367 EXPECT_EQ(ERR_NAME_NOT_RESOLVED, requests_[i]->WaitForResult()) << i; |
| 1368 | 1368 |
| 1369 for (size_t i = 2; i < requests_.size(); ++i) | 1369 for (size_t i = 2; i < requests_.size(); ++i) |
| 1370 EXPECT_EQ(OK, requests_[i]->WaitForResult()) << i; | 1370 EXPECT_EQ(OK, requests_[i]->WaitForResult()) << i; |
| 1371 } | 1371 } |
| 1372 | 1372 |
| 1373 } // namespace net | 1373 } // namespace net |
| OLD | NEW |