core: do not use the persistent pool state for tests

Fixes intermittent test failures when the pool contains
unexpected transactions that were brought in from the
live pool.
release-v0.4.0.1
moneromooo-monero 9 years ago
parent ac7d27d4f9
commit 40f97ce83d
No known key found for this signature in database
GPG Key ID: 686F07454D6CEFC3

@ -222,7 +222,7 @@ namespace cryptonote
{ {
bool r = handle_command_line(vm); bool r = handle_command_line(vm);
r = m_mempool.init(m_config_folder); r = m_mempool.init(m_fakechain ? std::string() : m_config_folder);
CHECK_AND_ASSERT_MES(r, false, "Failed to initialize memory pool"); CHECK_AND_ASSERT_MES(r, false, "Failed to initialize memory pool");
#if BLOCKCHAIN_DB == DB_LMDB #if BLOCKCHAIN_DB == DB_LMDB

@ -612,6 +612,9 @@ namespace cryptonote
CRITICAL_REGION_LOCAL(m_transactions_lock); CRITICAL_REGION_LOCAL(m_transactions_lock);
m_config_folder = config_folder; m_config_folder = config_folder;
if (m_config_folder.empty())
return true;
std::string state_file_path = config_folder + "/" + CRYPTONOTE_POOLDATA_FILENAME; std::string state_file_path = config_folder + "/" + CRYPTONOTE_POOLDATA_FILENAME;
boost::system::error_code ec; boost::system::error_code ec;
if(!boost::filesystem::exists(state_file_path, ec)) if(!boost::filesystem::exists(state_file_path, ec))
@ -648,6 +651,9 @@ namespace cryptonote
//--------------------------------------------------------------------------------- //---------------------------------------------------------------------------------
bool tx_memory_pool::deinit() bool tx_memory_pool::deinit()
{ {
if (m_config_folder.empty())
return true;
if (!tools::create_directories_if_necessary(m_config_folder)) if (!tools::create_directories_if_necessary(m_config_folder))
{ {
LOG_PRINT_L1("Failed to create data directory: " << m_config_folder); LOG_PRINT_L1("Failed to create data directory: " << m_config_folder);

Loading…
Cancel
Save