Skip to content

Commit fad3d2a

Browse files
author
MarcoFalke
committed
test: Create data dir in BasicTestingSetup
1 parent b1344ea commit fad3d2a

11 files changed

+28
-42
lines changed

src/test/blockfilter_index_tests.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -267,8 +267,6 @@ BOOST_FIXTURE_TEST_CASE(blockfilter_index_initial_sync, TestChain100Setup)
267267

268268
BOOST_FIXTURE_TEST_CASE(blockfilter_index_init_destroy, BasicTestingSetup)
269269
{
270-
SetDataDir("tempdir");
271-
272270
BlockFilterIndex* filter_index;
273271

274272
filter_index = GetBlockFilterIndex(BlockFilterType::BASIC);

src/test/dbwrapper_tests.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ BOOST_AUTO_TEST_CASE(dbwrapper)
2727
{
2828
// Perform tests both obfuscated and non-obfuscated.
2929
for (const bool obfuscate : {false, true}) {
30-
fs::path ph = SetDataDir(std::string("dbwrapper").append(obfuscate ? "_true" : "_false"));
30+
fs::path ph = GetDataDir() / (obfuscate ? "dbwrapper_obfuscate_true" : "dbwrapper_obfuscate_false");
3131
CDBWrapper dbw(ph, (1 << 20), true, false, obfuscate);
3232
char key = 'k';
3333
uint256 in = InsecureRand256();
@@ -47,7 +47,7 @@ BOOST_AUTO_TEST_CASE(dbwrapper_batch)
4747
{
4848
// Perform tests both obfuscated and non-obfuscated.
4949
for (const bool obfuscate : {false, true}) {
50-
fs::path ph = SetDataDir(std::string("dbwrapper_batch").append(obfuscate ? "_true" : "_false"));
50+
fs::path ph = GetDataDir() / (obfuscate ? "dbwrapper_batch_obfuscate_true" : "dbwrapper_batch_obfuscate_false");
5151
CDBWrapper dbw(ph, (1 << 20), true, false, obfuscate);
5252

5353
char key = 'i';
@@ -83,7 +83,7 @@ BOOST_AUTO_TEST_CASE(dbwrapper_iterator)
8383
{
8484
// Perform tests both obfuscated and non-obfuscated.
8585
for (const bool obfuscate : {false, true}) {
86-
fs::path ph = SetDataDir(std::string("dbwrapper_iterator").append(obfuscate ? "_true" : "_false"));
86+
fs::path ph = GetDataDir() / (obfuscate ? "dbwrapper_iterator_obfuscate_true" : "dbwrapper_iterator_obfuscate_false");
8787
CDBWrapper dbw(ph, (1 << 20), true, false, obfuscate);
8888

8989
// The two keys are intentionally chosen for ordering
@@ -123,7 +123,7 @@ BOOST_AUTO_TEST_CASE(dbwrapper_iterator)
123123
BOOST_AUTO_TEST_CASE(existing_data_no_obfuscate)
124124
{
125125
// We're going to share this fs::path between two wrappers
126-
fs::path ph = SetDataDir("existing_data_no_obfuscate");
126+
fs::path ph = GetDataDir() / "existing_data_no_obfuscate";
127127
create_directories(ph);
128128

129129
// Set up a non-obfuscated wrapper to write some initial data.
@@ -164,7 +164,7 @@ BOOST_AUTO_TEST_CASE(existing_data_no_obfuscate)
164164
BOOST_AUTO_TEST_CASE(existing_data_reindex)
165165
{
166166
// We're going to share this fs::path between two wrappers
167-
fs::path ph = SetDataDir("existing_data_reindex");
167+
fs::path ph = GetDataDir() / "existing_data_reindex";
168168
create_directories(ph);
169169

170170
// Set up a non-obfuscated wrapper to write some initial data.
@@ -199,7 +199,7 @@ BOOST_AUTO_TEST_CASE(existing_data_reindex)
199199

200200
BOOST_AUTO_TEST_CASE(iterator_ordering)
201201
{
202-
fs::path ph = SetDataDir("iterator_ordering");
202+
fs::path ph = GetDataDir() / "iterator_ordering";
203203
CDBWrapper dbw(ph, (1 << 20), true, false, false);
204204
for (int x=0x00; x<256; ++x) {
205205
uint8_t key = x;
@@ -277,7 +277,7 @@ BOOST_AUTO_TEST_CASE(iterator_string_ordering)
277277
{
278278
char buf[10];
279279

280-
fs::path ph = SetDataDir("iterator_string_ordering");
280+
fs::path ph = GetDataDir() / "iterator_string_ordering";
281281
CDBWrapper dbw(ph, (1 << 20), true, false, false);
282282
for (int x=0x00; x<10; ++x) {
283283
for (int y = 0; y < 10; y++) {

src/test/flatfile_tests.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ BOOST_FIXTURE_TEST_SUITE(flatfile_tests, BasicTestingSetup)
1111

1212
BOOST_AUTO_TEST_CASE(flatfile_filename)
1313
{
14-
auto data_dir = SetDataDir("flatfile_test");
14+
const auto data_dir = GetDataDir();
1515

1616
FlatFilePos pos(456, 789);
1717

@@ -24,7 +24,7 @@ BOOST_AUTO_TEST_CASE(flatfile_filename)
2424

2525
BOOST_AUTO_TEST_CASE(flatfile_open)
2626
{
27-
auto data_dir = SetDataDir("flatfile_test");
27+
const auto data_dir = GetDataDir();
2828
FlatFileSeq seq(data_dir, "a", 16 * 1024);
2929

3030
std::string line1("A purely peer-to-peer version of electronic cash would allow online "
@@ -85,7 +85,7 @@ BOOST_AUTO_TEST_CASE(flatfile_open)
8585

8686
BOOST_AUTO_TEST_CASE(flatfile_allocate)
8787
{
88-
auto data_dir = SetDataDir("flatfile_test");
88+
const auto data_dir = GetDataDir();
8989
FlatFileSeq seq(data_dir, "a", 100);
9090

9191
bool out_of_space;
@@ -105,7 +105,7 @@ BOOST_AUTO_TEST_CASE(flatfile_allocate)
105105

106106
BOOST_AUTO_TEST_CASE(flatfile_flush)
107107
{
108-
auto data_dir = SetDataDir("flatfile_test");
108+
const auto data_dir = GetDataDir();
109109
FlatFileSeq seq(data_dir, "a", 100);
110110

111111
bool out_of_space;

src/test/fs_tests.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ BOOST_FIXTURE_TEST_SUITE(fs_tests, BasicTestingSetup)
1111

1212
BOOST_AUTO_TEST_CASE(fsbridge_fstream)
1313
{
14-
fs::path tmpfolder = SetDataDir("fsbridge_fstream");
14+
fs::path tmpfolder = GetDataDir();
1515
// tmpfile1 should be the same as tmpfile2
1616
fs::path tmpfile1 = tmpfolder / "fs_tests_₿_🏃";
1717
fs::path tmpfile2 = tmpfolder / L"fs_tests_₿_🏃";

src/test/net_tests.cpp

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

9090
BOOST_AUTO_TEST_CASE(caddrdb_read)
9191
{
92-
SetDataDir("caddrdb_read");
9392
CAddrManUncorrupted addrmanUncorrupted;
9493
addrmanUncorrupted.MakeDeterministic();
9594

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

136135
BOOST_AUTO_TEST_CASE(caddrdb_read_corrupted)
137136
{
138-
SetDataDir("caddrdb_read_corrupted");
139137
CAddrManCorrupted addrmanCorrupted;
140138
addrmanCorrupted.MakeDeterministic();
141139

src/test/setup_common.cpp

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ std::ostream& operator<<(std::ostream& os, const uint256& num)
3434
BasicTestingSetup::BasicTestingSetup(const std::string& chainName)
3535
: m_path_root(fs::temp_directory_path() / "test_common_" PACKAGE_NAME / strprintf("%lu_%i", (unsigned long)GetTime(), (int)(InsecureRandRange(1 << 30))))
3636
{
37+
fs::create_directories(m_path_root);
38+
gArgs.ForceSetArg("-datadir", m_path_root.string());
39+
ClearDatadirCache();
3740
SHA256AutoDetect();
3841
ECC_Start();
3942
SetupEnvironment();
@@ -55,23 +58,13 @@ BasicTestingSetup::~BasicTestingSetup()
5558
ECC_Stop();
5659
}
5760

58-
fs::path BasicTestingSetup::SetDataDir(const std::string& name)
59-
{
60-
fs::path ret = m_path_root / name;
61-
fs::create_directories(ret);
62-
gArgs.ForceSetArg("-datadir", ret.string());
63-
return ret;
64-
}
65-
6661
TestingSetup::TestingSetup(const std::string& chainName) : BasicTestingSetup(chainName)
6762
{
68-
SetDataDir("tempdir");
6963
const CChainParams& chainparams = Params();
7064
// Ideally we'd move all the RPC tests to the functional testing framework
7165
// instead of unit tests, but for now we need these here.
7266

7367
RegisterAllCoreRPCCommands(tableRPC);
74-
ClearDatadirCache();
7568

7669
// We have to run a scheduler thread to prevent ActivateBestChain
7770
// from blocking due to queue overrun.

src/test/setup_common.h

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,22 +54,19 @@ static inline bool InsecureRandBool() { return g_insecure_rand_ctx.randbool(); }
5454
static constexpr CAmount CENT{1000000};
5555

5656
/** Basic testing setup.
57-
* This just configures logging and chain parameters.
57+
* This just configures logging, data dir and chain parameters.
5858
*/
5959
struct BasicTestingSetup {
6060
ECCVerifyHandle globalVerifyHandle;
6161

6262
explicit BasicTestingSetup(const std::string& chainName = CBaseChainParams::MAIN);
6363
~BasicTestingSetup();
64-
65-
fs::path SetDataDir(const std::string& name);
66-
6764
private:
6865
const fs::path m_path_root;
6966
};
7067

7168
/** Testing setup that configures a complete environment.
72-
* Included are data directory, coins database, script check threads setup.
69+
* Included are coins database, script check threads setup.
7370
*/
7471
struct TestingSetup : public BasicTestingSetup {
7572
boost::thread_group threadGroup;

src/test/util_tests.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1398,7 +1398,7 @@ static void TestOtherProcess(fs::path dirname, std::string lockname, int fd)
13981398

13991399
BOOST_AUTO_TEST_CASE(test_LockDirectory)
14001400
{
1401-
fs::path dirname = SetDataDir("test_LockDirectory") / fs::unique_path();
1401+
fs::path dirname = GetDataDir() / "lock_dir";
14021402
const std::string lockname = ".lock";
14031403
#ifndef WIN32
14041404
// Revert SIGCHLD to default, otherwise boost.test will catch and fail on
@@ -1487,7 +1487,7 @@ BOOST_AUTO_TEST_CASE(test_LockDirectory)
14871487
BOOST_AUTO_TEST_CASE(test_DirIsWritable)
14881488
{
14891489
// Should be able to write to the data dir.
1490-
fs::path tmpdirname = SetDataDir("test_DirIsWritable");
1490+
fs::path tmpdirname = GetDataDir();
14911491
BOOST_CHECK_EQUAL(DirIsWritable(tmpdirname), true);
14921492

14931493
// Should not be able to write to a non-existent dir.

src/wallet/test/db_tests.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ BOOST_FIXTURE_TEST_SUITE(db_tests, BasicTestingSetup)
1616
BOOST_AUTO_TEST_CASE(getwalletenv_file)
1717
{
1818
std::string test_name = "test_name.dat";
19-
fs::path datadir = SetDataDir("tempdir");
19+
const fs::path datadir = GetDataDir();
2020
fs::path file_path = datadir / test_name;
2121
std::ofstream f(file_path.BOOST_FILESYSTEM_C_STR);
2222
f.close();
@@ -30,7 +30,7 @@ BOOST_AUTO_TEST_CASE(getwalletenv_file)
3030
BOOST_AUTO_TEST_CASE(getwalletenv_directory)
3131
{
3232
std::string expected_name = "wallet.dat";
33-
fs::path datadir = SetDataDir("tempdir");
33+
const fs::path datadir = GetDataDir();
3434

3535
std::string filename;
3636
std::shared_ptr<BerkeleyEnvironment> env = GetWalletEnv(datadir, filename);
@@ -40,8 +40,8 @@ BOOST_AUTO_TEST_CASE(getwalletenv_directory)
4040

4141
BOOST_AUTO_TEST_CASE(getwalletenv_g_dbenvs_multiple)
4242
{
43-
fs::path datadir = SetDataDir("tempdir");
44-
fs::path datadir_2 = SetDataDir("tempdir_2");
43+
fs::path datadir = GetDataDir() / "1";
44+
fs::path datadir_2 = GetDataDir() / "2";
4545
std::string filename;
4646

4747
std::shared_ptr<BerkeleyEnvironment> env_1 = GetWalletEnv(datadir, filename);
@@ -54,8 +54,8 @@ BOOST_AUTO_TEST_CASE(getwalletenv_g_dbenvs_multiple)
5454

5555
BOOST_AUTO_TEST_CASE(getwalletenv_g_dbenvs_free_instance)
5656
{
57-
fs::path datadir = SetDataDir("tempdir");
58-
fs::path datadir_2 = SetDataDir("tempdir_2");
57+
fs::path datadir = GetDataDir() / "1";
58+
fs::path datadir_2 = GetDataDir() / "2";
5959
std::string filename;
6060

6161
std::shared_ptr <BerkeleyEnvironment> env_1_a = GetWalletEnv(datadir, filename);

src/wallet/test/init_test_fixture.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ InitWalletDirTestingSetup::InitWalletDirTestingSetup(const std::string& chainNam
1313
std::string sep;
1414
sep += fs::path::preferred_separator;
1515

16-
m_datadir = SetDataDir("tempdir");
16+
m_datadir = GetDataDir();
1717
m_cwd = fs::current_path();
1818

1919
m_walletdir_path_cases["default"] = m_datadir / "wallets";
@@ -41,4 +41,4 @@ InitWalletDirTestingSetup::~InitWalletDirTestingSetup()
4141
void InitWalletDirTestingSetup::SetWalletDir(const fs::path& walletdir_path)
4242
{
4343
gArgs.ForceSetArg("-walletdir", walletdir_path.string());
44-
}
44+
}

0 commit comments

Comments
 (0)