...
1
18
19 package credentials
20
21 import (
22 "net"
23 "syscall"
24 "testing"
25 )
26
27 func (*syscallConn) SyscallConn() (syscall.RawConn, error) {
28 return nil, nil
29 }
30
31 type nonSyscallConn struct {
32 net.Conn
33 }
34
35 func (s) TestWrapSyscallConn(t *testing.T) {
36 sc := &syscallConn{}
37 nsc := &nonSyscallConn{}
38
39 wrapConn := WrapSyscallConn(sc, nsc)
40 if _, ok := wrapConn.(syscall.Conn); !ok {
41 t.Errorf("returned conn (type %T) doesn't implement syscall.Conn, want implement", wrapConn)
42 }
43 }
44
45 func (s) TestWrapSyscallConnNoWrap(t *testing.T) {
46 nscRaw := &nonSyscallConn{}
47 nsc := &nonSyscallConn{}
48
49 wrapConn := WrapSyscallConn(nscRaw, nsc)
50 if _, ok := wrapConn.(syscall.Conn); ok {
51 t.Errorf("returned conn (type %T) implements syscall.Conn, want not implement", wrapConn)
52 }
53 if wrapConn != nsc {
54 t.Errorf("returned conn is %p, want %p (the passed-in newConn)", wrapConn, nsc)
55 }
56 }
57
View as plain text