Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
YottaChain
YTBP
提交
4bc9d383
Y
YTBP
项目概览
YottaChain
/
YTBP
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Y
YTBP
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
4bc9d383
编写于
5月 08, 2018
作者:
D
Daniel Larimer
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix #2775 - reload chain after every test
上级
67bd2df3
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
19 addition
and
2 deletion
+19
-2
libraries/testing/include/eosio/testing/tester.hpp
libraries/testing/include/eosio/testing/tester.hpp
+19
-2
未找到文件。
libraries/testing/include/eosio/testing/tester.hpp
浏览文件 @
4bc9d383
...
...
@@ -288,8 +288,9 @@ namespace eosio { namespace testing {
wdump
((
e
.
to_detail_string
()));
}
}
controller
::
config
vcfg
;
validating_tester
()
{
controller
::
config
vcfg
;
vcfg
.
block_log_dir
=
tempdir
.
path
()
/
"vblocklog"
;
vcfg
.
shared_memory_dir
=
tempdir
.
path
()
/
"vshared"
;
vcfg
.
shared_memory_size
=
1024
*
1024
*
8
;
...
...
@@ -304,19 +305,24 @@ namespace eosio { namespace testing {
vcfg
.
wasm_runtime
=
chain
::
wasm_interface
::
vm_type
::
wavm
;
}
validating_node
=
std
::
make_unique
<
controller
>
(
vcfg
);
validating_node
->
startup
();
init
(
true
);
}
/*
validating_tester(controller::config config) {
validating_node = std::make_unique<controller>(config);
init(config);
}
*/
signed_block_ptr
produce_block
(
fc
::
microseconds
skip_time
=
fc
::
milliseconds
(
config
::
block_interval_ms
),
uint32_t
skip_flag
=
0
/*skip_missed_block_penalty*/
)
override
{
auto
sb
=
_produce_block
(
skip_time
,
false
,
skip_flag
|
2
);
validating_node
->
push_block
(
sb
);
return
sb
;
}
...
...
@@ -324,18 +330,29 @@ namespace eosio { namespace testing {
control
->
abort_block
();
auto
sb
=
_produce_block
(
skip_time
,
true
,
skip_flag
|
2
);
validating_node
->
push_block
(
sb
);
return
sb
;
}
bool
validate
()
{
auto
hbh
=
control
->
head_block_state
()
->
header
;
auto
vn_hbh
=
validating_node
->
head_block_state
()
->
header
;
return
control
->
head_block_id
()
==
validating_node
->
head_block_id
()
&&
bool
ok
=
control
->
head_block_id
()
==
validating_node
->
head_block_id
()
&&
hbh
.
previous
==
vn_hbh
.
previous
&&
hbh
.
timestamp
==
vn_hbh
.
timestamp
&&
hbh
.
transaction_mroot
==
vn_hbh
.
transaction_mroot
&&
hbh
.
action_mroot
==
vn_hbh
.
action_mroot
&&
hbh
.
producer
==
vn_hbh
.
producer
;
validating_node
.
reset
();
validating_node
=
std
::
make_unique
<
controller
>
(
vcfg
);
validating_node
->
startup
();
return
ok
;
}
unique_ptr
<
controller
>
validating_node
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录