diff options
Diffstat (limited to 'src/pkg/net/net_test.go')
-rw-r--r-- | src/pkg/net/net_test.go | 44 |
1 files changed, 43 insertions, 1 deletions
diff --git a/src/pkg/net/net_test.go b/src/pkg/net/net_test.go index 1a512a5b1..1320096df 100644 --- a/src/pkg/net/net_test.go +++ b/src/pkg/net/net_test.go @@ -25,6 +25,7 @@ func TestShutdown(t *testing.T) { } go func() { + defer ln.Close() c, err := ln.Accept() if err != nil { t.Fatalf("Accept: %v", err) @@ -75,7 +76,10 @@ func TestShutdownUnix(t *testing.T) { if err != nil { t.Fatalf("ListenUnix on %s: %s", tmpname, err) } - defer os.Remove(tmpname) + defer func() { + ln.Close() + os.Remove(tmpname) + }() go func() { c, err := ln.Accept() @@ -214,3 +218,41 @@ func TestTCPClose(t *testing.T) { t.Fatal(err) } } + +func TestErrorNil(t *testing.T) { + c, err := Dial("tcp", "127.0.0.1:65535") + if err == nil { + t.Fatal("Dial 127.0.0.1:65535 succeeded") + } + if c != nil { + t.Fatalf("Dial returned non-nil interface %T(%v) with err != nil", c, c) + } + + // Make Listen fail by relistening on the same address. + l, err := Listen("tcp", "127.0.0.1:0") + if err != nil { + t.Fatal("Listen 127.0.0.1:0: %v", err) + } + defer l.Close() + l1, err := Listen("tcp", l.Addr().String()) + if err == nil { + t.Fatal("second Listen %v: %v", l.Addr(), err) + } + if l1 != nil { + t.Fatalf("Listen returned non-nil interface %T(%v) with err != nil", l1, l1) + } + + // Make ListenPacket fail by relistening on the same address. + lp, err := ListenPacket("udp", "127.0.0.1:0") + if err != nil { + t.Fatal("Listen 127.0.0.1:0: %v", err) + } + defer lp.Close() + lp1, err := ListenPacket("udp", lp.LocalAddr().String()) + if err == nil { + t.Fatal("second Listen %v: %v", lp.LocalAddr(), err) + } + if lp1 != nil { + t.Fatalf("ListenPacket returned non-nil interface %T(%v) with err != nil", lp1, lp1) + } +} |