Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
G
go-ipfs
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
jihao
go-ipfs
Commits
69d3e087
提交
69d3e087
authored
5月 27, 2017
作者:
Łukasz Magiera
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Corenet API: Some more tests
License: MIT Signed-off-by:
Łukasz Magiera
<
magik6k@gmail.com
>
上级
9414e73c
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
104 行增加
和
10 行删除
+104
-10
main.go
test/dependencies/ma-pipe-unidir/main.go
+28
-9
t0180-corenet.sh
test/sharness/t0180-corenet.sh
+76
-1
没有找到文件。
test/dependencies/ma-pipe-unidir/main.go
浏览文件 @
69d3e087
...
...
@@ -4,22 +4,26 @@ import (
"flag"
"fmt"
"io"
"io/ioutil"
"os"
"strconv"
ma
"gx/ipfs/QmcyqRMCAXVtYPS4DiBrA7sezL9rRGfW8Ctx7cywL4TXJj/go-multiaddr"
manet
"gx/ipfs/Qmf1Gq7N45Rpuw7ev47uWgH6dLPtdnvcMRNPkVBwqjLJg2/go-multiaddr-net"
)
const
USAGE
=
"ma-pipe-unidir [-l|--listen] [-h|--help] <send|recv> <multiaddr>
\n
"
const
USAGE
=
"ma-pipe-unidir [-l|--listen] [-
-pidFile=path] [-
h|--help] <send|recv> <multiaddr>
\n
"
type
Opts
struct
{
Listen
bool
Listen
bool
PidFile
string
}
func
main
()
{
func
app
()
int
{
opts
:=
Opts
{}
flag
.
BoolVar
(
&
opts
.
Listen
,
"l"
,
false
,
""
)
flag
.
BoolVar
(
&
opts
.
Listen
,
"listen"
,
false
,
""
)
flag
.
StringVar
(
&
opts
.
PidFile
,
"pidFile"
,
""
,
""
)
flag
.
Usage
=
func
()
{
fmt
.
Print
(
USAGE
)
}
...
...
@@ -28,15 +32,25 @@ func main() {
if
len
(
args
)
<
2
{
// <mode> <addr>
fmt
.
Print
(
USAGE
)
return
return
1
}
mode
:=
args
[
0
]
addr
:=
args
[
1
]
if
len
(
opts
.
PidFile
)
>
0
{
data
:=
[]
byte
(
strconv
.
Itoa
(
os
.
Getpid
()))
err
:=
ioutil
.
WriteFile
(
opts
.
PidFile
,
data
,
0644
)
if
err
!=
nil
{
return
1
}
defer
os
.
Remove
(
opts
.
PidFile
)
}
maddr
,
err
:=
ma
.
NewMultiaddr
(
addr
)
if
err
!=
nil
{
return
return
1
}
var
conn
manet
.
Conn
...
...
@@ -44,18 +58,18 @@ func main() {
if
opts
.
Listen
{
listener
,
err
:=
manet
.
Listen
(
maddr
)
if
err
!=
nil
{
return
return
1
}
conn
,
err
=
listener
.
Accept
()
if
err
!=
nil
{
return
return
1
}
}
else
{
var
err
error
conn
,
err
=
manet
.
Dial
(
maddr
)
if
err
!=
nil
{
return
return
1
}
}
...
...
@@ -68,6 +82,11 @@ func main() {
default
:
//TODO: a bit late
fmt
.
Print
(
USAGE
)
return
return
1
}
return
0
}
func
main
()
{
os
.
Exit
(
app
())
}
test/sharness/t0180-corenet.sh
浏览文件 @
69d3e087
...
...
@@ -42,7 +42,6 @@ test_expect_success 'Test server to client communications' '
test_expect_success
'Test client to server communications'
'
ma-pipe-unidir --listen recv /ip4/127.0.0.1/tcp/10101 > server.out &
SERVER_PID=$!
#sleep 0.5 &&
ipfsi 1 exp corenet dial $PEERID_0 corenet-test /ip4/127.0.0.1/tcp/10102 2>&1 > dialer-stdouterr.log &&
ma-pipe-unidir send /ip4/127.0.0.1/tcp/10102 < corenet1.bin
...
...
@@ -57,6 +56,82 @@ test_expect_success 'client to server output looks good' '
test_cmp server.out corenet1.bin
'
test_expect_success
"'ipfs corenet ls' succeeds"
'
echo "/ip4/127.0.0.1/tcp/10101 /app/corenet-test" > expected &&
ipfsi 0 exp corenet ls > actual
'
test_expect_success
"'ipfs corenet ls' output looks good"
'
test_cmp expected actual
'
test_expect_success
"Cannot re-register app handler"
'
(! ipfsi 0 exp corenet listen corenet-test /ip4/127.0.0.1/tcp/10101)
'
test_expect_success
"'ipfs corenet streams' output is empty"
'
ipfsi 0 exp corenet streams > actual &&
test_must_be_empty actual
'
test_expect_success
"Setup: Idle stream"
'
ma-pipe-unidir --listen --pidFile=listener.pid recv /ip4/127.0.0.1/tcp/10101 &
ipfsi 1 exp corenet dial $PEERID_0 corenet-test /ip4/127.0.0.1/tcp/10102 2>&1 > dialer-stdouterr.log &&
ma-pipe-unidir --pidFile=client.pid recv /ip4/127.0.0.1/tcp/10102 &
go-sleep 500ms &&
kill -0 $(cat listener.pid) && kill -0 $(cat client.pid)
'
test_expect_success
"'ipfs corenet streams' succeeds"
'
echo "2 /app/corenet-test /ip4/127.0.0.1/tcp/10101 $PEERID_1" > expected
ipfsi 0 exp corenet streams > actual
'
test_expect_success
"'ipfs corenet streams' output looks good"
'
test_cmp expected actual
'
test_expect_success
"'ipfs corenet close' closes stream"
'
ipfsi 0 exp corenet close 2 &&
ipfsi 0 exp corenet streams > actual &&
[ ! -f listener.pid ] && [ ! -f client.pid ] &&
test_must_be_empty actual
'
test_expect_success
"'ipfs corenet close' closes app handler"
'
ipfsi 0 exp corenet close corenet-test &&
ipfsi 0 exp corenet ls > actual &&
test_must_be_empty actual
'
test_expect_success
"Setup: Idle stream(2)"
'
ma-pipe-unidir --listen --pidFile=listener.pid recv /ip4/127.0.0.1/tcp/10101 &
ipfsi 0 exp corenet listen corenet-test2 /ip4/127.0.0.1/tcp/10101 2>&1 > listener-stdouterr.log &&
ipfsi 1 exp corenet dial $PEERID_0 corenet-test2 /ip4/127.0.0.1/tcp/10102 2>&1 > dialer-stdouterr.log &&
ma-pipe-unidir --pidFile=client.pid recv /ip4/127.0.0.1/tcp/10102 &
go-sleep 500ms &&
kill -0 $(cat listener.pid) && kill -0 $(cat client.pid)
'
test_expect_success
"'ipfs corenet streams' succeeds(2)"
'
echo "3 /app/corenet-test2 /ip4/127.0.0.1/tcp/10101 $PEERID_1" > expected
ipfsi 0 exp corenet streams > actual
test_cmp expected actual
'
test_expect_success
"'ipfs corenet close -a' closes streams and app handlers"
'
ipfsi 0 exp corenet close -a &&
ipfsi 0 exp corenet streams > actual &&
[ ! -f listener.pid ] && [ ! -f client.pid ] &&
test_must_be_empty actual &&
ipfsi 0 exp corenet ls > actual &&
test_must_be_empty actual
'
test_expect_success
'stop iptb'
'
iptb stop
'
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论