Skip to content

Commit b55cbbb

Browse files
author
Bryan C. Mills
committed
net: pass a testing.TB to newLocal* helpers
Passing in an explicit testing.TB gives two benefits: 1. It allows the helper to fail the test itself, instead of returning an error to the caller. A non-nil error invariably fails the calling test, and none of these callers bother to add detail to the error when logging it anyway so returning the error just added noise to the test bodies. 2. It allows the helper to use t.Cleanup to perform any needed cleanup tasks, which will be used in CL 370695 to clean up temp directories used as namespaces for unix socket paths. For #34611 Change-Id: I805e701687c12de2caca955649369294229c10b4 Reviewed-on: https://go-review.googlesource.com/c/go/+/370696 Trust: Bryan Mills <[email protected]> Reviewed-by: Ian Lance Taylor <[email protected]> Run-TryBot: Bryan Mills <[email protected]> TryBot-Result: Gopher Robot <[email protected]>
1 parent d198a36 commit b55cbbb

20 files changed

+164
-389
lines changed

src/net/conn_test.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,7 @@ func TestConnAndListener(t *testing.T) {
2626
continue
2727
}
2828

29-
ls, err := newLocalServer(network)
30-
if err != nil {
31-
t.Fatal(err)
32-
}
29+
ls := newLocalServer(t, network)
3330
defer ls.teardown()
3431
ch := make(chan error, 1)
3532
handler := func(ls *localServer, ln Listener) { ls.transponder(ln, ch) }

src/net/dial_test.go

Lines changed: 7 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,7 @@ func TestProhibitionaryDialArg(t *testing.T) {
5959
}
6060

6161
func TestDialLocal(t *testing.T) {
62-
ln, err := newLocalListener("tcp")
63-
if err != nil {
64-
t.Fatal(err)
65-
}
62+
ln := newLocalListener(t, "tcp")
6663
defer ln.Close()
6764
_, port, err := SplitHostPort(ln.Addr().String())
6865
if err != nil {
@@ -619,13 +616,9 @@ func TestDialerLocalAddr(t *testing.T) {
619616
c.Close()
620617
}
621618
}
622-
var err error
623619
var lss [2]*localServer
624620
for i, network := range []string{"tcp4", "tcp6"} {
625-
lss[i], err = newLocalServer(network)
626-
if err != nil {
627-
t.Fatal(err)
628-
}
621+
lss[i] = newLocalServer(t, network)
629622
defer lss[i].teardown()
630623
if err := lss[i].buildup(handler); err != nil {
631624
t.Fatal(err)
@@ -725,10 +718,7 @@ func TestDialerKeepAlive(t *testing.T) {
725718
c.Close()
726719
}
727720
}
728-
ls, err := newLocalServer("tcp")
729-
if err != nil {
730-
t.Fatal(err)
731-
}
721+
ls := newLocalServer(t, "tcp")
732722
defer ls.teardown()
733723
if err := ls.buildup(handler); err != nil {
734724
t.Fatal(err)
@@ -826,10 +816,7 @@ func TestCancelAfterDial(t *testing.T) {
826816
t.Skip("avoiding time.Sleep")
827817
}
828818

829-
ln, err := newLocalListener("tcp")
830-
if err != nil {
831-
t.Fatal(err)
832-
}
819+
ln := newLocalListener(t, "tcp")
833820

834821
var wg sync.WaitGroup
835822
wg.Add(1)
@@ -932,11 +919,7 @@ func TestDialerControl(t *testing.T) {
932919
if !testableNetwork(network) {
933920
continue
934921
}
935-
ln, err := newLocalListener(network)
936-
if err != nil {
937-
t.Error(err)
938-
continue
939-
}
922+
ln := newLocalListener(t, network)
940923
defer ln.Close()
941924
d := Dialer{Control: controlOnConnSetup}
942925
c, err := d.Dial(network, ln.Addr().String())
@@ -952,11 +935,7 @@ func TestDialerControl(t *testing.T) {
952935
if !testableNetwork(network) {
953936
continue
954937
}
955-
c1, err := newLocalPacketListener(network)
956-
if err != nil {
957-
t.Error(err)
958-
continue
959-
}
938+
c1 := newLocalPacketListener(t, network)
960939
if network == "unixgram" {
961940
defer os.Remove(c1.LocalAddr().String())
962941
}
@@ -992,10 +971,7 @@ func (contextWithNonZeroDeadline) Deadline() (time.Time, bool) {
992971
}
993972

994973
func TestDialWithNonZeroDeadline(t *testing.T) {
995-
ln, err := newLocalListener("tcp")
996-
if err != nil {
997-
t.Fatal(err)
998-
}
974+
ln := newLocalListener(t, "tcp")
999975
defer ln.Close()
1000976
_, port, err := SplitHostPort(ln.Addr().String())
1001977
if err != nil {

src/net/dial_unix_test.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,7 @@ func TestDialContextCancelRace(t *testing.T) {
3131
testHookCanceledDial = oldTestHookCanceledDial
3232
}()
3333

34-
ln, err := newLocalListener("tcp")
35-
if err != nil {
36-
t.Fatal(err)
37-
}
34+
ln := newLocalListener(t, "tcp")
3835
listenerDone := make(chan struct{})
3936
go func() {
4037
defer close(listenerDone)

src/net/error_test.go

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -553,10 +553,7 @@ third:
553553
}
554554

555555
func TestCloseError(t *testing.T) {
556-
ln, err := newLocalListener("tcp")
557-
if err != nil {
558-
t.Fatal(err)
559-
}
556+
ln := newLocalListener(t, "tcp")
560557
defer ln.Close()
561558
c, err := Dial(ln.Addr().Network(), ln.Addr().String())
562559
if err != nil {
@@ -664,10 +661,7 @@ func TestAcceptError(t *testing.T) {
664661
c.Close()
665662
}
666663
}
667-
ls, err := newLocalServer("tcp")
668-
if err != nil {
669-
t.Fatal(err)
670-
}
664+
ls := newLocalServer(t, "tcp")
671665
if err := ls.buildup(handler); err != nil {
672666
ls.teardown()
673667
t.Fatal(err)
@@ -773,10 +767,7 @@ func TestFileError(t *testing.T) {
773767
t.Error("should fail")
774768
}
775769

776-
ln, err = newLocalListener("tcp")
777-
if err != nil {
778-
t.Fatal(err)
779-
}
770+
ln = newLocalListener(t, "tcp")
780771

781772
for i := 0; i < 3; i++ {
782773
f, err := ln.(*TCPListener).File()

src/net/file_test.go

Lines changed: 13 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,7 @@ func TestFileConn(t *testing.T) {
4444
var network, address string
4545
switch tt.network {
4646
case "udp":
47-
c, err := newLocalPacketListener(tt.network)
48-
if err != nil {
49-
t.Fatal(err)
50-
}
47+
c := newLocalPacketListener(t, tt.network)
5148
defer c.Close()
5249
network = c.LocalAddr().Network()
5350
address = c.LocalAddr().String()
@@ -61,10 +58,7 @@ func TestFileConn(t *testing.T) {
6158
var b [1]byte
6259
c.Read(b[:])
6360
}
64-
ls, err := newLocalServer(tt.network)
65-
if err != nil {
66-
t.Fatal(err)
67-
}
61+
ls := newLocalServer(t, tt.network)
6862
defer ls.teardown()
6963
if err := ls.buildup(handler); err != nil {
7064
t.Fatal(err)
@@ -148,17 +142,17 @@ func TestFileListener(t *testing.T) {
148142
continue
149143
}
150144

151-
ln1, err := newLocalListener(tt.network)
152-
if err != nil {
153-
t.Fatal(err)
154-
}
145+
ln1 := newLocalListener(t, tt.network)
155146
switch tt.network {
156147
case "unix", "unixpacket":
157148
defer os.Remove(ln1.Addr().String())
158149
}
159150
addr := ln1.Addr()
160151

161-
var f *os.File
152+
var (
153+
f *os.File
154+
err error
155+
)
162156
switch ln1 := ln1.(type) {
163157
case *TCPListener:
164158
f, err = ln1.File()
@@ -240,17 +234,17 @@ func TestFilePacketConn(t *testing.T) {
240234
continue
241235
}
242236

243-
c1, err := newLocalPacketListener(tt.network)
244-
if err != nil {
245-
t.Fatal(err)
246-
}
237+
c1 := newLocalPacketListener(t, tt.network)
247238
switch tt.network {
248239
case "unixgram":
249240
defer os.Remove(c1.LocalAddr().String())
250241
}
251242
addr := c1.LocalAddr()
252243

253-
var f *os.File
244+
var (
245+
f *os.File
246+
err error
247+
)
254248
switch c1 := c1.(type) {
255249
case *UDPConn:
256250
f, err = c1.File()
@@ -314,10 +308,7 @@ func TestFileCloseRace(t *testing.T) {
314308
c.Read(b[:])
315309
}
316310

317-
ls, err := newLocalServer("tcp")
318-
if err != nil {
319-
t.Fatal(err)
320-
}
311+
ls := newLocalServer(t, "tcp")
321312
defer ls.teardown()
322313
if err := ls.buildup(handler); err != nil {
323314
t.Fatal(err)

src/net/listen_test.go

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -697,10 +697,7 @@ func multicastRIBContains(ip IP) (bool, error) {
697697

698698
// Issue 21856.
699699
func TestClosingListener(t *testing.T) {
700-
ln, err := newLocalListener("tcp")
701-
if err != nil {
702-
t.Fatal(err)
703-
}
700+
ln := newLocalListener(t, "tcp")
704701
addr := ln.Addr()
705702

706703
go func() {
@@ -738,15 +735,13 @@ func TestListenConfigControl(t *testing.T) {
738735
if !testableNetwork(network) {
739736
continue
740737
}
741-
ln, err := newLocalListener(network)
742-
if err != nil {
743-
t.Error(err)
744-
continue
745-
}
738+
ln := newLocalListener(t, network)
746739
address := ln.Addr().String()
740+
// TODO: This is racy. The selected address could be reused in between
741+
// this Close and the subsequent Listen.
747742
ln.Close()
748743
lc := ListenConfig{Control: controlOnConnSetup}
749-
ln, err = lc.Listen(context.Background(), network, address)
744+
ln, err := lc.Listen(context.Background(), network, address)
750745
if err != nil {
751746
t.Error(err)
752747
continue
@@ -759,18 +754,16 @@ func TestListenConfigControl(t *testing.T) {
759754
if !testableNetwork(network) {
760755
continue
761756
}
762-
c, err := newLocalPacketListener(network)
763-
if err != nil {
764-
t.Error(err)
765-
continue
766-
}
757+
c := newLocalPacketListener(t, network)
767758
address := c.LocalAddr().String()
759+
// TODO: This is racy. The selected address could be reused in between
760+
// this Close and the subsequent ListenPacket.
768761
c.Close()
769762
if network == "unixgram" {
770763
os.Remove(address)
771764
}
772765
lc := ListenConfig{Control: controlOnConnSetup}
773-
c, err = lc.ListenPacket(context.Background(), network, address)
766+
c, err := lc.ListenPacket(context.Background(), network, address)
774767
if err != nil {
775768
t.Error(err)
776769
continue

0 commit comments

Comments
 (0)