@@ -296,8 +296,7 @@ ChainTestingSetup::~ChainTestingSetup()
296296 m_node.scheduler .reset ();
297297}
298298
299- TestingSetup::TestingSetup (const std::string& chainName, const std::vector<const char *>& extra_args)
300- : ChainTestingSetup(chainName, extra_args)
299+ void TestingSetup::LoadVerifyActivateChainstate ()
301300{
302301 const CChainParams& chainparams = Params ();
303302 // Ideally we'd move all the RPC tests to the functional testing framework
@@ -331,8 +330,8 @@ TestingSetup::TestingSetup(const std::string& chainName, const std::vector<const
331330 m_cache_sizes.block_tree_db ,
332331 m_cache_sizes.coins_db ,
333332 m_cache_sizes.coins ,
334- /* block_tree_db_in_memory=*/ true ,
335- /* coins_db_in_memory=*/ true ,
333+ /* block_tree_db_in_memory=*/ m_block_tree_db_in_memory ,
334+ /* coins_db_in_memory=*/ m_coins_db_in_memory ,
336335 /* dash_dbs_in_memory=*/ true );
337336 assert (!maybe_load_error.has_value ());
338337
@@ -386,6 +385,18 @@ TestingSetup::TestingSetup(const std::string& chainName, const std::vector<const
386385 }
387386}
388387
388+ TestingSetup::TestingSetup (
389+ const std::string& chainName,
390+ const std::vector<const char *>& extra_args,
391+ const bool coins_db_in_memory,
392+ const bool block_tree_db_in_memory)
393+ : ChainTestingSetup(chainName, extra_args),
394+ m_coins_db_in_memory(coins_db_in_memory),
395+ m_block_tree_db_in_memory(block_tree_db_in_memory)
396+ {
397+ LoadVerifyActivateChainstate ();
398+ }
399+
389400TestingSetup::~TestingSetup ()
390401{
391402 m_node.peerman .reset ();
@@ -414,13 +425,22 @@ TestingSetup::~TestingSetup()
414425 DashChainstateSetupClose (m_node);
415426}
416427
417- TestChain100Setup::TestChain100Setup (const std::string& chain_name, const std::vector<const char *>& extra_args)
418- : TestChainSetup{100 , chain_name, extra_args}
428+ TestChain100Setup::TestChain100Setup (
429+ const std::string& chain_name,
430+ const std::vector<const char *>& extra_args,
431+ const bool coins_db_in_memory,
432+ const bool block_tree_db_in_memory)
433+ : TestChainSetup{100 , chain_name, extra_args, coins_db_in_memory, block_tree_db_in_memory}
419434{
420435}
421436
422- TestChainSetup::TestChainSetup (int num_blocks, const std::string& chain_name, const std::vector<const char *>& extra_args)
423- : TestingSetup{chain_name, extra_args}
437+ TestChainSetup::TestChainSetup (
438+ int num_blocks,
439+ const std::string& chain_name,
440+ const std::vector<const char *>& extra_args,
441+ const bool coins_db_in_memory,
442+ const bool block_tree_db_in_memory)
443+ : TestingSetup{chain_name, extra_args, coins_db_in_memory, block_tree_db_in_memory}
424444{
425445 SetMockTime (1598887952 );
426446 constexpr std::array<unsigned char , 32 > vchKey = {
0 commit comments