| 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/dns/dns_transaction.h" | 5 #include "net/dns/dns_transaction.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
| 9 #include "base/memory/scoped_vector.h" | 9 #include "base/memory/scoped_vector.h" |
| 10 #include "base/rand_util.h" | 10 #include "base/rand_util.h" |
| (...skipping 492 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 503 | 503 |
| 504 TransactionHelper helper0(kT0HostName, | 504 TransactionHelper helper0(kT0HostName, |
| 505 kT0Qtype, | 505 kT0Qtype, |
| 506 ERR_NAME_NOT_RESOLVED); | 506 ERR_NAME_NOT_RESOLVED); |
| 507 EXPECT_TRUE(helper0.Run(transaction_factory_.get())); | 507 EXPECT_TRUE(helper0.Run(transaction_factory_.get())); |
| 508 } | 508 } |
| 509 | 509 |
| 510 TEST_F(DnsTransactionTest, Timeout) { | 510 TEST_F(DnsTransactionTest, Timeout) { |
| 511 config_.attempts = 3; | 511 config_.attempts = 3; |
| 512 // Use short timeout to speed up the test. | 512 // Use short timeout to speed up the test. |
| 513 config_.timeout = base::TimeDelta::FromMilliseconds( | 513 config_.timeout = TestTimeouts::tiny_timeout(); |
| 514 TestTimeouts::tiny_timeout_ms()); | |
| 515 ConfigureFactory(); | 514 ConfigureFactory(); |
| 516 | 515 |
| 517 AddTimeout(kT0HostName, kT0Qtype); | 516 AddTimeout(kT0HostName, kT0Qtype); |
| 518 AddTimeout(kT0HostName, kT0Qtype); | 517 AddTimeout(kT0HostName, kT0Qtype); |
| 519 AddTimeout(kT0HostName, kT0Qtype); | 518 AddTimeout(kT0HostName, kT0Qtype); |
| 520 PrepareSockets(); | 519 PrepareSockets(); |
| 521 | 520 |
| 522 TransactionHelper helper0(kT0HostName, | 521 TransactionHelper helper0(kT0HostName, |
| 523 kT0Qtype, | 522 kT0Qtype, |
| 524 ERR_DNS_TIMED_OUT); | 523 ERR_DNS_TIMED_OUT); |
| 525 EXPECT_TRUE(helper0.RunUntilDone(transaction_factory_.get())); | 524 EXPECT_TRUE(helper0.RunUntilDone(transaction_factory_.get())); |
| 526 MessageLoop::current()->AssertIdle(); | 525 MessageLoop::current()->AssertIdle(); |
| 527 } | 526 } |
| 528 | 527 |
| 529 TEST_F(DnsTransactionTest, ServerFallbackAndRotate) { | 528 TEST_F(DnsTransactionTest, ServerFallbackAndRotate) { |
| 530 // Test that we fallback on both server failure and timeout. | 529 // Test that we fallback on both server failure and timeout. |
| 531 config_.attempts = 2; | 530 config_.attempts = 2; |
| 532 // The next request should start from the next server. | 531 // The next request should start from the next server. |
| 533 config_.rotate = true; | 532 config_.rotate = true; |
| 534 ConfigureNumServers(3); | 533 ConfigureNumServers(3); |
| 535 // Use short timeout to speed up the test. | 534 // Use short timeout to speed up the test. |
| 536 config_.timeout = base::TimeDelta::FromMilliseconds( | 535 config_.timeout = TestTimeouts::tiny_timeout(); |
| 537 TestTimeouts::tiny_timeout_ms()); | |
| 538 ConfigureFactory(); | 536 ConfigureFactory(); |
| 539 | 537 |
| 540 // Responses for first request. | 538 // Responses for first request. |
| 541 AddTimeout(kT0HostName, kT0Qtype); | 539 AddTimeout(kT0HostName, kT0Qtype); |
| 542 AddAsyncRcode(kT0HostName, kT0Qtype, dns_protocol::kRcodeSERVFAIL); | 540 AddAsyncRcode(kT0HostName, kT0Qtype, dns_protocol::kRcodeSERVFAIL); |
| 543 AddTimeout(kT0HostName, kT0Qtype); | 541 AddTimeout(kT0HostName, kT0Qtype); |
| 544 AddAsyncRcode(kT0HostName, kT0Qtype, dns_protocol::kRcodeSERVFAIL); | 542 AddAsyncRcode(kT0HostName, kT0Qtype, dns_protocol::kRcodeSERVFAIL); |
| 545 AddAsyncRcode(kT0HostName, kT0Qtype, dns_protocol::kRcodeNXDOMAIN); | 543 AddAsyncRcode(kT0HostName, kT0Qtype, dns_protocol::kRcodeNXDOMAIN); |
| 546 // Responses for second request. | 544 // Responses for second request. |
| 547 AddAsyncRcode(kT1HostName, kT1Qtype, dns_protocol::kRcodeSERVFAIL); | 545 AddAsyncRcode(kT1HostName, kT1Qtype, dns_protocol::kRcodeSERVFAIL); |
| (...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 783 | 781 |
| 784 TransactionHelper helper0("www", | 782 TransactionHelper helper0("www", |
| 785 kT2Qtype, | 783 kT2Qtype, |
| 786 kT2RecordCount); | 784 kT2RecordCount); |
| 787 EXPECT_TRUE(helper0.Run(transaction_factory_.get())); | 785 EXPECT_TRUE(helper0.Run(transaction_factory_.get())); |
| 788 } | 786 } |
| 789 | 787 |
| 790 } // namespace | 788 } // namespace |
| 791 | 789 |
| 792 } // namespace net | 790 } // namespace net |
| OLD | NEW |