From: Mikio Hara Date: Thu, 14 Apr 2016 07:31:52 +0000 (+0900) Subject: net: relax TestInterfaces and TestInterfaceAddrs for BSD variants X-Git-Tag: go1.7beta1~663 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=19db74566491dcbb4dc2ad0a92b98aa2c28dd8fe;p=gostls13.git net: relax TestInterfaces and TestInterfaceAddrs for BSD variants Fixes #15249. Change-Id: I91fc3d6a2df294b21a67d085da6fe661827a850e Reviewed-on: https://go-review.googlesource.com/22079 Reviewed-by: Brad Fitzpatrick --- diff --git a/src/net/interface_test.go b/src/net/interface_test.go index 60225506b4..e158013493 100644 --- a/src/net/interface_test.go +++ b/src/net/interface_test.go @@ -183,10 +183,16 @@ func testInterfaceMulticastAddrs(t *testing.T, ifi *Interface) (nmaf4, nmaf6 int } func testAddrs(t *testing.T, ifat []Addr) (naf4, naf6 int) { + // Note: BSD variants allow assigning any IPv4/IPv6 address + // prefix to IP interface. For example, + // - 0.0.0.0/0 through 255.255.255.255/32 + // - ::/0 through ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff/128 + // In other words, there is no tightly-coupled combination of + // interface address prefixes and connected routes. for _, ifa := range ifat { switch ifa := ifa.(type) { case *IPNet: - if ifa == nil || ifa.IP == nil || ifa.IP.IsUnspecified() || ifa.IP.IsMulticast() || ifa.Mask == nil { + if ifa == nil || ifa.IP == nil || ifa.IP.IsMulticast() || ifa.Mask == nil { t.Errorf("unexpected value: %#v", ifa) continue } @@ -219,7 +225,7 @@ func testAddrs(t *testing.T, ifat []Addr) (naf4, naf6 int) { } t.Logf("interface address %q", ifa.String()) case *IPAddr: - if ifa == nil || ifa.IP == nil || ifa.IP.IsUnspecified() || ifa.IP.IsMulticast() { + if ifa == nil || ifa.IP == nil || ifa.IP.IsMulticast() { t.Errorf("unexpected value: %#v", ifa) continue }