Changeset View
Changeset View
Standalone View
Standalone View
src/test/blockencodings_tests.cpp
Show First 20 Lines • Show All 66 Lines • ▼ Show 20 Lines | |||||
// (block + mempool + our copy from the GetSharedTx call) | // (block + mempool + our copy from the GetSharedTx call) | ||||
constexpr long SHARED_TX_OFFSET{3}; | constexpr long SHARED_TX_OFFSET{3}; | ||||
BOOST_AUTO_TEST_CASE(SimpleRoundTripTest) { | BOOST_AUTO_TEST_CASE(SimpleRoundTripTest) { | ||||
CTxMemPool pool; | CTxMemPool pool; | ||||
TestMemPoolEntryHelper entry; | TestMemPoolEntryHelper entry; | ||||
CBlock block(BuildBlockTestCase()); | CBlock block(BuildBlockTestCase()); | ||||
LOCK(pool.cs); | LOCK2(cs_main, pool.cs); | ||||
pool.addUnchecked(block.vtx[2]->GetId(), entry.FromTx(block.vtx[2])); | pool.addUnchecked(block.vtx[2]->GetId(), entry.FromTx(block.vtx[2])); | ||||
BOOST_CHECK_EQUAL( | BOOST_CHECK_EQUAL( | ||||
pool.mapTx.find(block.vtx[2]->GetId())->GetSharedTx().use_count(), | pool.mapTx.find(block.vtx[2]->GetId())->GetSharedTx().use_count(), | ||||
SHARED_TX_OFFSET + 0); | SHARED_TX_OFFSET + 0); | ||||
// Do a simple ShortTxIDs RT | // Do a simple ShortTxIDs RT | ||||
{ | { | ||||
CBlockHeaderAndShortTxIDs shortIDs(block); | CBlockHeaderAndShortTxIDs shortIDs(block); | ||||
▲ Show 20 Lines • Show All 94 Lines • ▼ Show 20 Lines | public: | ||||
} | } | ||||
}; | }; | ||||
BOOST_AUTO_TEST_CASE(NonCoinbasePreforwardRTTest) { | BOOST_AUTO_TEST_CASE(NonCoinbasePreforwardRTTest) { | ||||
CTxMemPool pool; | CTxMemPool pool; | ||||
TestMemPoolEntryHelper entry; | TestMemPoolEntryHelper entry; | ||||
CBlock block(BuildBlockTestCase()); | CBlock block(BuildBlockTestCase()); | ||||
LOCK(pool.cs); | LOCK2(cs_main, pool.cs); | ||||
pool.addUnchecked(block.vtx[2]->GetId(), entry.FromTx(block.vtx[2])); | pool.addUnchecked(block.vtx[2]->GetId(), entry.FromTx(block.vtx[2])); | ||||
BOOST_CHECK_EQUAL( | BOOST_CHECK_EQUAL( | ||||
pool.mapTx.find(block.vtx[2]->GetId())->GetSharedTx().use_count(), | pool.mapTx.find(block.vtx[2]->GetId())->GetSharedTx().use_count(), | ||||
SHARED_TX_OFFSET + 0); | SHARED_TX_OFFSET + 0); | ||||
uint256 txhash; | uint256 txhash; | ||||
// Test with pre-forwarding tx 1, but not coinbase | // Test with pre-forwarding tx 1, but not coinbase | ||||
▲ Show 20 Lines • Show All 78 Lines • ▼ Show 20 Lines | BOOST_CHECK_EQUAL(pool.mapTx.find(txhash)->GetSharedTx().use_count(), | ||||
SHARED_TX_OFFSET - 1); | SHARED_TX_OFFSET - 1); | ||||
} | } | ||||
BOOST_AUTO_TEST_CASE(SufficientPreforwardRTTest) { | BOOST_AUTO_TEST_CASE(SufficientPreforwardRTTest) { | ||||
CTxMemPool pool; | CTxMemPool pool; | ||||
TestMemPoolEntryHelper entry; | TestMemPoolEntryHelper entry; | ||||
CBlock block(BuildBlockTestCase()); | CBlock block(BuildBlockTestCase()); | ||||
LOCK(pool.cs); | LOCK2(cs_main, pool.cs); | ||||
pool.addUnchecked(block.vtx[1]->GetId(), entry.FromTx(block.vtx[1])); | pool.addUnchecked(block.vtx[1]->GetId(), entry.FromTx(block.vtx[1])); | ||||
BOOST_CHECK_EQUAL( | BOOST_CHECK_EQUAL( | ||||
pool.mapTx.find(block.vtx[1]->GetId())->GetSharedTx().use_count(), | pool.mapTx.find(block.vtx[1]->GetId())->GetSharedTx().use_count(), | ||||
SHARED_TX_OFFSET + 0); | SHARED_TX_OFFSET + 0); | ||||
uint256 txhash; | uint256 txhash; | ||||
// Test with pre-forwarding coinbase + tx 2 with tx 1 in mempool | // Test with pre-forwarding coinbase + tx 2 with tx 1 in mempool | ||||
▲ Show 20 Lines • Show All 126 Lines • Show Last 20 Lines |