Skip to content

Commit cbc9b50

Browse files
author
MarcoFalke
committed
Merge #13663: tests: Avoid read/write to default datadir
fa43a41 bench_bitcoin: Avoid read/write to default datadir (MarcoFalke) ea80b81 test_bitcoin: Avoid read/write to default datadir (MarcoFalke) Pull request description: tests should never read or write and potentially corrupt the default datadir, so try to avoid it. Tree-SHA512: ee446ff4bf59da2aed38c2e4758581d6103e9d4c35a118497e9ec21d566ba33d913e160c2d7ba2ea6f937f000343ecea3816154bd87ee47f64f5b0cf9e88f6e0
2 parents 75bea05 + fa43a41 commit cbc9b50

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

src/bench/bench_bitcoin.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,14 @@ static void SetupBenchArgs()
3838
gArgs.AddArg("-help", "", false, OptionsCategory::HIDDEN);
3939
}
4040

41+
static fs::path SetDataDir()
42+
{
43+
fs::path ret = fs::temp_directory_path() / "bench_bitcoin" / fs::unique_path();
44+
fs::create_directories(ret);
45+
gArgs.ForceSetArg("-datadir", ret.string());
46+
return ret;
47+
}
48+
4149
int main(int argc, char** argv)
4250
{
4351
SetupBenchArgs();
@@ -53,6 +61,9 @@ int main(int argc, char** argv)
5361
return EXIT_SUCCESS;
5462
}
5563

64+
// Set the datadir after parsing the bench options
65+
const fs::path bench_datadir{SetDataDir()};
66+
5667
SHA256AutoDetect();
5768
RandomInit();
5869
ECC_Start();
@@ -80,6 +91,8 @@ int main(int argc, char** argv)
8091

8192
benchmark::BenchRunner::RunAll(*printer, evaluations, scaling_factor, regex_filter, is_list_only);
8293

94+
fs::remove_all(bench_datadir);
95+
8396
ECC_Stop();
8497

8598
return EXIT_SUCCESS;

src/test/net_tests.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ BOOST_AUTO_TEST_CASE(cnode_listen_port)
8989

9090
BOOST_AUTO_TEST_CASE(caddrdb_read)
9191
{
92+
SetDataDir("caddrdb_read");
9293
CAddrManUncorrupted addrmanUncorrupted;
9394
addrmanUncorrupted.MakeDeterministic();
9495

@@ -134,6 +135,7 @@ BOOST_AUTO_TEST_CASE(caddrdb_read)
134135

135136
BOOST_AUTO_TEST_CASE(caddrdb_read_corrupted)
136137
{
138+
SetDataDir("caddrdb_read_corrupted");
137139
CAddrManCorrupted addrmanCorrupted;
138140
addrmanCorrupted.MakeDeterministic();
139141

0 commit comments

Comments
 (0)