all: use of nettest, remove internal/nettest
This change uses the nettest package where possible and removes the
internal/nettest package.
Change-Id: I5615a3ab7957183fecea6b5646df99dbb7c186e2
Reviewed-on: https://go-review.googlesource.com/c/net/+/123057
Run-TryBot: Mikio Hara <mikioh.public.networking@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Matt Layher <mdlayher@gmail.com>
diff --git a/ipv4/helper_posix_test.go b/ipv4/helper_posix_test.go
new file mode 100644
index 0000000..ee66dd2
--- /dev/null
+++ b/ipv4/helper_posix_test.go
@@ -0,0 +1,31 @@
+// Copyright 2014 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris windows
+
+package ipv4_test
+
+import (
+ "os"
+ "syscall"
+)
+
+func protocolNotSupported(err error) bool {
+ switch err := err.(type) {
+ case syscall.Errno:
+ switch err {
+ case syscall.EPROTONOSUPPORT, syscall.ENOPROTOOPT:
+ return true
+ }
+ case *os.SyscallError:
+ switch err := err.Err.(type) {
+ case syscall.Errno:
+ switch err {
+ case syscall.EPROTONOSUPPORT, syscall.ENOPROTOOPT:
+ return true
+ }
+ }
+ }
+ return false
+}
diff --git a/ipv4/helper_stub_test.go b/ipv4/helper_stub_test.go
new file mode 100644
index 0000000..4ba0171
--- /dev/null
+++ b/ipv4/helper_stub_test.go
@@ -0,0 +1,11 @@
+// Copyright 2014 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows
+
+package ipv4_test
+
+func protocolNotSupported(err error) bool {
+ return false
+}
diff --git a/ipv4/icmp_test.go b/ipv4/icmp_test.go
index 3324b54..d51acce 100644
--- a/ipv4/icmp_test.go
+++ b/ipv4/icmp_test.go
@@ -10,8 +10,8 @@
"runtime"
"testing"
- "golang.org/x/net/internal/nettest"
"golang.org/x/net/ipv4"
+ "golang.org/x/net/nettest"
)
var icmpStringTests = []struct {
@@ -66,8 +66,8 @@
default:
t.Skipf("not supported on %s", runtime.GOOS)
}
- if m, ok := nettest.SupportsRawIPSocket(); !ok {
- t.Skip(m)
+ if !nettest.SupportsRawSocket() {
+ t.Skipf("not supported on %s/%s", runtime.GOOS, runtime.GOARCH)
}
c, err := net.ListenPacket("ip4:icmp", "127.0.0.1")
diff --git a/ipv4/multicast_test.go b/ipv4/multicast_test.go
index fd9efe0..7271dd0 100644
--- a/ipv4/multicast_test.go
+++ b/ipv4/multicast_test.go
@@ -14,8 +14,8 @@
"golang.org/x/net/icmp"
"golang.org/x/net/internal/iana"
- "golang.org/x/net/internal/nettest"
"golang.org/x/net/ipv4"
+ "golang.org/x/net/nettest"
)
var packetConnReadWriteMulticastUDPTests = []struct {
@@ -32,8 +32,8 @@
case "aix", "fuchsia", "hurd", "js", "nacl", "plan9", "solaris", "windows":
t.Skipf("not supported on %s", runtime.GOOS)
}
- ifi := nettest.RoutedInterface("ip4", net.FlagUp|net.FlagMulticast|net.FlagLoopback)
- if ifi == nil {
+ ifi, err := nettest.RoutedInterface("ip4", net.FlagUp|net.FlagMulticast|net.FlagLoopback)
+ if err != nil {
t.Skipf("not available on %s", runtime.GOOS)
}
@@ -82,7 +82,7 @@
for i, toggle := range []bool{true, false, true} {
if err := p.SetControlMessage(cf, toggle); err != nil {
- if nettest.ProtocolNotSupported(err) {
+ if protocolNotSupported(err) {
t.Logf("not supported on %s", runtime.GOOS)
continue
}
@@ -120,11 +120,11 @@
case "aix", "fuchsia", "hurd", "js", "nacl", "plan9", "solaris", "windows":
t.Skipf("not supported on %s", runtime.GOOS)
}
- if m, ok := nettest.SupportsRawIPSocket(); !ok {
- t.Skip(m)
+ if !nettest.SupportsRawSocket() {
+ t.Skipf("not supported on %s/%s", runtime.GOOS, runtime.GOARCH)
}
- ifi := nettest.RoutedInterface("ip4", net.FlagUp|net.FlagMulticast|net.FlagLoopback)
- if ifi == nil {
+ ifi, err := nettest.RoutedInterface("ip4", net.FlagUp|net.FlagMulticast|net.FlagLoopback)
+ if err != nil {
t.Skipf("not available on %s", runtime.GOOS)
}
@@ -184,7 +184,7 @@
t.Fatal(err)
}
if err := p.SetControlMessage(cf, toggle); err != nil {
- if nettest.ProtocolNotSupported(err) {
+ if protocolNotSupported(err) {
t.Logf("not supported on %s", runtime.GOOS)
continue
}
@@ -234,11 +234,11 @@
if testing.Short() {
t.Skip("to avoid external network")
}
- if m, ok := nettest.SupportsRawIPSocket(); !ok {
- t.Skip(m)
+ if !nettest.SupportsRawSocket() {
+ t.Skipf("not supported on %s/%s", runtime.GOOS, runtime.GOARCH)
}
- ifi := nettest.RoutedInterface("ip4", net.FlagUp|net.FlagMulticast|net.FlagLoopback)
- if ifi == nil {
+ ifi, err := nettest.RoutedInterface("ip4", net.FlagUp|net.FlagMulticast|net.FlagLoopback)
+ if err != nil {
t.Skipf("not available on %s", runtime.GOOS)
}
@@ -305,7 +305,7 @@
Dst: tt.grp.IP,
}
if err := r.SetControlMessage(cf, toggle); err != nil {
- if nettest.ProtocolNotSupported(err) {
+ if protocolNotSupported(err) {
t.Logf("not supported on %s", runtime.GOOS)
continue
}
diff --git a/ipv4/multicastlistener_test.go b/ipv4/multicastlistener_test.go
index 73e509d..591489e 100644
--- a/ipv4/multicastlistener_test.go
+++ b/ipv4/multicastlistener_test.go
@@ -9,8 +9,8 @@
"runtime"
"testing"
- "golang.org/x/net/internal/nettest"
"golang.org/x/net/ipv4"
+ "golang.org/x/net/nettest"
)
var udpMultipleGroupListenerTests = []net.Addr{
@@ -43,7 +43,7 @@
t.Fatal(err)
}
for i, ifi := range ift {
- if _, ok := nettest.IsMulticastCapable("ip4", &ifi); !ok {
+ if _, err := nettest.MulticastSource("ip4", &ifi); err != nil {
continue
}
if err := p.JoinGroup(&ifi, gaddr); err != nil {
@@ -94,7 +94,7 @@
t.Fatal(err)
}
for i, ifi := range ift {
- if _, ok := nettest.IsMulticastCapable("ip4", &ifi); !ok {
+ if _, err := nettest.MulticastSource("ip4", &ifi); err != nil {
continue
}
for _, p := range ps {
@@ -136,8 +136,8 @@
}
port := "0"
for i, ifi := range ift {
- ip, ok := nettest.IsMulticastCapable("ip4", &ifi)
- if !ok {
+ ip, err := nettest.MulticastSource("ip4", &ifi)
+ if err != nil {
continue
}
c, err := net.ListenPacket("udp4", net.JoinHostPort(ip.String(), port)) // unicast address with non-reusable port
@@ -178,8 +178,8 @@
if testing.Short() {
t.Skip("to avoid external network")
}
- if m, ok := nettest.SupportsRawIPSocket(); !ok {
- t.Skip(m)
+ if !nettest.SupportsRawSocket() {
+ t.Skipf("not supported on %s/%s", runtime.GOOS, runtime.GOARCH)
}
c, err := net.ListenPacket("ip4:icmp", "0.0.0.0") // wildcard address
@@ -200,7 +200,7 @@
t.Fatal(err)
}
for i, ifi := range ift {
- if _, ok := nettest.IsMulticastCapable("ip4", &ifi); !ok {
+ if _, err := nettest.MulticastSource("ip4", &ifi); err != nil {
continue
}
if err := r.JoinGroup(&ifi, &gaddr); err != nil {
@@ -223,8 +223,8 @@
if testing.Short() {
t.Skip("to avoid external network")
}
- if m, ok := nettest.SupportsRawIPSocket(); !ok {
- t.Skip(m)
+ if !nettest.SupportsRawSocket() {
+ t.Skipf("not supported on %s/%s", runtime.GOOS, runtime.GOARCH)
}
gaddr := net.IPAddr{IP: net.IPv4(224, 0, 0, 254)} // see RFC 4727
@@ -239,8 +239,8 @@
t.Fatal(err)
}
for i, ifi := range ift {
- ip, ok := nettest.IsMulticastCapable("ip4", &ifi)
- if !ok {
+ ip, err := nettest.MulticastSource("ip4", &ifi)
+ if err != nil {
continue
}
c, err := net.ListenPacket("ip4:253", ip.String()) // unicast address
diff --git a/ipv4/multicastsockopt_test.go b/ipv4/multicastsockopt_test.go
index fd783d0..e9f2c57 100644
--- a/ipv4/multicastsockopt_test.go
+++ b/ipv4/multicastsockopt_test.go
@@ -9,8 +9,8 @@
"runtime"
"testing"
- "golang.org/x/net/internal/nettest"
"golang.org/x/net/ipv4"
+ "golang.org/x/net/nettest"
)
var packetConnMulticastSocketOptionTests = []struct {
@@ -29,15 +29,15 @@
case "aix", "fuchsia", "hurd", "js", "nacl", "plan9":
t.Skipf("not supported on %s", runtime.GOOS)
}
- ifi := nettest.RoutedInterface("ip4", net.FlagUp|net.FlagMulticast|net.FlagLoopback)
- if ifi == nil {
+ ifi, err := nettest.RoutedInterface("ip4", net.FlagUp|net.FlagMulticast|net.FlagLoopback)
+ if err != nil {
t.Skipf("not available on %s", runtime.GOOS)
}
- m, ok := nettest.SupportsRawIPSocket()
+ ok := nettest.SupportsRawSocket()
for _, tt := range packetConnMulticastSocketOptionTests {
if tt.net == "ip4" && !ok {
- t.Log(m)
+ t.Logf("not supported on %s/%s", runtime.GOOS, runtime.GOARCH)
continue
}
c, err := net.ListenPacket(tt.net+tt.proto, tt.addr)
@@ -69,11 +69,11 @@
case "aix", "fuchsia", "hurd", "js", "nacl", "plan9":
t.Skipf("not supported on %s", runtime.GOOS)
}
- if m, ok := nettest.SupportsRawIPSocket(); !ok {
- t.Skip(m)
+ if !nettest.SupportsRawSocket() {
+ t.Skipf("not supported on %s/%s", runtime.GOOS, runtime.GOARCH)
}
- ifi := nettest.RoutedInterface("ip4", net.FlagUp|net.FlagMulticast|net.FlagLoopback)
- if ifi == nil {
+ ifi, err := nettest.RoutedInterface("ip4", net.FlagUp|net.FlagMulticast|net.FlagLoopback)
+ if err != nil {
t.Skipf("not available on %s", runtime.GOOS)
}
diff --git a/ipv4/readwrite_test.go b/ipv4/readwrite_test.go
index acf87d1..5b8b9d3 100644
--- a/ipv4/readwrite_test.go
+++ b/ipv4/readwrite_test.go
@@ -14,8 +14,8 @@
"testing"
"golang.org/x/net/internal/iana"
- "golang.org/x/net/internal/nettest"
"golang.org/x/net/ipv4"
+ "golang.org/x/net/nettest"
)
func BenchmarkReadWriteUnicast(b *testing.B) {
@@ -50,7 +50,7 @@
b.Fatal(err)
}
cm := ipv4.ControlMessage{TTL: 1}
- ifi := nettest.RoutedInterface("ip4", net.FlagUp|net.FlagLoopback)
+ ifi, _ := nettest.RoutedInterface("ip4", net.FlagUp|net.FlagLoopback)
if ifi != nil {
cm.IfIndex = ifi.Index
}
@@ -91,7 +91,8 @@
cm := ipv4.ControlMessage{
Src: net.IPv4(127, 0, 0, 1),
}
- if ifi := nettest.RoutedInterface("ip4", net.FlagUp|net.FlagLoopback); ifi != nil {
+ ifi, _ := nettest.RoutedInterface("ip4", net.FlagUp|net.FlagLoopback)
+ if ifi != nil {
cm.IfIndex = ifi.Index
}
@@ -231,12 +232,12 @@
defer p.Close()
dst := c.LocalAddr()
- ifi := nettest.RoutedInterface("ip4", net.FlagUp|net.FlagLoopback)
+ ifi, _ := nettest.RoutedInterface("ip4", net.FlagUp|net.FlagLoopback)
cf := ipv4.FlagTTL | ipv4.FlagSrc | ipv4.FlagDst | ipv4.FlagInterface
wb := []byte("HELLO-R-U-THERE")
if err := p.SetControlMessage(cf, true); err != nil { // probe before test
- if nettest.ProtocolNotSupported(err) {
+ if protocolNotSupported(err) {
t.Skipf("not supported on %s", runtime.GOOS)
}
t.Fatal(err)
@@ -358,11 +359,11 @@
func testPacketConnConcurrentReadWriteUnicast(t *testing.T, p *ipv4.PacketConn, data []byte, dst net.Addr, batch bool) {
t.Helper()
- ifi := nettest.RoutedInterface("ip4", net.FlagUp|net.FlagLoopback)
+ ifi, _ := nettest.RoutedInterface("ip4", net.FlagUp|net.FlagLoopback)
cf := ipv4.FlagTTL | ipv4.FlagSrc | ipv4.FlagDst | ipv4.FlagInterface
if err := p.SetControlMessage(cf, true); err != nil { // probe before test
- if nettest.ProtocolNotSupported(err) {
+ if protocolNotSupported(err) {
t.Skipf("not supported on %s", runtime.GOOS)
}
t.Fatal(err)
diff --git a/ipv4/unicast_test.go b/ipv4/unicast_test.go
index a75f54e..a4ddfb7 100644
--- a/ipv4/unicast_test.go
+++ b/ipv4/unicast_test.go
@@ -14,8 +14,8 @@
"golang.org/x/net/icmp"
"golang.org/x/net/internal/iana"
- "golang.org/x/net/internal/nettest"
"golang.org/x/net/ipv4"
+ "golang.org/x/net/nettest"
)
func TestPacketConnReadWriteUnicastUDP(t *testing.T) {
@@ -23,8 +23,7 @@
case "aix", "fuchsia", "hurd", "js", "nacl", "plan9", "windows":
t.Skipf("not supported on %s", runtime.GOOS)
}
- ifi := nettest.RoutedInterface("ip4", net.FlagUp|net.FlagLoopback)
- if ifi == nil {
+ if _, err := nettest.RoutedInterface("ip4", net.FlagUp|net.FlagLoopback); err != nil {
t.Skipf("not available on %s", runtime.GOOS)
}
@@ -42,7 +41,7 @@
for i, toggle := range []bool{true, false, true} {
if err := p.SetControlMessage(cf, toggle); err != nil {
- if nettest.ProtocolNotSupported(err) {
+ if protocolNotSupported(err) {
t.Logf("not supported on %s", runtime.GOOS)
continue
}
@@ -74,11 +73,10 @@
case "aix", "fuchsia", "hurd", "js", "nacl", "plan9", "windows":
t.Skipf("not supported on %s", runtime.GOOS)
}
- if m, ok := nettest.SupportsRawIPSocket(); !ok {
- t.Skip(m)
+ if !nettest.SupportsRawSocket() {
+ t.Skipf("not supported on %s/%s", runtime.GOOS, runtime.GOARCH)
}
- ifi := nettest.RoutedInterface("ip4", net.FlagUp|net.FlagLoopback)
- if ifi == nil {
+ if _, err := nettest.RoutedInterface("ip4", net.FlagUp|net.FlagLoopback); err != nil {
t.Skipf("not available on %s", runtime.GOOS)
}
@@ -112,7 +110,7 @@
t.Fatal(err)
}
if err := p.SetControlMessage(cf, toggle); err != nil {
- if nettest.ProtocolNotSupported(err) {
+ if protocolNotSupported(err) {
t.Logf("not supported on %s", runtime.GOOS)
continue
}
@@ -160,11 +158,10 @@
case "aix", "fuchsia", "hurd", "js", "nacl", "plan9", "windows":
t.Skipf("not supported on %s", runtime.GOOS)
}
- if m, ok := nettest.SupportsRawIPSocket(); !ok {
- t.Skip(m)
+ if !nettest.SupportsRawSocket() {
+ t.Skipf("not supported on %s/%s", runtime.GOOS, runtime.GOARCH)
}
- ifi := nettest.RoutedInterface("ip4", net.FlagUp|net.FlagLoopback)
- if ifi == nil {
+ if _, err := nettest.RoutedInterface("ip4", net.FlagUp|net.FlagLoopback); err != nil {
t.Skipf("not available on %s", runtime.GOOS)
}
@@ -206,7 +203,7 @@
Dst: dst.IP,
}
if err := r.SetControlMessage(cf, toggle); err != nil {
- if nettest.ProtocolNotSupported(err) {
+ if protocolNotSupported(err) {
t.Logf("not supported on %s", runtime.GOOS)
continue
}
diff --git a/ipv4/unicastsockopt_test.go b/ipv4/unicastsockopt_test.go
index 9a279b7..7ff9acc 100644
--- a/ipv4/unicastsockopt_test.go
+++ b/ipv4/unicastsockopt_test.go
@@ -10,8 +10,8 @@
"testing"
"golang.org/x/net/internal/iana"
- "golang.org/x/net/internal/nettest"
"golang.org/x/net/ipv4"
+ "golang.org/x/net/nettest"
)
func TestConnUnicastSocketOptions(t *testing.T) {
@@ -19,8 +19,7 @@
case "aix", "fuchsia", "hurd", "js", "nacl", "plan9", "windows":
t.Skipf("not supported on %s", runtime.GOOS)
}
- ifi := nettest.RoutedInterface("ip4", net.FlagUp|net.FlagLoopback)
- if ifi == nil {
+ if _, err := nettest.RoutedInterface("ip4", net.FlagUp|net.FlagLoopback); err != nil {
t.Skipf("not available on %s", runtime.GOOS)
}
@@ -65,15 +64,14 @@
case "aix", "fuchsia", "hurd", "js", "nacl", "plan9", "windows":
t.Skipf("not supported on %s", runtime.GOOS)
}
- ifi := nettest.RoutedInterface("ip4", net.FlagUp|net.FlagLoopback)
- if ifi == nil {
+ if _, err := nettest.RoutedInterface("ip4", net.FlagUp|net.FlagLoopback); err != nil {
t.Skipf("not available on %s", runtime.GOOS)
}
- m, ok := nettest.SupportsRawIPSocket()
+ ok := nettest.SupportsRawSocket()
for _, tt := range packetConnUnicastSocketOptionTests {
if tt.net == "ip4" && !ok {
- t.Log(m)
+ t.Logf("not supported on %s/%s", runtime.GOOS, runtime.GOARCH)
continue
}
c, err := net.ListenPacket(tt.net+tt.proto, tt.addr)
@@ -91,11 +89,10 @@
case "aix", "fuchsia", "hurd", "js", "nacl", "plan9", "windows":
t.Skipf("not supported on %s", runtime.GOOS)
}
- if m, ok := nettest.SupportsRawIPSocket(); !ok {
- t.Skip(m)
+ if !nettest.SupportsRawSocket() {
+ t.Skipf("not supported on %s/%s", runtime.GOOS, runtime.GOARCH)
}
- ifi := nettest.RoutedInterface("ip4", net.FlagUp|net.FlagLoopback)
- if ifi == nil {
+ if _, err := nettest.RoutedInterface("ip4", net.FlagUp|net.FlagLoopback); err != nil {
t.Skipf("not available on %s", runtime.GOOS)
}