Constructing blocks in tests using shared_ptr

This commit is contained in:
Colin LeMahieu 2024-02-19 20:08:45 +00:00
commit e4f0029443
No known key found for this signature in database
GPG key ID: 43708520C8DFB938

View file

@ -422,10 +422,10 @@ TEST (wallet, create_send)
std::stringstream istream (json);
boost::property_tree::read_json (istream, tree1);
bool error (false);
nano::state_block send (error, tree1);
auto send = std::make_shared<nano::state_block> (error, tree1);
ASSERT_FALSE (error);
ASSERT_EQ (nano::block_status::progress, system.nodes[0]->process (send));
ASSERT_EQ (nano::block_status::old, system.nodes[0]->process (send));
ASSERT_EQ (nano::block_status::progress, system.nodes[0]->process (*send));
ASSERT_EQ (nano::block_status::old, system.nodes[0]->process (*send));
}
TEST (wallet, create_open_receive)
@ -456,10 +456,10 @@ TEST (wallet, create_open_receive)
std::stringstream istream1 (json1);
boost::property_tree::read_json (istream1, tree1);
bool error (false);
nano::state_block open (error, tree1);
auto open = std::make_shared<nano::state_block> (error, tree1);
ASSERT_FALSE (error);
ASSERT_EQ (nano::block_status::progress, system.nodes[0]->process (open));
ASSERT_EQ (nano::block_status::old, system.nodes[0]->process (open));
ASSERT_EQ (nano::block_status::progress, system.nodes[0]->process (*open));
ASSERT_EQ (nano::block_status::old, system.nodes[0]->process (*open));
wallet->block_creation.block->clear ();
wallet->block_creation.source->clear ();
wallet->block_creation.receive->click ();
@ -471,10 +471,10 @@ TEST (wallet, create_open_receive)
std::stringstream istream2 (json2);
boost::property_tree::read_json (istream2, tree2);
bool error2 (false);
nano::state_block receive (error2, tree2);
auto receive = std::make_shared<nano::state_block> (error2, tree2);
ASSERT_FALSE (error2);
ASSERT_EQ (nano::block_status::progress, system.nodes[0]->process (receive));
ASSERT_EQ (nano::block_status::old, system.nodes[0]->process (receive));
ASSERT_EQ (nano::block_status::progress, system.nodes[0]->process (*receive));
ASSERT_EQ (nano::block_status::old, system.nodes[0]->process (*receive));
}
TEST (wallet, create_change)
@ -499,10 +499,10 @@ TEST (wallet, create_change)
std::stringstream istream (json);
boost::property_tree::read_json (istream, tree1);
bool error (false);
nano::state_block change (error, tree1);
auto change = std::make_shared<nano::state_block> (error, tree1);
ASSERT_FALSE (error);
ASSERT_EQ (nano::block_status::progress, system.nodes[0]->process (change));
ASSERT_EQ (nano::block_status::old, system.nodes[0]->process (change));
ASSERT_EQ (nano::block_status::progress, system.nodes[0]->process (*change));
ASSERT_EQ (nano::block_status::old, system.nodes[0]->process (*change));
}
TEST (history, short_text)
@ -531,12 +531,12 @@ TEST (history, short_text)
store->initialize (transaction, ledger.cache, ledger.constants);
nano::keypair key;
auto latest (ledger.latest (transaction, nano::dev::genesis_key.pub));
nano::send_block send (latest, nano::dev::genesis_key.pub, 0, nano::dev::genesis_key.prv, nano::dev::genesis_key.pub, *system.work.generate (latest));
ASSERT_EQ (nano::block_status::progress, ledger.process (transaction, send));
nano::receive_block receive (send.hash (), send.hash (), nano::dev::genesis_key.prv, nano::dev::genesis_key.pub, *system.work.generate (send.hash ()));
ASSERT_EQ (nano::block_status::progress, ledger.process (transaction, receive));
nano::change_block change (receive.hash (), key.pub, nano::dev::genesis_key.prv, nano::dev::genesis_key.pub, *system.work.generate (receive.hash ()));
ASSERT_EQ (nano::block_status::progress, ledger.process (transaction, change));
auto send = std::make_shared<nano::send_block> (latest, nano::dev::genesis_key.pub, 0, nano::dev::genesis_key.prv, nano::dev::genesis_key.pub, *system.work.generate (latest));
ASSERT_EQ (nano::block_status::progress, ledger.process (transaction, *send));
auto receive = std::make_shared<nano::receive_block> (send->hash (), send->hash (), nano::dev::genesis_key.prv, nano::dev::genesis_key.pub, *system.work.generate (send->hash ()));
ASSERT_EQ (nano::block_status::progress, ledger.process (transaction, *receive));
auto change = std::make_shared<nano::change_block> (receive->hash (), key.pub, nano::dev::genesis_key.prv, nano::dev::genesis_key.pub, *system.work.generate (receive->hash ()));
ASSERT_EQ (nano::block_status::progress, ledger.process (transaction, *change));
}
nano_qt::history history (ledger, nano::dev::genesis_key.pub, *wallet);
history.refresh ();
@ -571,16 +571,16 @@ TEST (history, pruned_source)
auto transaction (store->tx_begin_write ());
store->initialize (transaction, ledger.cache, nano::dev::constants);
auto latest (ledger.latest (transaction, nano::dev::genesis_key.pub));
nano::send_block send1 (latest, nano::dev::genesis_key.pub, nano::dev::constants.genesis_amount - 100, nano::dev::genesis_key.prv, nano::dev::genesis_key.pub, *system.work.generate (latest));
ASSERT_EQ (nano::block_status::progress, ledger.process (transaction, send1));
nano::send_block send2 (send1.hash (), key.pub, nano::dev::constants.genesis_amount - 200, nano::dev::genesis_key.prv, nano::dev::genesis_key.pub, *system.work.generate (send1.hash ()));
ASSERT_EQ (nano::block_status::progress, ledger.process (transaction, send2));
nano::receive_block receive (send2.hash (), send1.hash (), nano::dev::genesis_key.prv, nano::dev::genesis_key.pub, *system.work.generate (send2.hash ()));
ASSERT_EQ (nano::block_status::progress, ledger.process (transaction, receive));
nano::open_block open (send2.hash (), key.pub, key.pub, key.prv, key.pub, *system.work.generate (key.pub));
ASSERT_EQ (nano::block_status::progress, ledger.process (transaction, open));
ASSERT_EQ (1, ledger.pruning_action (transaction, send1.hash (), 2));
next_pruning = send2.hash ();
auto send1 = std::make_shared<nano::send_block> (latest, nano::dev::genesis_key.pub, nano::dev::constants.genesis_amount - 100, nano::dev::genesis_key.prv, nano::dev::genesis_key.pub, *system.work.generate (latest));
ASSERT_EQ (nano::block_status::progress, ledger.process (transaction, *send1));
auto send2 = std::make_shared<nano::send_block> (send1->hash (), key.pub, nano::dev::constants.genesis_amount - 200, nano::dev::genesis_key.prv, nano::dev::genesis_key.pub, *system.work.generate (send1->hash ()));
ASSERT_EQ (nano::block_status::progress, ledger.process (transaction, *send2));
auto receive = std::make_shared<nano::receive_block> (send2->hash (), send1->hash (), nano::dev::genesis_key.prv, nano::dev::genesis_key.pub, *system.work.generate (send2->hash ()));
ASSERT_EQ (nano::block_status::progress, ledger.process (transaction, *receive));
auto open = std::make_shared<nano::open_block> (send2->hash (), key.pub, key.pub, key.prv, key.pub, *system.work.generate (key.pub));
ASSERT_EQ (nano::block_status::progress, ledger.process (transaction, *open));
ASSERT_EQ (1, ledger.pruning_action (transaction, send1->hash (), 2));
next_pruning = send2->hash ();
}
nano_qt::history history1 (ledger, nano::dev::genesis_key.pub, *wallet);
history1.refresh ();
@ -601,11 +601,11 @@ TEST (history, pruned_source)
{
auto transaction (store->tx_begin_write ());
auto latest (ledger.latest (transaction, nano::dev::genesis_key.pub));
nano::state_block send (nano::dev::genesis_key.pub, latest, nano::dev::genesis_key.pub, nano::dev::constants.genesis_amount - 200, key.pub, nano::dev::genesis_key.prv, nano::dev::genesis_key.pub, *system.work.generate (latest));
ASSERT_EQ (nano::block_status::progress, ledger.process (transaction, send));
auto send = std::make_shared<nano::state_block> (nano::dev::genesis_key.pub, latest, nano::dev::genesis_key.pub, nano::dev::constants.genesis_amount - 200, key.pub, nano::dev::genesis_key.prv, nano::dev::genesis_key.pub, *system.work.generate (latest));
ASSERT_EQ (nano::block_status::progress, ledger.process (transaction, *send));
auto latest_key (ledger.latest (transaction, key.pub));
nano::state_block receive (key.pub, latest_key, key.pub, 200, send.hash (), key.prv, key.pub, *system.work.generate (latest_key));
ASSERT_EQ (nano::block_status::progress, ledger.process (transaction, receive));
auto receive = std::make_shared<nano::state_block> (key.pub, latest_key, key.pub, 200, send->hash (), key.prv, key.pub, *system.work.generate (latest_key));
ASSERT_EQ (nano::block_status::progress, ledger.process (transaction, *receive));
ASSERT_EQ (1, ledger.pruning_action (transaction, latest, 2));
ASSERT_EQ (1, ledger.pruning_action (transaction, latest_key, 2));
}
@ -716,9 +716,9 @@ TEST (wallet, republish)
{
auto transaction (system.nodes[0]->store.tx_begin_write ());
auto latest (system.nodes[0]->ledger.latest (transaction, nano::dev::genesis_key.pub));
nano::send_block block (latest, key.pub, 0, nano::dev::genesis_key.prv, nano::dev::genesis_key.pub, *system.work.generate (latest));
hash = block.hash ();
ASSERT_EQ (nano::block_status::progress, system.nodes[0]->ledger.process (transaction, block));
auto block = std::make_shared<nano::send_block> (latest, key.pub, 0, nano::dev::genesis_key.prv, nano::dev::genesis_key.pub, *system.work.generate (latest));
hash = block->hash ();
ASSERT_EQ (nano::block_status::progress, system.nodes[0]->ledger.process (transaction, *block));
}
auto account (nano::dev::genesis_key.pub);
auto wallet (std::make_shared<nano_qt::wallet> (*test_application, processor, *system.nodes[0], system.wallet (0), account));
@ -916,8 +916,8 @@ TEST (wallet, DISABLED_synchronizing)
{
auto transaction (system1.nodes[0]->store.tx_begin_write ());
auto latest (system1.nodes[0]->ledger.latest (transaction, nano::dev::genesis->account ()));
nano::send_block send (latest, key1, 0, nano::dev::genesis_key.prv, nano::dev::genesis_key.pub, *system1.work.generate (latest));
system1.nodes[0]->ledger.process (transaction, send);
auto send = std::make_shared<nano::send_block> (latest, key1, 0, nano::dev::genesis_key.prv, nano::dev::genesis_key.pub, *system1.work.generate (latest));
system1.nodes[0]->ledger.process (transaction, *send);
}
ASSERT_EQ (0, wallet->active_status.active.count (nano_qt::status_types::synchronizing));
system0.nodes[0]->bootstrap_initiator.bootstrap (system1.nodes[0]->network.endpoint ());
@ -965,10 +965,10 @@ TEST (wallet, epoch_2_validation)
std::stringstream istream (json);
boost::property_tree::read_json (istream, tree1);
bool error (false);
nano::state_block block (error, tree1);
auto block = std::make_shared<nano::state_block> (error, tree1);
EXPECT_FALSE (error);
EXPECT_EQ (nano::block_status::progress, node->process (block));
return block.hash ();
EXPECT_EQ (nano::block_status::progress, node->process (*block));
return block->hash ();
};
auto do_send = [&] (nano::public_key const & destination) -> nano::block_hash {