Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
G
go-ipfs
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
jihao
go-ipfs
Commits
7e4b74bf
提交
7e4b74bf
authored
10月 10, 2016
作者:
Jakub Sztandera
提交者:
Kevin Atkinson
10月 11, 2016
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Change the test from being Has based to Put based
License: MIT Signed-off-by:
Jakub Sztandera
<
kubuxu@protonmail.ch
>
上级
9854683d
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
24 行增加
和
19 行删除
+24
-19
blockservice_test.go
blockservice/blockservice_test.go
+24
-19
没有找到文件。
blockservice/blockservice_test.go
浏览文件 @
7e4b74bf
...
...
@@ -3,42 +3,47 @@ package blockservice
import
(
"testing"
"github.com/ipfs/go-ipfs/blocks"
"github.com/ipfs/go-ipfs/blocks/blockstore"
butil
"github.com/ipfs/go-ipfs/blocks/blocksutil"
offline
"github.com/ipfs/go-ipfs/exchange/offline"
cid
"gx/ipfs/QmakyCk6Vnn16WEKjbkxieZmM2YLTzkFWizbmGowoYPjro/go-cid"
ds
"gx/ipfs/QmbzuUusHqaLLoNTDEVLcSF6vZDHZDLPC7p4bztRvvkXxU/go-datastore"
dssync
"gx/ipfs/QmbzuUusHqaLLoNTDEVLcSF6vZDHZDLPC7p4bztRvvkXxU/go-datastore/sync"
)
func
TestWriteThroughWorks
(
t
*
testing
.
T
)
{
dstore
:=
dssync
.
MutexWrap
(
ds
.
NewMapDatastore
())
bstore
:=
HasFailingBlockstore
{
blockstore
.
NewBlockstore
(
dstore
),
t
,
true
,
bstore
:=
&
PutCountingBlockstore
{
blockstore
.
NewBlockstore
(
dssync
.
MutexWrap
(
ds
.
NewMapDatastore
())),
0
,
}
exch
:=
offline
.
Exchange
(
bstore
)
bstore2
:=
blockstore
.
NewBlockstore
(
dssync
.
MutexWrap
(
ds
.
NewMapDatastore
()))
exch
:=
offline
.
Exchange
(
bstore2
)
bserv
:=
NewWriteThrough
(
bstore
,
exch
)
bgen
:=
butil
.
NewBlockGenerator
()
bserv
.
AddBlock
(
bgen
.
Next
())
block
:=
bgen
.
Next
()
t
.
Logf
(
"PutCounter: %d"
,
bstore
.
PutCounter
)
bserv
.
AddBlock
(
block
)
if
bstore
.
PutCounter
!=
1
{
t
.
Fatalf
(
"expected just one Put call, have: %d"
,
bstore
.
PutCounter
)
}
bserv
.
AddBlock
(
block
)
if
bstore
.
PutCounter
!=
2
{
t
.
Fatal
(
"Put should have called again, should be 2 is: %d"
,
bstore
.
PutCounter
)
}
}
var
_
blockstore
.
GCBlockstore
=
(
*
HasFail
ingBlockstore
)(
nil
)
var
_
blockstore
.
GCBlockstore
=
(
*
PutCount
ingBlockstore
)(
nil
)
type
HasFail
ingBlockstore
struct
{
type
PutCount
ingBlockstore
struct
{
blockstore
.
GCBlockstore
t
*
testing
.
T
Fail
bool
PutCounter
int
}
func
(
bs
HasFailingBlockstore
)
Has
(
k
*
cid
.
Cid
)
(
bool
,
error
)
{
if
bs
.
Fail
{
bs
.
t
.
Fatal
(
"Has shouldn't be called"
)
return
false
,
nil
}
return
bs
.
GCBlockstore
.
Has
(
k
)
func
(
bs
*
PutCountingBlockstore
)
Put
(
block
blocks
.
Block
)
error
{
bs
.
PutCounter
++
return
bs
.
GCBlockstore
.
Put
(
block
)
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论