Skip to content

Commit fad8780

Browse files
committed
add test for netlistener wrapper/unwrapper
1 parent 1e79033 commit fad8780

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed

net_test.go

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -514,3 +514,57 @@ func TestInterfaceAddressesWorks(t *testing.T) {
514514
t.Fatal(err)
515515
}
516516
}
517+
518+
func TestNetListener(t *testing.T) {
519+
listener, err := net.Listen("tcp", "127.0.0.1:1234")
520+
if err != nil {
521+
t.Fatal(err)
522+
}
523+
defer listener.Close()
524+
malist, err := WrapNetListener(listener)
525+
if err != nil {
526+
t.Fatal(err)
527+
}
528+
if !malist.Multiaddr().Equal(newMultiaddr(t, "/ip4/127.0.0.1/tcp/1234")) {
529+
t.Fatal("unexpected multiaddr")
530+
}
531+
532+
go func() {
533+
c, err := Dial(malist.Multiaddr())
534+
if err != nil {
535+
t.Fatal("failed to dial")
536+
}
537+
if !c.RemoteMultiaddr().Equal(malist.Multiaddr()) {
538+
t.Fatal("dialed wrong target")
539+
}
540+
c.Close()
541+
542+
c, err = Dial(malist.Multiaddr())
543+
if err != nil {
544+
t.Fatal("failed to dial")
545+
}
546+
c.Close()
547+
}()
548+
549+
c, err := malist.Accept()
550+
if err != nil {
551+
t.Fatal(err)
552+
}
553+
c.Close()
554+
netList := NetListener(malist)
555+
malist2, err := WrapNetListener(netList)
556+
if err != nil {
557+
t.Fatal(err)
558+
}
559+
if malist2 != malist {
560+
t.Fatal("expected WrapNetListener(NetListener(malist)) == malist")
561+
}
562+
nc, err := netList.Accept()
563+
if err != nil {
564+
t.Fatal(err)
565+
}
566+
if !nc.(Conn).LocalMultiaddr().Equal(malist.Multiaddr()) {
567+
t.Fatal("wrong multiaddr on conn")
568+
}
569+
nc.Close()
570+
}

0 commit comments

Comments
 (0)