mirror of
https://github.com/waku-org/go-multiaddr.git
synced 2025-02-23 11:38:20 +00:00
bugfix: Listen always return err. test it
This commit is contained in:
parent
625fac6e50
commit
b6265d8119
@ -154,6 +154,7 @@ func DialArgs(m ma.Multiaddr) (string, string, error) {
|
||||
if parts[2] == "udp" && len(parts) > 4 && parts[4] == "utp" {
|
||||
network = parts[4]
|
||||
}
|
||||
|
||||
var host string
|
||||
switch parts[0] {
|
||||
case "ip4":
|
||||
|
11
net.go
11
net.go
@ -226,14 +226,11 @@ func Listen(laddr ma.Multiaddr) (Listener, error) {
|
||||
switch lnet {
|
||||
case "utp":
|
||||
nl, err = utp.Listen(lnet, lnaddr)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
case "tcp":
|
||||
default:
|
||||
nl, err = net.Listen(lnet, lnaddr)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &maListener{
|
||||
|
30
net_test.go
30
net_test.go
@ -138,6 +138,36 @@ func TestListen(t *testing.T) {
|
||||
wg.Wait()
|
||||
}
|
||||
|
||||
func TestListenAddrs(t *testing.T) {
|
||||
|
||||
test := func(addr string, succeed bool) {
|
||||
|
||||
maddr := newMultiaddr(t, addr)
|
||||
l, err := Listen(maddr)
|
||||
if !succeed {
|
||||
if err == nil {
|
||||
t.Fatal("succeeded in listening", addr)
|
||||
}
|
||||
return
|
||||
}
|
||||
if succeed && err != nil {
|
||||
t.Fatal("failed to listen", addr, err)
|
||||
}
|
||||
if l == nil {
|
||||
t.Fatal("failed to listen", addr, succeed, err)
|
||||
}
|
||||
|
||||
if err = l.Close(); err != nil {
|
||||
t.Fatal("failed to close listener", addr, err)
|
||||
}
|
||||
}
|
||||
|
||||
test("/ip4/127.0.0.1/tcp/4324", true)
|
||||
test("/ip4/127.0.0.1/udp/4325", false)
|
||||
test("/ip4/127.0.0.1/udp/4326/udt", false)
|
||||
test("/ip4/127.0.0.1/udp/4326/utp", true)
|
||||
}
|
||||
|
||||
func TestListenAndDial(t *testing.T) {
|
||||
|
||||
maddr := newMultiaddr(t, "/ip4/127.0.0.1/tcp/4323")
|
||||
|
Loading…
x
Reference in New Issue
Block a user