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

Side by Side Diff: net/dns/dns_response_unittest.cc

Issue 10855179: [net/dns] Resolve AF_UNSPEC on dual-stacked systems. Sort addresses according to RFC3484. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 4 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 | Annotate | Revision Log
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/dns/dns_response.h" 5 #include "net/dns/dns_response.h"
6 6
7 #include "base/time.h" 7 #include "base/time.h"
8 #include "net/base/address_list.h" 8 #include "net/base/address_list.h"
9 #include "net/base/io_buffer.h" 9 #include "net/base/io_buffer.h"
10 #include "net/base/net_util.h" 10 #include "net/base/net_util.h"
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after
292 kT3CanonName, 292 kT3CanonName,
293 kT3TTL, 293 kT3TTL,
294 }, 294 },
295 }; 295 };
296 296
297 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(cases); ++i) { 297 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(cases); ++i) {
298 const TestCase& t = cases[i]; 298 const TestCase& t = cases[i];
299 DnsResponse response(t.response_data, t.response_size, t.query_size); 299 DnsResponse response(t.response_data, t.response_size, t.query_size);
300 AddressList addr_list; 300 AddressList addr_list;
301 base::TimeDelta ttl; 301 base::TimeDelta ttl;
302 EXPECT_EQ(DnsResponse::DNS_SUCCESS, 302 EXPECT_EQ(DnsResponse::DNS_PARSE_OK,
303 response.ParseToAddressList(&addr_list, &ttl)); 303 response.ParseToAddressList(&addr_list, &ttl));
304 std::vector<const char*> expected_addresses( 304 std::vector<const char*> expected_addresses(
305 t.expected_addresses, 305 t.expected_addresses,
306 t.expected_addresses + t.num_expected_addresses); 306 t.expected_addresses + t.num_expected_addresses);
307 VerifyAddressList(expected_addresses, addr_list); 307 VerifyAddressList(expected_addresses, addr_list);
308 EXPECT_EQ(t.expected_cname, addr_list.canonical_name()); 308 EXPECT_EQ(t.expected_cname, addr_list.canonical_name());
309 EXPECT_EQ(base::TimeDelta::FromSeconds(t.expected_ttl_sec), ttl); 309 EXPECT_EQ(base::TimeDelta::FromSeconds(t.expected_ttl_sec), ttl);
310 } 310 }
311 } 311 }
312 312
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
422 { kResponseNameMismatch, arraysize(kResponseNameMismatch), 422 { kResponseNameMismatch, arraysize(kResponseNameMismatch),
423 DnsResponse::DNS_NAME_MISMATCH }, 423 DnsResponse::DNS_NAME_MISMATCH },
424 { kResponseNameMismatchInChain, arraysize(kResponseNameMismatchInChain), 424 { kResponseNameMismatchInChain, arraysize(kResponseNameMismatchInChain),
425 DnsResponse::DNS_NAME_MISMATCH }, 425 DnsResponse::DNS_NAME_MISMATCH },
426 { kResponseSizeMismatch, arraysize(kResponseSizeMismatch), 426 { kResponseSizeMismatch, arraysize(kResponseSizeMismatch),
427 DnsResponse::DNS_SIZE_MISMATCH }, 427 DnsResponse::DNS_SIZE_MISMATCH },
428 { kResponseCNAMEAfterAddress, arraysize(kResponseCNAMEAfterAddress), 428 { kResponseCNAMEAfterAddress, arraysize(kResponseCNAMEAfterAddress),
429 DnsResponse::DNS_CNAME_AFTER_ADDRESS }, 429 DnsResponse::DNS_CNAME_AFTER_ADDRESS },
430 { kResponseTTLMismatch, arraysize(kResponseTTLMismatch), 430 { kResponseTTLMismatch, arraysize(kResponseTTLMismatch),
431 DnsResponse::DNS_ADDRESS_TTL_MISMATCH }, 431 DnsResponse::DNS_ADDRESS_TTL_MISMATCH },
432 // Not actually a failure, just an empty result.
432 { kResponseNoAddresses, arraysize(kResponseNoAddresses), 433 { kResponseNoAddresses, arraysize(kResponseNoAddresses),
433 DnsResponse::DNS_NO_ADDRESSES }, 434 DnsResponse::DNS_PARSE_OK },
434 }; 435 };
435 436
436 const size_t kQuerySize = 12 + 7; 437 const size_t kQuerySize = 12 + 7;
437 438
438 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(cases); ++i) { 439 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(cases); ++i) {
439 const TestCase& t = cases[i]; 440 const TestCase& t = cases[i];
440 441
441 DnsResponse response(t.data, t.size, kQuerySize); 442 DnsResponse response(t.data, t.size, kQuerySize);
442 AddressList addr_list; 443 AddressList addr_list;
443 base::TimeDelta ttl; 444 base::TimeDelta ttl;
444 EXPECT_EQ(t.expected_result, 445 EXPECT_EQ(t.expected_result,
445 response.ParseToAddressList(&addr_list, &ttl)); 446 response.ParseToAddressList(&addr_list, &ttl));
446 } 447 }
447 } 448 }
448 449
449 } // namespace 450 } // namespace
450 451
451 } // namespace net 452 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698