提交 a55255fb 作者: Łukasz Magiera

Corenet API: Fixed tests

License: MIT
Signed-off-by: 's avatarŁukasz Magiera <magik6k@gmail.com>
上级 2f17a67c
......@@ -8,11 +8,11 @@ import (
cmds "github.com/ipfs/go-ipfs/commands"
corenet "github.com/ipfs/go-ipfs/core/corenet"
manet "gx/ipfs/QmT6Cp31887FpAc25z25YHgpFJohZedrYLWPPspRtj1Brp/go-multiaddr-net"
ma "gx/ipfs/QmUAQaWbKxGCUTuoQVvvicbQNZ9APF5pDGWyAZSe93AtKH/go-multiaddr"
net "gx/ipfs/QmQx1dHDDYENugYgqA22BaBrRfuv1coSsuPiM7rYh1wwGH/go-libp2p-net"
peerstore "gx/ipfs/QmeXj9VAjmYQZxpmVz7VzccbJrpmr8qkCDSjfVNsPTWTYU/go-libp2p-peerstore"
peer "gx/ipfs/QmfMmLGoKzCHDN7cGgk64PJr4iipzidDRME8HABSJqvmhC/go-libp2p-peer"
manet "gx/ipfs/Qmf1Gq7N45Rpuw7ev47uWgH6dLPtdnvcMRNPkVBwqjLJg2/go-multiaddr-net"
ma "gx/ipfs/QmcyqRMCAXVtYPS4DiBrA7sezL9rRGfW8Ctx7cywL4TXJj/go-multiaddr"
net "gx/ipfs/QmVHSBsn8LEeay8m5ERebgUVuhzw838PsyTttCmP6GMJkg/go-libp2p-net"
peerstore "gx/ipfs/QmNUVzEjq3XWJ89hegahPvyfJbTXgTaom48pLb7YBD9gHQ/go-libp2p-peerstore"
peer "gx/ipfs/QmdS9KpbDyPrieswibZhkod1oXqRwZJrUPzxCofAMWpFGq/go-libp2p-peer"
)
// Command output types.
......@@ -403,11 +403,12 @@ var dialCmd = &cmds.Command{
}
func doAccept(app *cnAppInfo, remote net.Stream, listener manet.Listener) {
defer listener.Close()
local, err := listener.Accept()
if err != nil {
return
}
defer listener.Close()
stream := cnStreamInfo{
protocol: app.protocol,
......
......@@ -103,6 +103,7 @@ var rootSubcommands = map[string]*cmds.Command{
"dht": DhtCmd,
"diag": DiagCmd,
"dns": DNSCmd,
"exp": ExpCmd,
"files": files.FilesCmd,
"get": GetCmd,
"id": IDCmd,
......
......@@ -22,30 +22,34 @@ test_expect_success 'peer ids' '
'
# netcat (nc) is needed for the following tests
test_expect_success "nc is available" '
type nc >/dev/null
test_expect_success "socat is available" '
type socat >/dev/null
'
test_expect_success "test ports are closed" '
(! (netstat -ln | grep "LISTEN" | grep ":10101 ")) &&
(! (netstat -ln | grep "LISTEN" | grep ":10102 "))
'
test_expect_success 'start ipfs listener' '
ipfsi 0 exp corenet listen corenet-test /ip4/127.0.0.1/tcp/10001 2>&1 > listener-stdouterr.log
ipfsi 0 exp corenet listen corenet-test /ip4/127.0.0.1/tcp/10101 2>&1 > listener-stdouterr.log
'
test_expect_success 'Test server to client communications' '
dd if=corenet0.bin | nc -l 127.0.0.1 10001 &
socat FILE:corenet0.bin TCP-LISTEN:10101,reuseaddr &
NC_SERVER_PID=$!
ipfsi 1 exp corenet dial $PEERID_0 corenet-test /ip4/127.0.0.1/tcp/10002 2>&1 > dialer-stdouterr.log &&
nc -v 127.0.0.1 10002 | dd of=client.out &&
ipfsi 1 exp corenet dial $PEERID_0 corenet-test /ip4/127.0.0.1/tcp/10102 2>&1 > dialer-stdouterr.log &&
socat TCP4:127.0.0.1:10102 OPEN:client.out,creat,trunc &&
wait $NC_SERVER_PID
'
test_expect_success 'Test server to client communications' '
nc -l 127.0.0.1 10001 | dd of=server.out &
socat TCP-LISTEN:10101,reuseaddr OPEN:server.out,creat,trunc &
NC_SERVER_PID=$!
ipfsi 1 exp corenet dial $PEERID_0 corenet-test /ip4/127.0.0.1/tcp/10002 2>&1 > dialer-stdouterr.log &&
dd of=corenet1.bin | nc -v 127.0.0.1 10002 &&
ipfsi 1 exp corenet dial $PEERID_0 corenet-test /ip4/127.0.0.1/tcp/10102 2>&1 > dialer-stdouterr.log &&
socat FILE:corenet1.bin TCP4:127.0.0.1:10102 &&
wait $NC_SERVER_PID
'
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论