\r
IAsyncResult async = Dns.BeginResolve (site1Dot, null, null);\r
IPHostEntry entry = Dns.EndResolve (async);\r
- SubTestValidIPHostEntry (entry);\r
- Assert.AreEqual (site1Dot, entry.AddressList [0].ToString ());\r
+ SubTestValidIPHostEntry (entry);
+ var ip = GetNonIPv6Address (entry);\r
+ Assert.AreEqual (site1Dot, ip.ToString ());\r
}\r
\r
void ResolveCallback (IAsyncResult ar)\r
}\r
}\r
\r
+ static IPAddress GetNonIPv6Address (IPHostEntry h)\r
+ {\r
+ var al0 = h.AddressList [0];\r
+ if (al0.AddressFamily == AddressFamily.InterNetworkV6)\r
+ Assert.Ignore ("Resolve address is incompatible, e.g. running on an IPv6 only network");\r
+ return al0;\r
+ }\r
+\r
void SubTestGetHostByName (string siteName, string siteDot)\r
{\r
IPHostEntry h = Dns.GetHostByName (siteName);\r
SubTestValidIPHostEntry (h);\r
Assert.AreEqual (siteName, h.HostName, "siteName");\r
- Assert.AreEqual (siteDot, h.AddressList [0].ToString (), "siteDot");\r
+ var ip = GetNonIPv6Address (h);\r
+ Assert.AreEqual (siteDot, ip.ToString (), "siteDot");\r
}\r
\r
[Test]\r
IPAddress addr = new IPAddress (IPAddress.NetworkToHostOrder ((int) site1IP));\r
IPHostEntry h = Dns.GetHostByAddress (addr);\r
SubTestValidIPHostEntry (h);\r
- Assert.AreEqual (addr.ToString (), h.AddressList [0].ToString ());\r
+ var ip = GetNonIPv6Address (h);\r
+ Assert.AreEqual (addr.ToString (), ip.ToString ());\r
}\r
\r
[Test]\r
{\r
IPAddress addr = new IPAddress (IPAddress.NetworkToHostOrder ((int) site2IP));\r
IPHostEntry h = Dns.GetHostByAddress (addr);\r
- SubTestValidIPHostEntry (h);\r
- Assert.AreEqual (addr.ToString (), h.AddressList [0].ToString ());\r
+ SubTestValidIPHostEntry (h);
+ var ip = GetNonIPv6Address (h);\r
+ Assert.AreEqual (addr.ToString (), ip.ToString ());\r
}\r
\r
[Test]\r