From ea80b81e2e6d494a03177af50edef73f22820b3f Mon Sep 17 00:00:00 2001 From: MarcoFalke Date: Sat, 14 Jul 2018 10:36:14 -0400 Subject: [PATCH 1/2] test_bitcoin: Avoid read/write to default datadir --- src/test/net_tests.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/test/net_tests.cpp b/src/test/net_tests.cpp index 42e615ab0c4..2a77e0e1ec6 100644 --- a/src/test/net_tests.cpp +++ b/src/test/net_tests.cpp @@ -89,6 +89,7 @@ BOOST_AUTO_TEST_CASE(cnode_listen_port) BOOST_AUTO_TEST_CASE(caddrdb_read) { + SetDataDir("caddrdb_read"); CAddrManUncorrupted addrmanUncorrupted; addrmanUncorrupted.MakeDeterministic(); @@ -134,6 +135,7 @@ BOOST_AUTO_TEST_CASE(caddrdb_read) BOOST_AUTO_TEST_CASE(caddrdb_read_corrupted) { + SetDataDir("caddrdb_read_corrupted"); CAddrManCorrupted addrmanCorrupted; addrmanCorrupted.MakeDeterministic(); From fa43a4138b4a652bd83d70536539ae2aded05f0c Mon Sep 17 00:00:00 2001 From: MarcoFalke Date: Sat, 14 Jul 2018 10:54:51 -0400 Subject: [PATCH 2/2] bench_bitcoin: Avoid read/write to default datadir --- src/bench/bench_bitcoin.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/bench/bench_bitcoin.cpp b/src/bench/bench_bitcoin.cpp index f3302bfe5ad..92befdd5935 100644 --- a/src/bench/bench_bitcoin.cpp +++ b/src/bench/bench_bitcoin.cpp @@ -38,6 +38,14 @@ static void SetupBenchArgs() gArgs.AddArg("-help", "", false, OptionsCategory::HIDDEN); } +static fs::path SetDataDir() +{ + fs::path ret = fs::temp_directory_path() / "bench_bitcoin" / fs::unique_path(); + fs::create_directories(ret); + gArgs.ForceSetArg("-datadir", ret.string()); + return ret; +} + int main(int argc, char** argv) { SetupBenchArgs(); @@ -53,6 +61,9 @@ int main(int argc, char** argv) return EXIT_SUCCESS; } + // Set the datadir after parsing the bench options + const fs::path bench_datadir{SetDataDir()}; + SHA256AutoDetect(); RandomInit(); ECC_Start(); @@ -80,6 +91,8 @@ int main(int argc, char** argv) benchmark::BenchRunner::RunAll(*printer, evaluations, scaling_factor, regex_filter, is_list_only); + fs::remove_all(bench_datadir); + ECC_Stop(); return EXIT_SUCCESS;