diff --git a/src/net/interface_test.go b/src/net/interface_test.go index c34cd7432f..4163fa9d9a 100644 --- a/src/net/interface_test.go +++ b/src/net/interface_test.go @@ -8,6 +8,7 @@ package net import ( "fmt" + "internal/testenv" "reflect" "runtime" "testing" @@ -50,10 +51,20 @@ func ipv6LinkLocalUnicastAddr(ifi *Interface) string { return "" } -func TestInterfaces(t *testing.T) { - if runtime.GOOS == "darwin" && (runtime.GOARCH == "arm" || runtime.GOARCH == "arm64") { - t.Skipf("sysctl is not supported on iOS") +func condSkipInterfaceTest(t *testing.T) { + t.Helper() + switch runtime.GOOS { + case "darwin": + if runtime.GOARCH == "arm" || runtime.GOARCH == "arm64" { + t.Skipf("sysctl is not supported on iOS") + } + case "dragonfly": + testenv.SkipFlaky(t, 34368) } +} + +func TestInterfaces(t *testing.T) { + condSkipInterfaceTest(t) ift, err := Interfaces() if err != nil { t.Fatal(err) @@ -85,9 +96,7 @@ func TestInterfaces(t *testing.T) { } func TestInterfaceAddrs(t *testing.T) { - if runtime.GOOS == "darwin" && (runtime.GOARCH == "arm" || runtime.GOARCH == "arm64") { - t.Skipf("sysctl is not supported on iOS") - } + condSkipInterfaceTest(t) ift, err := Interfaces() if err != nil { t.Fatal(err) @@ -107,9 +116,7 @@ func TestInterfaceAddrs(t *testing.T) { } func TestInterfaceUnicastAddrs(t *testing.T) { - if runtime.GOOS == "darwin" && (runtime.GOARCH == "arm" || runtime.GOARCH == "arm64") { - t.Skipf("sysctl is not supported on iOS") - } + condSkipInterfaceTest(t) ift, err := Interfaces() if err != nil { t.Fatal(err) @@ -137,9 +144,7 @@ func TestInterfaceUnicastAddrs(t *testing.T) { } func TestInterfaceMulticastAddrs(t *testing.T) { - if runtime.GOOS == "darwin" && (runtime.GOARCH == "arm" || runtime.GOARCH == "arm64") { - t.Skipf("sysctl is not supported on iOS") - } + condSkipInterfaceTest(t) ift, err := Interfaces() if err != nil { t.Fatal(err)