From 40f97ce83da9199acfc7dc9105712888a7af099c Mon Sep 17 00:00:00 2001 From: moneromooo-monero Date: Thu, 31 Dec 2015 14:24:06 +0000 Subject: [PATCH] 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. --- src/cryptonote_core/cryptonote_core.cpp | 2 +- src/cryptonote_core/tx_pool.cpp | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/cryptonote_core/cryptonote_core.cpp b/src/cryptonote_core/cryptonote_core.cpp index 2fa339c3..2934659f 100644 --- a/src/cryptonote_core/cryptonote_core.cpp +++ b/src/cryptonote_core/cryptonote_core.cpp @@ -222,7 +222,7 @@ namespace cryptonote { 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"); #if BLOCKCHAIN_DB == DB_LMDB diff --git a/src/cryptonote_core/tx_pool.cpp b/src/cryptonote_core/tx_pool.cpp index bdd86d3e..1be44172 100644 --- a/src/cryptonote_core/tx_pool.cpp +++ b/src/cryptonote_core/tx_pool.cpp @@ -612,6 +612,9 @@ namespace cryptonote CRITICAL_REGION_LOCAL(m_transactions_lock); m_config_folder = config_folder; + if (m_config_folder.empty()) + return true; + std::string state_file_path = config_folder + "/" + CRYPTONOTE_POOLDATA_FILENAME; boost::system::error_code ec; if(!boost::filesystem::exists(state_file_path, ec)) @@ -648,6 +651,9 @@ namespace cryptonote //--------------------------------------------------------------------------------- bool tx_memory_pool::deinit() { + if (m_config_folder.empty()) + return true; + if (!tools::create_directories_if_necessary(m_config_folder)) { LOG_PRINT_L1("Failed to create data directory: " << m_config_folder);