summaryrefslogtreecommitdiffstats
path: root/net/base/net_util_unittest.cc
diff options
context:
space:
mode:
authoreroman@chromium.org <eroman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-03 23:53:04 +0000
committereroman@chromium.org <eroman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-03 23:53:04 +0000
commit80c13c3171f90881fcd85624dbcc7ee9bff22fc1 (patch)
tree582a437d164ff178d6dbde8fc5ad72edbec5d875 /net/base/net_util_unittest.cc
parent5f78a9cc41f24a6ec307cc7ac3c26566ecb31b52 (diff)
downloadchromium_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.cc18
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);
}
}