Fix random failures of fired_delegates

This commit is contained in:
Nathan Hourt 2015-06-18 17:21:56 -04:00
parent bba5681722
commit d30240ad8e

View file

@ -457,18 +457,21 @@ BOOST_FIXTURE_TEST_CASE( fired_delegates, database_fixture )
sign(trx, key_id_type(), genesis_key); sign(trx, key_id_type(), genesis_key);
const proposal_object& prop = db.get<proposal_object>(PUSH_TX( db, trx ).operation_results.front().get<object_id_type>()); const proposal_object& prop = db.get<proposal_object>(PUSH_TX( db, trx ).operation_results.front().get<object_id_type>());
proposal_id_type pid = prop.id; proposal_id_type pid = prop.id;
BOOST_CHECK(!prop.is_authorized_to_execute(&db)); BOOST_CHECK(!pid(db).is_authorized_to_execute(&db));
//Genesis key approves of the proposal. //Genesis key approves of the proposal.
proposal_update_operation uop; proposal_update_operation uop;
uop.fee_paying_account = GRAPHENE_TEMP_ACCOUNT; uop.fee_paying_account = GRAPHENE_TEMP_ACCOUNT;
uop.proposal = prop.id; uop.proposal = pid;
uop.key_approvals_to_add.emplace(1); uop.key_approvals_to_add.emplace(1);
uop.key_approvals_to_add.emplace(2); uop.key_approvals_to_add.emplace(2);
uop.key_approvals_to_add.emplace(3); uop.key_approvals_to_add.emplace(3);
uop.key_approvals_to_add.emplace(4); uop.key_approvals_to_add.emplace(4);
uop.key_approvals_to_add.emplace(5); uop.key_approvals_to_add.emplace(5);
uop.key_approvals_to_add.emplace(6); uop.key_approvals_to_add.emplace(6);
uop.key_approvals_to_add.emplace(7);
uop.key_approvals_to_add.emplace(8);
uop.key_approvals_to_add.emplace(9);
trx.operations.back() = uop; trx.operations.back() = uop;
trx.sign(key_id_type(1), genesis_key); trx.sign(key_id_type(1), genesis_key);
trx.signatures[key_id_type(2)] = trx.signatures[key_id_type(1)]; trx.signatures[key_id_type(2)] = trx.signatures[key_id_type(1)];
@ -476,12 +479,15 @@ BOOST_FIXTURE_TEST_CASE( fired_delegates, database_fixture )
trx.signatures[key_id_type(4)] = trx.signatures[key_id_type(1)]; trx.signatures[key_id_type(4)] = trx.signatures[key_id_type(1)];
trx.signatures[key_id_type(5)] = trx.signatures[key_id_type(1)]; trx.signatures[key_id_type(5)] = trx.signatures[key_id_type(1)];
trx.signatures[key_id_type(6)] = trx.signatures[key_id_type(1)]; trx.signatures[key_id_type(6)] = trx.signatures[key_id_type(1)];
trx.signatures[key_id_type(7)] = trx.signatures[key_id_type(1)];
trx.signatures[key_id_type(8)] = trx.signatures[key_id_type(1)];
trx.signatures[key_id_type(9)] = trx.signatures[key_id_type(1)];
trx.sign(key_id_type(), genesis_key); trx.sign(key_id_type(), genesis_key);
PUSH_TX( db, trx ); PUSH_TX( db, trx );
BOOST_CHECK(prop.is_authorized_to_execute(&db)); BOOST_CHECK(pid(db).is_authorized_to_execute(&db));
//Time passes... the proposal is now in its review period. //Time passes... the proposal is now in its review period.
generate_blocks(*prop.review_period_time); generate_blocks(*pid(db).review_period_time);
fc::time_point_sec maintenance_time = db.get_dynamic_global_properties().next_maintenance_time; fc::time_point_sec maintenance_time = db.get_dynamic_global_properties().next_maintenance_time;
BOOST_CHECK_LT(maintenance_time.sec_since_epoch(), pid(db).expiration_time.sec_since_epoch()); BOOST_CHECK_LT(maintenance_time.sec_since_epoch(), pid(db).expiration_time.sec_since_epoch());