ipv6: disable multicast packet delivery tests on darwin 12 or below
Fixes golang/go#17015.
Change-Id: Icfb7a689667e0f1df345d63558f2956596da9fb9
Reviewed-on: https://go-review.googlesource.com/28999
Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
diff --git a/ipv6/main_test.go b/ipv6/main_test.go
deleted file mode 100644
index 6ae53bb..0000000
--- 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 1647375..69a21cd 100644
--- a/ipv6/multicast_test.go
+++ b/ipv6/multicast_test.go
@@ -29,15 +29,15 @@
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 @@
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)
}