Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
G
go-ipfs
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
jihao
go-ipfs
Commits
85401d53
提交
85401d53
authored
1月 10, 2015
作者:
Brian Tiger Chow
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refactor: use the Core in the integration test
上级
2c3fb433
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
35 行增加
和
40 行删除
+35
-40
addcat_test.go
test/epictest/addcat_test.go
+2
-2
core.go
test/epictest/core.go
+30
-35
three_legged_cat_test.go
test/epictest/three_legged_cat_test.go
+3
-3
没有找到文件。
test/epictest/addcat_test.go
浏览文件 @
85401d53
...
...
@@ -109,8 +109,8 @@ func DirectAddCat(data []byte, conf testutil.LatencyConfig) error {
return
err
}
adder
.
Bootstrap
(
ctx
,
catter
.
ID
(
))
catter
.
Bootstrap
(
ctx
,
adder
.
ID
(
))
adder
.
Bootstrap
(
ctx
,
catter
.
Peerstore
.
PeerInfo
(
catter
.
PeerHost
.
ID
()
))
catter
.
Bootstrap
(
ctx
,
adder
.
Peerstore
.
PeerInfo
(
adder
.
PeerHost
.
ID
()
))
keyAdded
,
err
:=
adder
.
Add
(
bytes
.
NewReader
(
data
))
if
err
!=
nil
{
...
...
test/epictest/core.go
浏览文件 @
85401d53
...
...
@@ -9,7 +9,7 @@ import (
blockstore
"github.com/jbenet/go-ipfs/blocks/blockstore"
blockservice
"github.com/jbenet/go-ipfs/blockservice"
testutil
"github.com/jbenet/go-ipfs/util/testutil
"
core
"github.com/jbenet/go-ipfs/core
"
exchange
"github.com/jbenet/go-ipfs/exchange"
bitswap
"github.com/jbenet/go-ipfs/exchange/bitswap"
bsnet
"github.com/jbenet/go-ipfs/exchange/bitswap/network"
...
...
@@ -25,30 +25,26 @@ import (
"github.com/jbenet/go-ipfs/util/datastore2"
delay
"github.com/jbenet/go-ipfs/util/delay"
eventlog
"github.com/jbenet/go-ipfs/util/eventlog"
testutil
"github.com/jbenet/go-ipfs/util/testutil"
)
var
log
=
eventlog
.
Logger
(
"epictest"
)
// TODO merge with core.IpfsNode
type
core
struct
{
repo
Repo
blockService
*
blockservice
.
BlockService
blockstore
blockstore
.
Blockstore
dag
merkledag
.
DAGService
id
peer
.
ID
type
Core
struct
{
*
core
.
IpfsNode
}
func
(
c
*
c
ore
)
ID
()
peer
.
ID
{
return
c
.
repo
.
ID
()
func
(
c
*
C
ore
)
ID
()
peer
.
ID
{
return
c
.
IpfsNode
.
Identity
}
func
(
c
*
core
)
Bootstrap
(
ctx
context
.
Context
,
p
peer
.
ID
)
error
{
return
c
.
repo
.
Bootstrap
(
ctx
,
p
)
func
(
c
*
Core
)
Bootstrap
(
ctx
context
.
Context
,
p
peer
.
PeerInfo
)
error
{
return
c
.
IpfsNode
.
Bootstrap
(
ctx
,
[]
peer
.
PeerInfo
{
p
}
)
}
func
(
c
*
c
ore
)
Cat
(
k
util
.
Key
)
(
io
.
Reader
,
error
)
{
catterdag
:=
c
.
dag
func
(
c
*
C
ore
)
Cat
(
k
util
.
Key
)
(
io
.
Reader
,
error
)
{
catterdag
:=
c
.
IpfsNode
.
DAG
nodeCatted
,
err
:=
(
&
path
.
Resolver
{
catterdag
})
.
ResolvePath
(
k
.
String
())
if
err
!=
nil
{
return
nil
,
err
...
...
@@ -56,10 +52,10 @@ func (c *core) Cat(k util.Key) (io.Reader, error) {
return
uio
.
NewDagReader
(
nodeCatted
,
catterdag
)
}
func
(
c
*
c
ore
)
Add
(
r
io
.
Reader
)
(
util
.
Key
,
error
)
{
func
(
c
*
C
ore
)
Add
(
r
io
.
Reader
)
(
util
.
Key
,
error
)
{
nodeAdded
,
err
:=
importer
.
BuildDagFromReader
(
r
,
c
.
dag
,
c
.
IpfsNode
.
DAG
,
nil
,
chunk
.
DefaultSplitter
,
)
...
...
@@ -69,28 +65,26 @@ func (c *core) Add(r io.Reader) (util.Key, error) {
return
nodeAdded
.
Key
()
}
func
makeCore
(
ctx
context
.
Context
,
rf
RepoFactory
)
(
*
c
ore
,
error
)
{
repo
,
err
:=
rf
(
ctx
)
func
makeCore
(
ctx
context
.
Context
,
rf
RepoFactory
)
(
*
C
ore
,
error
)
{
node
,
err
:=
rf
(
ctx
)
if
err
!=
nil
{
return
nil
,
err
}
bss
,
err
:=
blockservice
.
New
(
repo
.
Blockstore
(),
repo
.
Exchange
()
)
node
.
Blocks
,
err
=
blockservice
.
New
(
node
.
Blockstore
,
node
.
Exchange
)
if
err
!=
nil
{
return
nil
,
err
}
dag
:=
merkledag
.
NewDAGService
(
bs
s
)
node
.
DAG
=
merkledag
.
NewDAGService
(
node
.
Block
s
)
// to make sure nothing is omitted, init each individual field and assign
// all at once at the bottom.
return
&
core
{
repo
:
repo
,
blockService
:
bss
,
dag
:
dag
,
return
&
Core
{
IpfsNode
:
node
,
},
nil
}
type
RepoFactory
func
(
ctx
context
.
Context
)
(
Repo
,
error
)
type
RepoFactory
func
(
ctx
context
.
Context
)
(
*
core
.
IpfsNode
,
error
)
type
Repo
interface
{
ID
()
peer
.
ID
...
...
@@ -132,11 +126,11 @@ func (r *repo) Exchange() exchange.Interface {
}
func
MocknetTestRepo
(
p
peer
.
ID
,
h
host
.
Host
,
conf
testutil
.
LatencyConfig
)
RepoFactory
{
return
func
(
ctx
context
.
Context
)
(
Repo
,
error
)
{
return
func
(
ctx
context
.
Context
)
(
*
core
.
IpfsNode
,
error
)
{
const
kWriteCacheElems
=
100
const
alwaysSendToPeer
=
true
dsDelay
:=
delay
.
Fixed
(
conf
.
BlockstoreLatency
)
ds
:=
sync
.
MutexWrap
(
datastore2
.
WithDelay
(
datastore
.
NewMapDatastore
(),
dsDelay
))
ds
:=
datastore2
.
CloserWrap
(
sync
.
MutexWrap
(
datastore2
.
WithDelay
(
datastore
.
NewMapDatastore
(),
dsDelay
)
))
log
.
Debugf
(
"MocknetTestRepo: %s %s %s"
,
p
,
h
.
ID
(),
h
)
dhtt
:=
dht
.
NewDHT
(
ctx
,
h
,
ds
)
...
...
@@ -146,14 +140,15 @@ func MocknetTestRepo(p peer.ID, h host.Host, conf testutil.LatencyConfig) RepoFa
return
nil
,
err
}
exch
:=
bitswap
.
New
(
ctx
,
p
,
bsn
,
bstore
,
alwaysSendToPeer
)
return
&
repo
{
bitSwapNetwork
:
bsn
,
blockstore
:
bstore
,
exchange
:
exch
,
datastore
:
ds
,
host
:
h
,
dht
:
dhtt
,
id
:
p
,
return
&
core
.
IpfsNode
{
Peerstore
:
h
.
Peerstore
(),
Blockstore
:
bstore
,
Exchange
:
exch
,
Datastore
:
ds
,
PeerHost
:
h
,
Routing
:
dhtt
,
Identity
:
p
,
DHT
:
dhtt
,
},
nil
}
}
test/epictest/three_legged_cat_test.go
浏览文件 @
85401d53
...
...
@@ -55,9 +55,9 @@ func RunThreeLeggedCat(data []byte, conf testutil.LatencyConfig) error {
if
err
!=
nil
{
return
err
}
adder
.
Bootstrap
(
ctx
,
boo
tstrap
.
ID
()
)
catter
.
Bootstrap
(
ctx
,
boo
tstrap
.
ID
()
)
boostrapInfo
:=
bootstrap
.
Peerstore
.
PeerInfo
(
bootstrap
.
PeerHost
.
ID
())
adder
.
Bootstrap
(
ctx
,
boo
strapInfo
)
catter
.
Bootstrap
(
ctx
,
boo
strapInfo
)
keyAdded
,
err
:=
adder
.
Add
(
bytes
.
NewReader
(
data
))
if
err
!=
nil
{
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论