File tree Expand file tree Collapse file tree 1 file changed +54
-0
lines changed Expand file tree Collapse file tree 1 file changed +54
-0
lines changed Original file line number Diff line number Diff line change @@ -514,3 +514,57 @@ func TestInterfaceAddressesWorks(t *testing.T) {
514
514
t .Fatal (err )
515
515
}
516
516
}
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
+ }
You can’t perform that action at this time.
0 commit comments