diff options
author | eroman@chromium.org <eroman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-06-03 23:53:04 +0000 |
---|---|---|
committer | eroman@chromium.org <eroman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-06-03 23:53:04 +0000 |
commit | 80c13c3171f90881fcd85624dbcc7ee9bff22fc1 (patch) | |
tree | 582a437d164ff178d6dbde8fc5ad72edbec5d875 /net/base/net_util_unittest.cc | |
parent | 5f78a9cc41f24a6ec307cc7ac3c26566ecb31b52 (diff) | |
download | chromium_src-80c13c3171f90881fcd85624dbcc7ee9bff22fc1.zip chromium_src-80c13c3171f90881fcd85624dbcc7ee9bff22fc1.tar.gz chromium_src-80c13c3171f90881fcd85624dbcc7ee9bff22fc1.tar.bz2 |
Enable a test, by masking failures if the system does not support IPv6.
Review URL: http://codereview.chromium.org/114061
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17571 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/base/net_util_unittest.cc')
-rw-r--r-- | net/base/net_util_unittest.cc | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/net/base/net_util_unittest.cc b/net/base/net_util_unittest.cc index 29b8f702..0b92058 100644 --- a/net/base/net_util_unittest.cc +++ b/net/base/net_util_unittest.cc @@ -350,7 +350,8 @@ struct UrlTestData { // Returns an addrinfo for the given 32-bit address (IPv4.) // The result lives in static storage, so don't delete it. -const struct addrinfo* GetIPv4Address(const uint8 bytes[4]) { +// |bytes| should be an array of length 4. +const struct addrinfo* GetIPv4Address(const uint8* bytes) { static struct addrinfo static_ai; static struct sockaddr_in static_addr4; @@ -365,7 +366,7 @@ const struct addrinfo* GetIPv4Address(const uint8 bytes[4]) { memset(addr4, 0, sizeof(static_addr4)); addr4->sin_port = htons(80); addr4->sin_family = ai->ai_family; - memcpy(&addr4->sin_addr, bytes, sizeof(bytes)); + memcpy(&addr4->sin_addr, bytes, 4); ai->ai_addr = (sockaddr*)addr4; return ai; @@ -373,7 +374,8 @@ const struct addrinfo* GetIPv4Address(const uint8 bytes[4]) { // Returns a addrinfo for the given 128-bit address (IPv6.) // The result lives in static storage, so don't delete it. -const struct addrinfo* GetIPv6Address(const uint8 bytes[16]) { +// |bytes| should be an array of length 16. +const struct addrinfo* GetIPv6Address(const uint8* bytes) { static struct addrinfo static_ai; static struct sockaddr_in6 static_addr6; @@ -388,7 +390,7 @@ const struct addrinfo* GetIPv6Address(const uint8 bytes[16]) { memset(addr6, 0, sizeof(static_addr6)); addr6->sin6_port = htons(80); addr6->sin6_family = ai->ai_family; - memcpy(&addr6->sin6_addr, bytes, sizeof(bytes)); + memcpy(&addr6->sin6_addr, bytes, 16); ai->ai_addr = (sockaddr*)addr6; return ai; @@ -994,8 +996,7 @@ TEST(NetUtilTest, NetAddressToString_IPv4) { } } -// TODO(eroman): On windows this is failing with WSAEINVAL (10022). -TEST(NetUtilTest, DISABLED_NetAddressToString_IPv6) { +TEST(NetUtilTest, NetAddressToString_IPv6) { const struct { uint8 addr[16]; const char* result; @@ -1008,7 +1009,10 @@ TEST(NetUtilTest, DISABLED_NetAddressToString_IPv6) { for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) { const addrinfo* ai = GetIPv6Address(tests[i].addr); std::string result = net::NetAddressToString(ai); - EXPECT_EQ(std::string(tests[i].result), result); + // Allow NetAddressToString() to fail, in case the system doesn't + // support IPv6. + if (!result.empty()) + EXPECT_EQ(std::string(tests[i].result), result); } } |