]> Cypherpunks repositories - gostls13.git/commitdiff
net: relax TestInterfaces and TestInterfaceAddrs for BSD variants
authorMikio Hara <mikioh.mikioh@gmail.com>
Thu, 14 Apr 2016 07:31:52 +0000 (16:31 +0900)
committerMikio Hara <mikioh.mikioh@gmail.com>
Fri, 15 Apr 2016 01:38:13 +0000 (01:38 +0000)
Fixes #15249.

Change-Id: I91fc3d6a2df294b21a67d085da6fe661827a850e
Reviewed-on: https://go-review.googlesource.com/22079
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/net/interface_test.go

index 60225506b494dc3cf9e66f9ee3a5d8a67733fb20..e1580134937de0c739fbf1219ea05812fdc6164f 100644 (file)
@@ -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
                        }