mirror of
https://github.com/slackhq/nebula.git
synced 2026-11-15 18:06:52 +01:00
38 lines
710 B
Go
38 lines
710 B
Go
//go:build !windows
|
|
|
|
package udp
|
|
|
|
import (
|
|
"net"
|
|
"syscall"
|
|
"testing"
|
|
)
|
|
|
|
func TestIsUnreachable(t *testing.T) {
|
|
wrap := func(err error) error { return &net.OpError{Op: "write", Net: "udp", Err: err} }
|
|
|
|
for _, err := range []error{
|
|
wrap(syscall.ENETUNREACH),
|
|
wrap(syscall.EHOSTUNREACH),
|
|
wrap(syscall.EADDRNOTAVAIL),
|
|
wrap(syscall.EAFNOSUPPORT),
|
|
ErrInvalidIPv6RemoteForSocket,
|
|
} {
|
|
if !IsUnreachable(err) {
|
|
t.Errorf("IsUnreachable(%v) = false, want true", err)
|
|
}
|
|
}
|
|
|
|
for _, err := range []error{
|
|
nil,
|
|
wrap(syscall.EPERM),
|
|
wrap(syscall.ENOBUFS),
|
|
wrap(syscall.EMSGSIZE),
|
|
net.ErrClosed,
|
|
} {
|
|
if IsUnreachable(err) {
|
|
t.Errorf("IsUnreachable(%v) = true, want false", err)
|
|
}
|
|
}
|
|
}
|