Commit 7db411a1 authored by Mikio Hara's avatar Mikio Hara

go.net/internal/nettest: add ProtocolNotSupported function

Moves from go.net/ipv4 pacakge to here, we use this function not only
for ipv4 testing but ipv6 testing.

LGTM=iant
R=iant
CC=golang-codereviews
https://golang.org/cl/169150043
parent 63ee83b0
// 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 darwin dragonfly freebsd linux netbsd openbsd solaris windows
package nettest
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
}
// 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 nacl plan9
package nettest
func protocolNotSupported(err error) bool {
return false
}
...@@ -28,3 +28,9 @@ func SupportsIPv6() bool { ...@@ -28,3 +28,9 @@ func SupportsIPv6() bool {
ln.Close() ln.Close()
return true return true
} }
// ProtocolNotSupported reports whether err is a protocol not
// supported error.
func ProtocolNotSupported(err error) bool {
return protocolNotSupported(err)
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment