Corenet API: Fixed tests
License: MIT Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
Łukasz Magiera committed
May 25, 2017 at 19:08 UTC
a55255fbca9802258dd50478fb58bf74d5636412
3 files changed
+22
-16
core/commands/corenet.go
+7
-6
@@ -8,11 +8,11 @@ import (
8
cmds "github.com/ipfs/go-ipfs/commands"
9
corenet "github.com/ipfs/go-ipfs/core/corenet"
10
11
- manet "gx/ipfs/QmT6Cp31887FpAc25z25YHgpFJohZedrYLWPPspRtj1Brp/go-multiaddr-net"
12
- ma "gx/ipfs/QmUAQaWbKxGCUTuoQVvvicbQNZ9APF5pDGWyAZSe93AtKH/go-multiaddr"
13
- net "gx/ipfs/QmQx1dHDDYENugYgqA22BaBrRfuv1coSsuPiM7rYh1wwGH/go-libp2p-net"
14
- peerstore "gx/ipfs/QmeXj9VAjmYQZxpmVz7VzccbJrpmr8qkCDSjfVNsPTWTYU/go-libp2p-peerstore"
15
- peer "gx/ipfs/QmfMmLGoKzCHDN7cGgk64PJr4iipzidDRME8HABSJqvmhC/go-libp2p-peer"
11
+ manet "gx/ipfs/Qmf1Gq7N45Rpuw7ev47uWgH6dLPtdnvcMRNPkVBwqjLJg2/go-multiaddr-net"
12
+ ma "gx/ipfs/QmcyqRMCAXVtYPS4DiBrA7sezL9rRGfW8Ctx7cywL4TXJj/go-multiaddr"
13
+ net "gx/ipfs/QmVHSBsn8LEeay8m5ERebgUVuhzw838PsyTttCmP6GMJkg/go-libp2p-net"
14
+ peerstore "gx/ipfs/QmNUVzEjq3XWJ89hegahPvyfJbTXgTaom48pLb7YBD9gHQ/go-libp2p-peerstore"
15
+ peer "gx/ipfs/QmdS9KpbDyPrieswibZhkod1oXqRwZJrUPzxCofAMWpFGq/go-libp2p-peer"
16
)
17
18
// Command output types.
@@ -403,11 +403,12 @@ var dialCmd = &cmds.Command{
403
}
404
405
func doAccept(app *cnAppInfo, remote net.Stream, listener manet.Listener) {
406
+ defer listener.Close()
407
+
408
local, err := listener.Accept()
409
if err != nil {
410
return
411
}
410
- defer listener.Close()
412
413
stream := cnStreamInfo{
414
protocol: app.protocol,
core/commands/root.go
+1
@@ -103,6 +103,7 @@ var rootSubcommands = map[string]*cmds.Command{
103
"dht": DhtCmd,
104
"diag": DiagCmd,
105
"dns": DNSCmd,
106
+ "exp": ExpCmd,
107
"files": files.FilesCmd,
108
"get": GetCmd,
109
"id": IDCmd,
test/sharness/t0180-corenet.sh
+14
-10
@@ -22,30 +22,34 @@ test_expect_success 'peer ids' '
22
'
23
24
# netcat (nc) is needed for the following tests
25
-test_expect_success "nc is available" '
26
- type nc >/dev/null
25
+test_expect_success "socat is available" '
26
+ type socat >/dev/null
27
+'
28
+
29
+test_expect_success "test ports are closed" '
30
+ (! (netstat -ln | grep "LISTEN" | grep ":10101 ")) &&
31
+ (! (netstat -ln | grep "LISTEN" | grep ":10102 "))
32
'
33
34
test_expect_success 'start ipfs listener' '
30
- ipfsi 0 exp corenet listen corenet-test /ip4/127.0.0.1/tcp/10001 2>&1 > listener-stdouterr.log
35
+ ipfsi 0 exp corenet listen corenet-test /ip4/127.0.0.1/tcp/10101 2>&1 > listener-stdouterr.log
36
'
37
38
test_expect_success 'Test server to client communications' '
34
- dd if=corenet0.bin | nc -l 127.0.0.1 10001 &
39
+ socat FILE:corenet0.bin TCP-LISTEN:10101,reuseaddr &
40
NC_SERVER_PID=$!
41
37
- ipfsi 1 exp corenet dial $PEERID_0 corenet-test /ip4/127.0.0.1/tcp/10002 2>&1 > dialer-stdouterr.log &&
38
- nc -v 127.0.0.1 10002 | dd of=client.out &&
39
-
42
+ ipfsi 1 exp corenet dial $PEERID_0 corenet-test /ip4/127.0.0.1/tcp/10102 2>&1 > dialer-stdouterr.log &&
43
+ socat TCP4:127.0.0.1:10102 OPEN:client.out,creat,trunc &&
44
wait $NC_SERVER_PID
45
'
46
47
test_expect_success 'Test server to client communications' '
44
- nc -l 127.0.0.1 10001 | dd of=server.out &
48
+ socat TCP-LISTEN:10101,reuseaddr OPEN:server.out,creat,trunc &
49
NC_SERVER_PID=$!
50
47
- ipfsi 1 exp corenet dial $PEERID_0 corenet-test /ip4/127.0.0.1/tcp/10002 2>&1 > dialer-stdouterr.log &&
48
- dd of=corenet1.bin | nc -v 127.0.0.1 10002 &&
51
+ ipfsi 1 exp corenet dial $PEERID_0 corenet-test /ip4/127.0.0.1/tcp/10102 2>&1 > dialer-stdouterr.log &&
52
+ socat FILE:corenet1.bin TCP4:127.0.0.1:10102 &&
53
54
wait $NC_SERVER_PID
55
'