提交 67a9df7d 编写于 作者: K Kevin Heifner

Update tests to use new push_block that takes a future

上级 3be1511f
......@@ -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;
}
......
......@@ -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(bs);
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(block); //, eosio::chain::validation_steps::created_block);
b.control->push_block(bs); //, eosio::chain::validation_steps::created_block);
}
}
};
......
......@@ -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 ;
}) ;
......
......@@ -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.
先完成此消息的编辑!
想要评论请 注册