diff --git a/ipv6/main_test.go b/ipv6/main_test.go deleted file mode 100644 index 6ae53bb1..00000000 --- a/ipv6/main_test.go +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2016 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. - -package ipv6_test - -import ( - "flag" - "fmt" - "os" - "os/exec" - "runtime" - "strings" - "testing" -) - -func TestMain(m *testing.M) { - flag.Parse() - if runtime.GOOS == "darwin" { - vers, _ := exec.Command("sw_vers", "-productVersion").Output() - if string(vers) == "10.8" || strings.HasPrefix(string(vers), "10.8.") { - fmt.Fprintf(os.Stderr, "# skipping tests on OS X 10.8 to avoid kernel panics; golang.org/issue/17015\n") - os.Exit(0) - } - } - os.Exit(m.Run()) -} diff --git a/ipv6/multicast_test.go b/ipv6/multicast_test.go index 1647375d..69a21cd3 100644 --- a/ipv6/multicast_test.go +++ b/ipv6/multicast_test.go @@ -29,15 +29,15 @@ var packetConnReadWriteMulticastUDPTests = []struct { func TestPacketConnReadWriteMulticastUDP(t *testing.T) { switch runtime.GOOS { - case "freebsd": // due to a bug on loopback marking - // See http://www.freebsd.org/cgi/query-pr.cgi?pr=180065. - t.Skipf("not supported on %s", runtime.GOOS) case "nacl", "plan9", "windows": t.Skipf("not supported on %s", runtime.GOOS) } if !supportsIPv6 { t.Skip("ipv6 is not supported") } + if !nettest.SupportsIPv6MulticastDeliveryOnLoopback() { + t.Skipf("multicast delivery doesn't work correctly on %s", runtime.GOOS) + } ifi := nettest.RoutedInterface("ip6", net.FlagUp|net.FlagMulticast|net.FlagLoopback) if ifi == nil { t.Skipf("not available on %s", runtime.GOOS) @@ -129,15 +129,15 @@ var packetConnReadWriteMulticastICMPTests = []struct { func TestPacketConnReadWriteMulticastICMP(t *testing.T) { switch runtime.GOOS { - case "freebsd": // due to a bug on loopback marking - // See http://www.freebsd.org/cgi/query-pr.cgi?pr=180065. - t.Skipf("not supported on %s", runtime.GOOS) case "nacl", "plan9", "windows": t.Skipf("not supported on %s", runtime.GOOS) } if !supportsIPv6 { t.Skip("ipv6 is not supported") } + if !nettest.SupportsIPv6MulticastDeliveryOnLoopback() { + t.Skipf("multicast delivery doesn't work correctly on %s", runtime.GOOS) + } if m, ok := nettest.SupportsRawIPSocket(); !ok { t.Skip(m) }