Navigation Menu

Skip to content

Commit

Permalink
Test
Browse files Browse the repository at this point in the history
  • Loading branch information
kiminuo committed Feb 10, 2021
1 parent deb185d commit 3323455
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 24 deletions.
46 changes: 24 additions & 22 deletions src/test/util_tests.cpp
Expand Up @@ -46,28 +46,6 @@ namespace BCLog {

BOOST_FIXTURE_TEST_SUITE(util_tests, BasicTestingSetup)

BOOST_AUTO_TEST_CASE(util_datadir)
{
ClearDatadirCache();
const fs::path dd_norm = GetDataDir();

gArgs.ForceSetArg("-datadir", dd_norm.string() + "/");
ClearDatadirCache();
BOOST_CHECK_EQUAL(dd_norm, GetDataDir());

gArgs.ForceSetArg("-datadir", dd_norm.string() + "/.");
ClearDatadirCache();
BOOST_CHECK_EQUAL(dd_norm, GetDataDir());

gArgs.ForceSetArg("-datadir", dd_norm.string() + "/./");
ClearDatadirCache();
BOOST_CHECK_EQUAL(dd_norm, GetDataDir());

gArgs.ForceSetArg("-datadir", dd_norm.string() + "/.//");
ClearDatadirCache();
BOOST_CHECK_EQUAL(dd_norm, GetDataDir());
}

BOOST_AUTO_TEST_CASE(util_check)
{
// Check that Assert can forward
Expand Down Expand Up @@ -303,6 +281,30 @@ class CheckValueTest : public TestChain100Setup
}
};

BOOST_AUTO_TEST_CASE(util_datadir)
{
TestArgsManager testArgs;

ClearDatadirCache();
const fs::path dd_norm = GetDataDir(testArgs);

testArgs.ForceSetArg("-datadir", dd_norm.string() + "/");
ClearDatadirCache();
BOOST_CHECK_EQUAL(dd_norm, GetDataDir(testArgs));

testArgs.ForceSetArg("-datadir", dd_norm.string() + "/.");
ClearDatadirCache();
BOOST_CHECK_EQUAL(dd_norm, GetDataDir(testArgs));

testArgs.ForceSetArg("-datadir", dd_norm.string() + "/./");
ClearDatadirCache();
BOOST_CHECK_EQUAL(dd_norm, GetDataDir(testArgs));

testArgs.ForceSetArg("-datadir", dd_norm.string() + "/.//");
ClearDatadirCache();
BOOST_CHECK_EQUAL(dd_norm, GetDataDir(testArgs));
}

BOOST_FIXTURE_TEST_CASE(util_CheckValue, CheckValueTest)
{
using M = ArgsManager;
Expand Down
9 changes: 7 additions & 2 deletions src/util/system.cpp
Expand Up @@ -767,7 +767,7 @@ const fs::path &GetBlocksDir()
return path;
}

const fs::path &GetDataDir(bool fNetSpecific)
const fs::path &GetDataDir(ArgsManager& argsManager, bool fNetSpecific)
{
LOCK(csPathCached);
fs::path &path = fNetSpecific ? pathCachedNetSpecific : pathCached;
Expand All @@ -776,7 +776,7 @@ const fs::path &GetDataDir(bool fNetSpecific)
// this function
if (!path.empty()) return path;

std::string datadir = gArgs.GetArg("-datadir", "");
std::string datadir = argsManager.GetArg("-datadir", "");
if (!datadir.empty()) {
path = fs::system_complete(datadir);
if (!fs::is_directory(path)) {
Expand All @@ -798,6 +798,11 @@ const fs::path &GetDataDir(bool fNetSpecific)
return path;
}

const fs::path &GetDataDir(bool fNetSpecific)
{
return GetDataDir(gArgs, fNetSpecific);
}

bool CheckDataDirOption()
{
std::string datadir = gArgs.GetArg("-datadir", "");
Expand Down
2 changes: 2 additions & 0 deletions src/util/system.h
Expand Up @@ -36,6 +36,7 @@
#include <vector>

class UniValue;
class ArgsManager;

// Application startup time (used for uptime calculation)
int64_t GetStartupTime();
Expand Down Expand Up @@ -94,6 +95,7 @@ fs::path GetDefaultDataDir();
// The blocks directory is always net specific.
const fs::path &GetBlocksDir();
const fs::path &GetDataDir(bool fNetSpecific = true);
const fs::path &GetDataDir(ArgsManager& argsManager, bool fNetSpecific = true);
// Return true if -datadir option points to a valid directory or is not specified.
bool CheckDataDirOption();
/** Tests only */
Expand Down

0 comments on commit 3323455

Please sign in to comment.