continue
}
- ls, err := newLocalServer(network)
- if err != nil {
- t.Fatal(err)
- }
+ ls := newLocalServer(t, network)
defer ls.teardown()
ch := make(chan error, 1)
handler := func(ls *localServer, ln Listener) { ls.transponder(ln, ch) }
}
func TestDialLocal(t *testing.T) {
- ln, err := newLocalListener("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ln := newLocalListener(t, "tcp")
defer ln.Close()
_, port, err := SplitHostPort(ln.Addr().String())
if err != nil {
c.Close()
}
}
- var err error
var lss [2]*localServer
for i, network := range []string{"tcp4", "tcp6"} {
- lss[i], err = newLocalServer(network)
- if err != nil {
- t.Fatal(err)
- }
+ lss[i] = newLocalServer(t, network)
defer lss[i].teardown()
if err := lss[i].buildup(handler); err != nil {
t.Fatal(err)
c.Close()
}
}
- ls, err := newLocalServer("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ls := newLocalServer(t, "tcp")
defer ls.teardown()
if err := ls.buildup(handler); err != nil {
t.Fatal(err)
t.Skip("avoiding time.Sleep")
}
- ln, err := newLocalListener("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ln := newLocalListener(t, "tcp")
var wg sync.WaitGroup
wg.Add(1)
if !testableNetwork(network) {
continue
}
- ln, err := newLocalListener(network)
- if err != nil {
- t.Error(err)
- continue
- }
+ ln := newLocalListener(t, network)
defer ln.Close()
d := Dialer{Control: controlOnConnSetup}
c, err := d.Dial(network, ln.Addr().String())
if !testableNetwork(network) {
continue
}
- c1, err := newLocalPacketListener(network)
- if err != nil {
- t.Error(err)
- continue
- }
+ c1 := newLocalPacketListener(t, network)
if network == "unixgram" {
defer os.Remove(c1.LocalAddr().String())
}
}
func TestDialWithNonZeroDeadline(t *testing.T) {
- ln, err := newLocalListener("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ln := newLocalListener(t, "tcp")
defer ln.Close()
_, port, err := SplitHostPort(ln.Addr().String())
if err != nil {
testHookCanceledDial = oldTestHookCanceledDial
}()
- ln, err := newLocalListener("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ln := newLocalListener(t, "tcp")
listenerDone := make(chan struct{})
go func() {
defer close(listenerDone)
}
func TestCloseError(t *testing.T) {
- ln, err := newLocalListener("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ln := newLocalListener(t, "tcp")
defer ln.Close()
c, err := Dial(ln.Addr().Network(), ln.Addr().String())
if err != nil {
c.Close()
}
}
- ls, err := newLocalServer("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ls := newLocalServer(t, "tcp")
if err := ls.buildup(handler); err != nil {
ls.teardown()
t.Fatal(err)
t.Error("should fail")
}
- ln, err = newLocalListener("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ln = newLocalListener(t, "tcp")
for i := 0; i < 3; i++ {
f, err := ln.(*TCPListener).File()
var network, address string
switch tt.network {
case "udp":
- c, err := newLocalPacketListener(tt.network)
- if err != nil {
- t.Fatal(err)
- }
+ c := newLocalPacketListener(t, tt.network)
defer c.Close()
network = c.LocalAddr().Network()
address = c.LocalAddr().String()
var b [1]byte
c.Read(b[:])
}
- ls, err := newLocalServer(tt.network)
- if err != nil {
- t.Fatal(err)
- }
+ ls := newLocalServer(t, tt.network)
defer ls.teardown()
if err := ls.buildup(handler); err != nil {
t.Fatal(err)
continue
}
- ln1, err := newLocalListener(tt.network)
- if err != nil {
- t.Fatal(err)
- }
+ ln1 := newLocalListener(t, tt.network)
switch tt.network {
case "unix", "unixpacket":
defer os.Remove(ln1.Addr().String())
}
addr := ln1.Addr()
- var f *os.File
+ var (
+ f *os.File
+ err error
+ )
switch ln1 := ln1.(type) {
case *TCPListener:
f, err = ln1.File()
continue
}
- c1, err := newLocalPacketListener(tt.network)
- if err != nil {
- t.Fatal(err)
- }
+ c1 := newLocalPacketListener(t, tt.network)
switch tt.network {
case "unixgram":
defer os.Remove(c1.LocalAddr().String())
}
addr := c1.LocalAddr()
- var f *os.File
+ var (
+ f *os.File
+ err error
+ )
switch c1 := c1.(type) {
case *UDPConn:
f, err = c1.File()
c.Read(b[:])
}
- ls, err := newLocalServer("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ls := newLocalServer(t, "tcp")
defer ls.teardown()
if err := ls.buildup(handler); err != nil {
t.Fatal(err)
// Issue 21856.
func TestClosingListener(t *testing.T) {
- ln, err := newLocalListener("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ln := newLocalListener(t, "tcp")
addr := ln.Addr()
go func() {
if !testableNetwork(network) {
continue
}
- ln, err := newLocalListener(network)
- if err != nil {
- t.Error(err)
- continue
- }
+ ln := newLocalListener(t, network)
address := ln.Addr().String()
+ // TODO: This is racy. The selected address could be reused in between
+ // this Close and the subsequent Listen.
ln.Close()
lc := ListenConfig{Control: controlOnConnSetup}
- ln, err = lc.Listen(context.Background(), network, address)
+ ln, err := lc.Listen(context.Background(), network, address)
if err != nil {
t.Error(err)
continue
if !testableNetwork(network) {
continue
}
- c, err := newLocalPacketListener(network)
- if err != nil {
- t.Error(err)
- continue
- }
+ c := newLocalPacketListener(t, network)
address := c.LocalAddr().String()
+ // TODO: This is racy. The selected address could be reused in between
+ // this Close and the subsequent ListenPacket.
c.Close()
if network == "unixgram" {
os.Remove(address)
}
lc := ListenConfig{Control: controlOnConnSetup}
- c, err = lc.ListenPacket(context.Background(), network, address)
+ c, err := lc.ListenPacket(context.Background(), network, address)
if err != nil {
t.Error(err)
continue
"fmt"
"os"
"sync"
+ "testing"
"time"
)
return addr
}
-func newLocalListener(network string) (Listener, error) {
+func newLocalListener(t testing.TB, network string) Listener {
+ listen := func(net, addr string) Listener {
+ ln, err := Listen(net, addr)
+ if err != nil {
+ t.Helper()
+ t.Fatal(err)
+ }
+ return ln
+ }
+
switch network {
case "tcp":
if supportsIPv4() {
+ if !supportsIPv6() {
+ return listen("tcp4", "127.0.0.1:0")
+ }
if ln, err := Listen("tcp4", "127.0.0.1:0"); err == nil {
- return ln, nil
+ return ln
}
}
if supportsIPv6() {
- return Listen("tcp6", "[::1]:0")
+ return listen("tcp6", "[::1]:0")
}
case "tcp4":
if supportsIPv4() {
- return Listen("tcp4", "127.0.0.1:0")
+ return listen("tcp4", "127.0.0.1:0")
}
case "tcp6":
if supportsIPv6() {
- return Listen("tcp6", "[::1]:0")
+ return listen("tcp6", "[::1]:0")
}
case "unix", "unixpacket":
- return Listen(network, testUnixAddr())
+ return listen(network, testUnixAddr())
}
- return nil, fmt.Errorf("%s is not supported", network)
+
+ t.Helper()
+ t.Fatalf("%s is not supported", network)
+ return nil
}
func newDualStackListener() (lns []*TCPListener, err error) {
return nil
}
-func newLocalServer(network string) (*localServer, error) {
- ln, err := newLocalListener(network)
- if err != nil {
- return nil, err
- }
- return &localServer{Listener: ln, done: make(chan bool)}, nil
+func newLocalServer(t testing.TB, network string) *localServer {
+ t.Helper()
+ ln := newLocalListener(t, network)
+ return &localServer{Listener: ln, done: make(chan bool)}
}
type streamListener struct {
done chan bool // signal that indicates server stopped
}
-func (sl *streamListener) newLocalServer() (*localServer, error) {
- return &localServer{Listener: sl.Listener, done: make(chan bool)}, nil
+func (sl *streamListener) newLocalServer() *localServer {
+ return &localServer{Listener: sl.Listener, done: make(chan bool)}
}
type dualStackServer struct {
}
}
-func newLocalPacketListener(network string) (PacketConn, error) {
+func newLocalPacketListener(t testing.TB, network string) PacketConn {
+ listenPacket := func(net, addr string) PacketConn {
+ c, err := ListenPacket(net, addr)
+ if err != nil {
+ t.Helper()
+ t.Fatal(err)
+ }
+ return c
+ }
+
switch network {
case "udp":
if supportsIPv4() {
- return ListenPacket("udp4", "127.0.0.1:0")
+ return listenPacket("udp4", "127.0.0.1:0")
}
if supportsIPv6() {
- return ListenPacket("udp6", "[::1]:0")
+ return listenPacket("udp6", "[::1]:0")
}
case "udp4":
if supportsIPv4() {
- return ListenPacket("udp4", "127.0.0.1:0")
+ return listenPacket("udp4", "127.0.0.1:0")
}
case "udp6":
if supportsIPv6() {
- return ListenPacket("udp6", "[::1]:0")
+ return listenPacket("udp6", "[::1]:0")
}
case "unixgram":
- return ListenPacket(network, testUnixAddr())
+ return listenPacket(network, testUnixAddr())
}
- return nil, fmt.Errorf("%s is not supported", network)
+
+ t.Helper()
+ t.Fatalf("%s is not supported", network)
+ return nil
}
func newDualStackPacketListener() (cs []*UDPConn, err error) {
return nil
}
-func newLocalPacketServer(network string) (*localPacketServer, error) {
- c, err := newLocalPacketListener(network)
- if err != nil {
- return nil, err
- }
- return &localPacketServer{PacketConn: c, done: make(chan bool)}, nil
+func newLocalPacketServer(t testing.TB, network string) *localPacketServer {
+ t.Helper()
+ c := newLocalPacketListener(t, network)
+ return &localPacketServer{PacketConn: c, done: make(chan bool)}
}
type packetListener struct {
PacketConn
}
-func (pl *packetListener) newLocalServer() (*localPacketServer, error) {
- return &localPacketServer{PacketConn: pl.PacketConn, done: make(chan bool)}, nil
+func (pl *packetListener) newLocalServer() *localPacketServer {
+ return &localPacketServer{PacketConn: pl.PacketConn, done: make(chan bool)}
}
func packetTransponder(c PacketConn, ch chan<- error) {
}
t.Parallel()
- ln, err := newLocalListener(network)
- if err != nil {
- t.Fatal(err)
- }
+ ln := newLocalListener(t, network)
switch network {
case "unix", "unixpacket":
defer os.Remove(ln.Addr().String())
}
}
- ls, err := newLocalServer(network)
- if err != nil {
- t.Fatal(err)
- }
+ ls := newLocalServer(t, network)
defer ls.teardown()
if err := ls.buildup(handler); err != nil {
t.Fatal(err)
}
t.Parallel()
- ln, err := newLocalListener(network)
- if err != nil {
- t.Fatal(err)
- }
+ ln := newLocalListener(t, network)
switch network {
case "unix", "unixpacket":
defer os.Remove(ln.Addr().String())
}
t.Parallel()
- ln, err := newLocalListener(network)
- if err != nil {
- t.Fatal(err)
- }
+ ln := newLocalListener(t, network)
switch network {
case "unix", "unixpacket":
defer os.Remove(ln.Addr().String())
}
t.Parallel()
- c, err := newLocalPacketListener(network)
- if err != nil {
- t.Fatal(err)
- }
+ c := newLocalPacketListener(t, network)
switch network {
case "unixgram":
defer os.Remove(c.LocalAddr().String())
func TestListenCloseListen(t *testing.T) {
const maxTries = 10
for tries := 0; tries < maxTries; tries++ {
- ln, err := newLocalListener("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ln := newLocalListener(t, "tcp")
addr := ln.Addr().String()
+ // TODO: This is racy. The selected address could be reused in between this
+ // Close and the subsequent Listen.
if err := ln.Close(); err != nil {
if perr := parseCloseError(err, false); perr != nil {
t.Error(perr)
}
t.Fatal(err)
}
- ln, err = Listen("tcp", addr)
+ ln, err := Listen("tcp", addr)
if err == nil {
// Success. (This test didn't always make it here earlier.)
ln.Close()
}
c.Close()
}
- ls, err := newLocalServer("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ls := newLocalServer(t, "tcp")
defer ls.teardown()
if err := ls.buildup(handler); err != nil {
t.Fatal(err)
}
t.Parallel()
- ln, err := newLocalListener(network)
- if err != nil {
- t.Fatal(err)
- }
+ ln := newLocalListener(t, network)
connc := make(chan Conn, 1)
go func() {
defer ln.Close()
// runs peer1 and peer2 concurrently. withTCPConnPair returns when
// both have completed.
func withTCPConnPair(t *testing.T, peer1, peer2 func(c *TCPConn) error) {
- ln, err := newLocalListener("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ln := newLocalListener(t, "tcp")
defer ln.Close()
errc := make(chan error, 2)
go func() {
}
ch := make(chan error, 1)
handler := func(ls *localServer, ln Listener) { ls.transponder(ls.Listener, ch) }
- ls, err := (&streamListener{Listener: ln}).newLocalServer()
- if err != nil {
- t.Fatal(err)
- }
+ ls := (&streamListener{Listener: ln}).newLocalServer()
defer ls.teardown()
if err := ls.buildup(handler); err != nil {
t.Fatal(err)
return
}
}
- ls, err := newLocalServer("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ls := newLocalServer(t, "tcp")
defer ls.teardown()
if err := ls.buildup(handler); err != nil {
t.Fatal(err)
t.Skipf("not supported on %s", runtime.GOOS)
}
- ln, err := newLocalListener("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ln := newLocalListener(t, "tcp")
defer ln.Close()
c, err := Dial(ln.Addr().Network(), ln.Addr().String())
}
t.Run("TCP", func(t *testing.T) {
- ln, err := newLocalListener("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ln := newLocalListener(t, "tcp")
defer ln.Close()
cc1, err := ln.(*TCPListener).SyscallConn()
)
func TestSendfile(t *testing.T) {
- ln, err := newLocalListener("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ln := newLocalListener(t, "tcp")
defer ln.Close()
errc := make(chan error, 1)
}
func TestSendfileParts(t *testing.T) {
- ln, err := newLocalListener("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ln := newLocalListener(t, "tcp")
defer ln.Close()
errc := make(chan error, 1)
}
func TestSendfileSeeked(t *testing.T) {
- ln, err := newLocalListener("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ln := newLocalListener(t, "tcp")
defer ln.Close()
const seekTo = 65 << 10
t.Parallel()
- ln, err := newLocalListener("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ln := newLocalListener(t, "tcp")
defer ln.Close()
r, w, err := os.Pipe()
// Issue 43822: tests that returns EOF when conn write timeout.
func TestSendfileOnWriteTimeoutExceeded(t *testing.T) {
- ln, err := newLocalListener("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ln := newLocalListener(t, "tcp")
defer ln.Close()
errc := make(chan error, 1)
}
}()
for i := 0; i < N; i++ {
- ls, err := (&streamListener{Listener: ln}).newLocalServer()
- if err != nil {
- t.Fatal(err)
- }
+ ls := (&streamListener{Listener: ln}).newLocalServer()
lss = append(lss, ls)
tpchs = append(tpchs, make(chan error, 1))
}
}
}()
for i := 0; i < N; i++ {
- ls, err := (&streamListener{Listener: ln}).newLocalServer()
- if err != nil {
- t.Fatal(err)
- }
+ ls := (&streamListener{Listener: ln}).newLocalServer()
lss = append(lss, ls)
tpchs = append(tpchs, make(chan error, 1))
}
t.Fatal(err)
}
- ls, err := (&packetListener{PacketConn: c1}).newLocalServer()
- if err != nil {
- t.Fatal(err)
- }
+ ls := (&packetListener{PacketConn: c1}).newLocalServer()
defer ls.teardown()
tpch := make(chan error, 1)
handler := func(ls *localPacketServer, c PacketConn) { packetTransponder(c, tpch) }
t.Fatal(err)
}
- ls, err := (&packetListener{PacketConn: c1}).newLocalServer()
- if err != nil {
- t.Fatal(err)
- }
+ ls := (&packetListener{PacketConn: c1}).newLocalServer()
defer ls.teardown()
tpch := make(chan error, 1)
handler := func(ls *localPacketServer, c PacketConn) { packetTransponder(c, tpch) }
}
func (tc spliceTestCase) test(t *testing.T) {
- clientUp, serverUp, err := spliceTestSocketPair(tc.upNet)
- if err != nil {
- t.Fatal(err)
- }
+ clientUp, serverUp := spliceTestSocketPair(t, tc.upNet)
defer serverUp.Close()
cleanup, err := startSpliceClient(clientUp, "w", tc.chunkSize, tc.totalSize)
if err != nil {
t.Fatal(err)
}
defer cleanup()
- clientDown, serverDown, err := spliceTestSocketPair(tc.downNet)
- if err != nil {
- t.Fatal(err)
- }
+ clientDown, serverDown := spliceTestSocketPair(t, tc.downNet)
defer serverDown.Close()
cleanup, err = startSpliceClient(clientDown, "r", tc.chunkSize, tc.totalSize)
if err != nil {
}
func testSpliceReaderAtEOF(t *testing.T, upNet, downNet string) {
- clientUp, serverUp, err := spliceTestSocketPair(upNet)
- if err != nil {
- t.Fatal(err)
- }
+ clientUp, serverUp := spliceTestSocketPair(t, upNet)
defer clientUp.Close()
- clientDown, serverDown, err := spliceTestSocketPair(downNet)
- if err != nil {
- t.Fatal(err)
- }
+ clientDown, serverDown := spliceTestSocketPair(t, downNet)
defer clientDown.Close()
serverUp.Close()
}()
buf := make([]byte, 3)
- _, err = io.ReadFull(clientDown, buf)
+ _, err := io.ReadFull(clientDown, buf)
if err != nil {
t.Errorf("clientDown: %v", err)
}
}
func testSpliceIssue25985(t *testing.T, upNet, downNet string) {
- front, err := newLocalListener(upNet)
- if err != nil {
- t.Fatal(err)
- }
+ front := newLocalListener(t, upNet)
defer front.Close()
- back, err := newLocalListener(downNet)
- if err != nil {
- t.Fatal(err)
- }
+ back := newLocalListener(t, downNet)
defer back.Close()
var wg sync.WaitGroup
}
func testSpliceNoUnixpacket(t *testing.T) {
- clientUp, serverUp, err := spliceTestSocketPair("unixpacket")
- if err != nil {
- t.Fatal(err)
- }
+ clientUp, serverUp := spliceTestSocketPair(t, "unixpacket")
defer clientUp.Close()
defer serverUp.Close()
- clientDown, serverDown, err := spliceTestSocketPair("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ clientDown, serverDown := spliceTestSocketPair(t, "tcp")
defer clientDown.Close()
defer serverDown.Close()
// If splice called poll.Splice here, we'd get err == syscall.EINVAL
t.Fatal(err)
}
defer up.Close()
- clientDown, serverDown, err := spliceTestSocketPair("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ clientDown, serverDown := spliceTestSocketPair(t, "tcp")
defer clientDown.Close()
defer serverDown.Close()
// Analogous to testSpliceNoUnixpacket.
// To benchmark the genericReadFrom code path, set this to false.
useSplice := true
- clientUp, serverUp, err := spliceTestSocketPair(tc.upNet)
- if err != nil {
- b.Fatal(err)
- }
+ clientUp, serverUp := spliceTestSocketPair(b, tc.upNet)
defer serverUp.Close()
cleanup, err := startSpliceClient(clientUp, "w", tc.chunkSize, tc.chunkSize*b.N)
}
defer cleanup()
- clientDown, serverDown, err := spliceTestSocketPair(tc.downNet)
- if err != nil {
- b.Fatal(err)
- }
+ clientDown, serverDown := spliceTestSocketPair(b, tc.downNet)
defer serverDown.Close()
cleanup, err = startSpliceClient(clientDown, "r", tc.chunkSize, tc.chunkSize*b.N)
}
}
-func spliceTestSocketPair(net string) (client, server Conn, err error) {
- ln, err := newLocalListener(net)
- if err != nil {
- return nil, nil, err
- }
+func spliceTestSocketPair(t testing.TB, net string) (client, server Conn) {
+ t.Helper()
+ ln := newLocalListener(t, net)
defer ln.Close()
var cerr, serr error
acceptDone := make(chan struct{})
if server != nil {
server.Close()
}
- return nil, nil, cerr
+ t.Fatal(cerr)
}
if serr != nil {
if client != nil {
client.Close()
}
- return nil, nil, serr
+ t.Fatal(serr)
}
- return client, server, nil
+ return client, server
}
func startSpliceClient(conn Conn, op string, chunkSize, totalSize int) (func(), error) {
t.Log(err)
continue
}
- ls, err := (&streamListener{Listener: ln}).newLocalServer()
- if err != nil {
- t.Fatal(err)
- }
+ ls := (&streamListener{Listener: ln}).newLocalServer()
defer ls.teardown()
ch := make(chan error, 1)
handler := func(ls *localServer, ln Listener) { ls.transponder(ln, ch) }
t.Skip("known-broken test on windows")
}
- ln, err := newLocalListener("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ln := newLocalListener(t, "tcp")
var d Dialer
c, err := d.Dial(ln.Addr().Network(), ln.Addr().String())
if err != nil {
for _, writev := range []bool{false, true} {
t.Run(fmt.Sprintf("writev=%v", writev), func(t *testing.T) {
- ln, err := newLocalListener("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ln := newLocalListener(t, "tcp")
defer ln.Close()
x := int(1 << 30)
}
func TestCopyPipeIntoTCP(t *testing.T) {
- ln, err := newLocalListener("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ln := newLocalListener(t, "tcp")
defer ln.Close()
errc := make(chan error, 1)
}
func BenchmarkSetReadDeadline(b *testing.B) {
- ln, err := newLocalListener("tcp")
- if err != nil {
- b.Fatal(err)
- }
+ ln := newLocalListener(b, "tcp")
defer ln.Close()
var serv Conn
done := make(chan error)
t.Skip("skipping in short mode")
}
- ln, err := newLocalListener("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ln := newLocalListener(t, "tcp")
var wg sync.WaitGroup
wg.Add(1)
go func(ln Listener) {
}
func TestDialTimeoutMaxDuration(t *testing.T) {
- ln, err := newLocalListener("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ln := newLocalListener(t, "tcp")
defer func() {
if err := ln.Close(); err != nil {
t.Error(err)
t.Skipf("not supported on %s", runtime.GOOS)
}
- ln, err := newLocalListener("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ln := newLocalListener(t, "tcp")
defer ln.Close()
var wg sync.WaitGroup
t.Skipf("not supported on %s", runtime.GOOS)
}
- ln, err := newLocalListener("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ln := newLocalListener(t, "tcp")
defer ln.Close()
max := time.NewTimer(time.Second)
t.Skipf("not supported on %s", runtime.GOOS)
}
- ln, err := newLocalListener("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ln := newLocalListener(t, "tcp")
defer ln.Close()
max := time.NewTimer(100 * time.Millisecond)
c.Write([]byte("READ TIMEOUT TEST"))
defer c.Close()
}
- ls, err := newLocalServer("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ls := newLocalServer(t, "tcp")
defer ls.teardown()
if err := ls.buildup(handler); err != nil {
t.Fatal(err)
t.Skipf("not supported on %s", runtime.GOOS)
}
- ln, err := newLocalListener("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ln := newLocalListener(t, "tcp")
defer ln.Close()
c, err := Dial(ln.Addr().Network(), ln.Addr().String())
c.WriteTo([]byte("READFROM TIMEOUT TEST"), dst)
}
}
- ls, err := newLocalPacketServer("udp")
- if err != nil {
- t.Fatal(err)
- }
+ ls := newLocalPacketServer(t, "udp")
defer ls.teardown()
if err := ls.buildup(handler); err != nil {
t.Fatal(err)
func TestWriteTimeout(t *testing.T) {
t.Parallel()
- ln, err := newLocalListener("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ln := newLocalListener(t, "tcp")
defer ln.Close()
for i, tt := range writeTimeoutTests {
t.Skipf("not supported on %s", runtime.GOOS)
}
- ln, err := newLocalListener("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ln := newLocalListener(t, "tcp")
defer ln.Close()
c, err := Dial(ln.Addr().Network(), ln.Addr().String())
func TestWriteToTimeout(t *testing.T) {
t.Parallel()
- c1, err := newLocalPacketListener("udp")
- if err != nil {
- t.Fatal(err)
- }
+ c1 := newLocalPacketListener(t, "udp")
defer c1.Close()
host, _, err := SplitHostPort(c1.LocalAddr().String())
}
func TestReadTimeoutFluctuation(t *testing.T) {
- ln, err := newLocalListener("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ln := newLocalListener(t, "tcp")
defer ln.Close()
c, err := Dial(ln.Addr().Network(), ln.Addr().String())
}
func TestReadFromTimeoutFluctuation(t *testing.T) {
- c1, err := newLocalPacketListener("udp")
- if err != nil {
- t.Fatal(err)
- }
+ c1 := newLocalPacketListener(t, "udp")
defer c1.Close()
c2, err := Dial(c1.LocalAddr().Network(), c1.LocalAddr().String())
t.Skipf("not supported on %s", runtime.GOOS)
}
- ln, err := newLocalListener("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ln := newLocalListener(t, "tcp")
defer ln.Close()
c, err := Dial(ln.Addr().Network(), ln.Addr().String())
c.Close()
}
}
- ls, err := newLocalServer("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ls := newLocalServer(t, "tcp")
defer ls.teardown()
if err := ls.buildup(handler); err != nil {
t.Fatal(err)
}()
wg.Wait()
}
- ls, err := newLocalServer("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ls := newLocalServer(t, "tcp")
defer ls.teardown()
if err := ls.buildup(handler); err != nil {
t.Fatal(err)
N = 50
}
- ln, err := newLocalListener("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ln := newLocalListener(t, "tcp")
defer ln.Close()
c, err := Dial(ln.Addr().Network(), ln.Addr().String())
// Issue 35367.
func TestConcurrentSetDeadline(t *testing.T) {
- ln, err := newLocalListener("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ln := newLocalListener(t, "tcp")
defer ln.Close()
const goroutines = 8
var c [conns]Conn
for i := 0; i < conns; i++ {
+ var err error
c[i], err = Dial(ln.Addr().Network(), ln.Addr().String())
if err != nil {
t.Fatal(err)
t.Log(err)
continue
}
- ls, err := (&packetListener{PacketConn: c1}).newLocalServer()
- if err != nil {
- t.Fatal(err)
- }
+ ls := (&packetListener{PacketConn: c1}).newLocalServer()
defer ls.teardown()
ch := make(chan error, 1)
handler := func(ls *localPacketServer, c PacketConn) { packetTransponder(c, ch) }
testenv.SkipFlaky(t, 29225)
}
- c, err := newLocalPacketListener("udp")
- if err != nil {
- t.Fatal(err)
- }
+ c := newLocalPacketListener(t, "udp")
defer c.Close()
for _, genericRead := range []bool{false, true} {
t.Skipf("not supported on %s", runtime.GOOS)
}
- c, err := newLocalPacketListener("udp")
- if err != nil {
- t.Fatal(err)
- }
+ c := newLocalPacketListener(t, "udp")
defer c.Close()
b := []byte("UDP ZERO BYTE BUFFER TEST")
t.Skipf("not supported on %s", runtime.GOOS)
}
- c1, err := newLocalPacketListener("udp")
- if err != nil {
- t.Fatal(err)
- }
+ c1 := newLocalPacketListener(t, "udp")
defer c1.Close()
c2, err := Dial("udp", c1.LocalAddr().String())
t.Skip("unixgram test")
}
- c1, err := newLocalPacketListener("unixgram")
- if err != nil {
- t.Fatal(err)
- }
+ c1 := newLocalPacketListener(t, "unixgram")
defer os.Remove(c1.LocalAddr().String())
defer c1.Close()
// issue 4352: Recvfrom failed with "address family not
// supported by protocol family" if zero-length buffer provided
- c1, err := newLocalPacketListener("unixgram")
- if err != nil {
- t.Fatal(err)
- }
+ c1 := newLocalPacketListener(t, "unixgram")
defer os.Remove(c1.LocalAddr().String())
defer c1.Close()
if err != nil {
t.Fatal(err)
}
- ls, err := (&streamListener{Listener: ln}).newLocalServer()
- if err != nil {
- t.Fatal(err)
- }
+ ls := (&streamListener{Listener: ln}).newLocalServer()
defer ls.teardown()
if err := ls.buildup(handler); err != nil {
t.Fatal(err)
if err != nil {
t.Fatal(err)
}
- ls, err := (&streamListener{Listener: ln}).newLocalServer()
- if err != nil {
- t.Fatal(err)
- }
+ ls := (&streamListener{Listener: ln}).newLocalServer()
defer ls.teardown()
if err := ls.buildup(handler); err != nil {
t.Fatal(err)
t.Skipf("skipping the test: windows does not have problem sending large chunks of data")
}
- ln, err := newLocalListener("tcp")
- if err != nil {
- t.Fatal(err)
- }
+ ln := newLocalListener(t, "tcp")
defer ln.Close()
ch := make(chan Conn, 1)