Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
whqwjb
go-ethereum
提交
25bc8811
G
go-ethereum
项目概览
whqwjb
/
go-ethereum
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
go-ethereum
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
25bc8811
编写于
5月 03, 2015
作者:
O
obscuren
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
eth/downloader: added additional tests
上级
c6ad3aec
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
73 addition
and
4 deletion
+73
-4
eth/downloader/downloader_test.go
eth/downloader/downloader_test.go
+11
-4
eth/downloader/queue_test.go
eth/downloader/queue_test.go
+62
-0
未找到文件。
eth/downloader/downloader_test.go
浏览文件 @
25bc8811
...
...
@@ -23,12 +23,19 @@ func createHashes(start, amount int) (hashes []common.Hash) {
return
}
func
createBlock
(
i
int
,
prevHash
,
hash
common
.
Hash
)
*
types
.
Block
{
header
:=
&
types
.
Header
{
Number
:
big
.
NewInt
(
int64
(
i
))}
block
:=
types
.
NewBlockWithHeader
(
header
)
block
.
HeaderHash
=
hash
block
.
ParentHeaderHash
=
knownHash
return
block
}
func
createBlocksFromHashes
(
hashes
[]
common
.
Hash
)
map
[
common
.
Hash
]
*
types
.
Block
{
blocks
:=
make
(
map
[
common
.
Hash
]
*
types
.
Block
)
for
i
,
hash
:=
range
hashes
{
header
:=
&
types
.
Header
{
Number
:
big
.
NewInt
(
int64
(
len
(
hashes
)
-
i
))}
blocks
[
hash
]
=
types
.
NewBlockWithHeader
(
header
)
blocks
[
hash
]
.
HeaderHash
=
hash
blocks
[
hash
]
=
createBlock
(
len
(
hashes
)
-
i
,
knownHash
,
hash
)
}
return
blocks
...
...
@@ -162,7 +169,7 @@ func TestTaking(t *testing.T) {
t
.
Error
(
"download error"
,
err
)
}
bs1
:=
tester
.
downloader
.
TakeBlocks
(
1000
)
bs1
:=
tester
.
downloader
.
TakeBlocks
()
if
len
(
bs1
)
!=
1000
{
t
.
Error
(
"expected to take 1000, got"
,
len
(
bs1
))
}
...
...
eth/downloader/queue_test.go
0 → 100644
浏览文件 @
25bc8811
package
downloader
import
(
"testing"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/core/types"
"gopkg.in/fatih/set.v0"
)
func
createHashSet
(
hashes
[]
common
.
Hash
)
*
set
.
Set
{
hset
:=
set
.
New
()
for
_
,
hash
:=
range
hashes
{
hset
.
Add
(
hash
)
}
return
hset
}
func
createBlocksFromHashSet
(
hashes
*
set
.
Set
)
[]
*
types
.
Block
{
blocks
:=
make
([]
*
types
.
Block
,
hashes
.
Size
())
var
i
int
hashes
.
Each
(
func
(
v
interface
{})
bool
{
blocks
[
i
]
=
createBlock
(
i
,
common
.
Hash
{},
v
.
(
common
.
Hash
))
i
++
return
true
})
return
blocks
}
func
TestChunking
(
t
*
testing
.
T
)
{
queue
:=
newqueue
()
peer1
:=
newPeer
(
"peer1"
,
common
.
Hash
{},
nil
,
nil
)
peer2
:=
newPeer
(
"peer2"
,
common
.
Hash
{},
nil
,
nil
)
// 99 + 1 (1 == known genesis hash)
hashes
:=
createHashes
(
0
,
99
)
hashSet
:=
createHashSet
(
hashes
)
queue
.
put
(
hashSet
)
chunk1
:=
queue
.
get
(
peer1
,
99
)
if
chunk1
==
nil
{
t
.
Errorf
(
"chunk1 is nil"
)
t
.
FailNow
()
}
chunk2
:=
queue
.
get
(
peer2
,
99
)
if
chunk2
==
nil
{
t
.
Errorf
(
"chunk2 is nil"
)
t
.
FailNow
()
}
if
chunk1
.
hashes
.
Size
()
!=
99
{
t
.
Error
(
"expected chunk1 hashes to be 99, got"
,
chunk1
.
hashes
.
Size
())
}
if
chunk2
.
hashes
.
Size
()
!=
1
{
t
.
Error
(
"expected chunk1 hashes to be 1, got"
,
chunk2
.
hashes
.
Size
())
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录