Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
YottaChain
YTBP
提交
67a9df7d
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,发现更多精彩内容 >>
提交
67a9df7d
编写于
10月 31, 2018
作者:
K
Kevin Heifner
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update tests to use new push_block that takes a future
上级
3be1511f
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
14 addition
and
9 deletion
+14
-9
libraries/testing/include/eosio/testing/tester.hpp
libraries/testing/include/eosio/testing/tester.hpp
+6
-5
libraries/testing/tester.cpp
libraries/testing/tester.cpp
+4
-2
unittests/block_tests.cpp
unittests/block_tests.cpp
+2
-1
unittests/forked_tests.cpp
unittests/forked_tests.cpp
+2
-1
未找到文件。
libraries/testing/include/eosio/testing/tester.hpp
浏览文件 @
67a9df7d
...
...
@@ -373,7 +373,8 @@ namespace eosio { namespace testing {
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
);
auto
bs
=
validating_node
->
create_block_state_future
(
sb
);
validating_node
->
push_block
(
bs
);
return
sb
;
}
...
...
@@ -383,15 +384,15 @@ namespace eosio { namespace testing {
}
void
validate_push_block
(
const
signed_block_ptr
&
sb
)
{
validating_node
->
push_block
(
sb
);
auto
bs
=
validating_node
->
create_block_state_future
(
sb
);
validating_node
->
push_block
(
bs
);
}
signed_block_ptr
produce_empty_block
(
fc
::
microseconds
skip_time
=
fc
::
milliseconds
(
config
::
block_interval_ms
),
uint32_t
skip_flag
=
0
/*skip_missed_block_penalty*/
)
override
{
control
->
abort_block
();
auto
sb
=
_produce_block
(
skip_time
,
true
,
skip_flag
|
2
);
validating_node
->
push_block
(
sb
);
auto
bs
=
validating_node
->
create_block_state_future
(
sb
);
validating_node
->
push_block
(
bs
);
return
sb
;
}
...
...
libraries/testing/tester.cpp
浏览文件 @
67a9df7d
...
...
@@ -141,8 +141,9 @@ namespace eosio { namespace testing {
}
signed_block_ptr
base_tester
::
push_block
(
signed_block_ptr
b
)
{
auto
bs
=
control
->
create_block_state_future
(
b
);
control
->
abort_block
();
control
->
push_block
(
b
);
control
->
push_block
(
b
s
);
auto
itr
=
last_produced_block
.
find
(
b
->
producer
);
if
(
itr
==
last_produced_block
.
end
()
||
block_header
::
num_from_id
(
b
->
id
())
>
block_header
::
num_from_id
(
itr
->
second
))
{
...
...
@@ -795,8 +796,9 @@ namespace eosio { namespace testing {
for
(
int
i
=
1
;
i
<=
a
.
control
->
head_block_num
();
++
i
)
{
auto
block
=
a
.
control
->
fetch_block_by_number
(
i
);
if
(
block
)
{
//&& !b.control->is_known_block(block->id()) ) {
auto
bs
=
b
.
control
->
create_block_state_future
(
block
);
b
.
control
->
abort_block
();
b
.
control
->
push_block
(
b
lock
);
//, eosio::chain::validation_steps::created_block);
b
.
control
->
push_block
(
b
s
);
//, eosio::chain::validation_steps::created_block);
}
}
};
...
...
unittests/block_tests.cpp
浏览文件 @
67a9df7d
...
...
@@ -42,8 +42,9 @@ BOOST_AUTO_TEST_CASE(block_with_invalid_tx_test)
// Push block with invalid transaction to other chain
tester
validator
;
auto
bs
=
validator
.
control
->
create_block_state_future
(
copy_b
);
validator
.
control
->
abort_block
();
BOOST_REQUIRE_EXCEPTION
(
validator
.
control
->
push_block
(
copy_b
),
fc
::
exception
,
BOOST_REQUIRE_EXCEPTION
(
validator
.
control
->
push_block
(
bs
),
fc
::
exception
,
[]
(
const
fc
::
exception
&
e
)
->
bool
{
return
e
.
code
()
==
account_name_exists_exception
::
code_value
;
})
;
...
...
unittests/forked_tests.cpp
浏览文件 @
67a9df7d
...
...
@@ -279,8 +279,9 @@ BOOST_AUTO_TEST_CASE( forking ) try {
wlog
(
"now push dan's block to c1 but first corrupt it so it is a bad block"
);
auto
bad_block
=
*
b
;
bad_block
.
transaction_mroot
=
bad_block
.
previous
;
auto
bad_block_bs
=
c
.
control
->
create_block_state_future
(
std
::
make_shared
<
signed_block
>
(
bad_block
)
);
c
.
control
->
abort_block
();
BOOST_REQUIRE_EXCEPTION
(
c
.
control
->
push_block
(
std
::
make_shared
<
signed_block
>
(
bad_block
)
),
fc
::
exception
,
BOOST_REQUIRE_EXCEPTION
(
c
.
control
->
push_block
(
bad_block_bs
),
fc
::
exception
,
[]
(
const
fc
::
exception
&
ex
)
->
bool
{
return
ex
.
to_detail_string
().
find
(
"block not signed by expected key"
)
!=
std
::
string
::
npos
;
});
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录