1
0
mirror of https://github.com/golang/go synced 2024-10-04 17:11:21 -06:00
go/src/net/error_posix_test.go
Mikio Hara 80abe2fc59 net: make spuriousENOTAVAIL to be able to parse EADDRNOTAVAIL correctly
Change-Id: I82e3aadbd18fccb98a76d1c36876510f5e1c3089
Reviewed-on: https://go-review.googlesource.com/12750
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-07-28 11:52:56 +00:00

45 lines
1.1 KiB
Go

// Copyright 2015 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 !plan9
package net
import (
"os"
"syscall"
"testing"
)
var (
errTimedout = syscall.ETIMEDOUT
errOpNotSupported = syscall.EOPNOTSUPP
)
func isPlatformError(err error) bool {
_, ok := err.(syscall.Errno)
return ok
}
func TestSpuriousENOTAVAIL(t *testing.T) {
for _, tt := range []struct {
error
ok bool
}{
{syscall.EADDRNOTAVAIL, true},
{&os.SyscallError{Syscall: "syscall", Err: syscall.EADDRNOTAVAIL}, true},
{&OpError{Op: "op", Err: syscall.EADDRNOTAVAIL}, true},
{&OpError{Op: "op", Err: &os.SyscallError{Syscall: "syscall", Err: syscall.EADDRNOTAVAIL}}, true},
{syscall.EINVAL, false},
{&os.SyscallError{Syscall: "syscall", Err: syscall.EINVAL}, false},
{&OpError{Op: "op", Err: syscall.EINVAL}, false},
{&OpError{Op: "op", Err: &os.SyscallError{Syscall: "syscall", Err: syscall.EINVAL}}, false},
} {
if ok := spuriousENOTAVAIL(tt.error); ok != tt.ok {
t.Errorf("spuriousENOTAVAIL(%v) = %v; want %v", tt.error, ok, tt.ok)
}
}
}