mirror of
https://github.com/ElementsProject/elements.git
synced 2026-08-19 13:27:35 +02:00
test: Fix bug in blockfilter_index_tests.
The test case tests a chain reorganization, however the two chains were generated in the same manner and thus produced the same blocks.
This commit is contained in:
parent
b33c03b0cb
commit
f59bbb61af
1 changed files with 14 additions and 6 deletions
|
|
@ -167,17 +167,23 @@ BOOST_FIXTURE_TEST_CASE(blockfilter_index_initial_sync, TestChain100Setup)
|
||||||
LOCK(cs_main);
|
LOCK(cs_main);
|
||||||
tip = ::ChainActive().Tip();
|
tip = ::ChainActive().Tip();
|
||||||
}
|
}
|
||||||
CScript coinbase_script_pub_key = GetScriptForDestination(PKHash(coinbaseKey.GetPubKey()));
|
CKey coinbase_key_A, coinbase_key_B;
|
||||||
|
coinbase_key_A.MakeNewKey(true);
|
||||||
|
coinbase_key_B.MakeNewKey(true);
|
||||||
|
CScript coinbase_script_pub_key_A = GetScriptForDestination(PKHash(coinbase_key_A.GetPubKey()));
|
||||||
|
CScript coinbase_script_pub_key_B = GetScriptForDestination(PKHash(coinbase_key_B.GetPubKey()));
|
||||||
std::vector<std::shared_ptr<CBlock>> chainA, chainB;
|
std::vector<std::shared_ptr<CBlock>> chainA, chainB;
|
||||||
BOOST_REQUIRE(BuildChain(tip, coinbase_script_pub_key, 10, chainA));
|
BOOST_REQUIRE(BuildChain(tip, coinbase_script_pub_key_A, 10, chainA));
|
||||||
BOOST_REQUIRE(BuildChain(tip, coinbase_script_pub_key, 10, chainB));
|
BOOST_REQUIRE(BuildChain(tip, coinbase_script_pub_key_B, 10, chainB));
|
||||||
|
|
||||||
// Check that new blocks on chain A get indexed.
|
// Check that new blocks on chain A get indexed.
|
||||||
uint256 chainA_last_header = last_header;
|
uint256 chainA_last_header = last_header;
|
||||||
for (size_t i = 0; i < 2; i++) {
|
for (size_t i = 0; i < 2; i++) {
|
||||||
const auto& block = chainA[i];
|
const auto& block = chainA[i];
|
||||||
BOOST_REQUIRE(ProcessNewBlock(Params(), block, true, nullptr));
|
BOOST_REQUIRE(ProcessNewBlock(Params(), block, true, nullptr));
|
||||||
|
}
|
||||||
|
for (size_t i = 0; i < 2; i++) {
|
||||||
|
const auto& block = chainA[i];
|
||||||
const CBlockIndex* block_index;
|
const CBlockIndex* block_index;
|
||||||
{
|
{
|
||||||
LOCK(cs_main);
|
LOCK(cs_main);
|
||||||
|
|
@ -193,7 +199,9 @@ BOOST_FIXTURE_TEST_CASE(blockfilter_index_initial_sync, TestChain100Setup)
|
||||||
for (size_t i = 0; i < 3; i++) {
|
for (size_t i = 0; i < 3; i++) {
|
||||||
const auto& block = chainB[i];
|
const auto& block = chainB[i];
|
||||||
BOOST_REQUIRE(ProcessNewBlock(Params(), block, true, nullptr));
|
BOOST_REQUIRE(ProcessNewBlock(Params(), block, true, nullptr));
|
||||||
|
}
|
||||||
|
for (size_t i = 0; i < 3; i++) {
|
||||||
|
const auto& block = chainB[i];
|
||||||
const CBlockIndex* block_index;
|
const CBlockIndex* block_index;
|
||||||
{
|
{
|
||||||
LOCK(cs_main);
|
LOCK(cs_main);
|
||||||
|
|
@ -221,7 +229,7 @@ BOOST_FIXTURE_TEST_CASE(blockfilter_index_initial_sync, TestChain100Setup)
|
||||||
// Reorg back to chain A.
|
// Reorg back to chain A.
|
||||||
for (size_t i = 2; i < 4; i++) {
|
for (size_t i = 2; i < 4; i++) {
|
||||||
const auto& block = chainA[i];
|
const auto& block = chainA[i];
|
||||||
BOOST_REQUIRE(ProcessNewBlock(Params(), block, true, nullptr));
|
BOOST_REQUIRE(ProcessNewBlock(Params(), block, true, nullptr));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check that chain A and B blocks can be retrieved.
|
// Check that chain A and B blocks can be retrieved.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue