Move GetDataDir(fNetSpecific) implementation to ArgsManager.

This commit is contained in:
Kiminuo
2021-04-08 23:15:01 +02:00
parent 70cdf679f8
commit 1add318704
3 changed files with 63 additions and 37 deletions

View File

@@ -1143,21 +1143,23 @@ BOOST_AUTO_TEST_CASE(util_ReadWriteSettings)
{
// Test writing setting.
TestArgsManager args1;
args1.ForceSetArg("-datadir", m_path_root.string());
args1.LockSettings([&](util::Settings& settings) { settings.rw_settings["name"] = "value"; });
args1.WriteSettingsFile();
// Test reading setting.
TestArgsManager args2;
args2.ForceSetArg("-datadir", m_path_root.string());
args2.ReadSettingsFile();
args2.LockSettings([&](util::Settings& settings) { BOOST_CHECK_EQUAL(settings.rw_settings["name"].get_str(), "value"); });
// Test error logging, and remove previously written setting.
{
ASSERT_DEBUG_LOG("Failed renaming settings file");
fs::remove(GetDataDir() / "settings.json");
fs::create_directory(GetDataDir() / "settings.json");
fs::remove(args1.GetDataDirPath() / "settings.json");
fs::create_directory(args1.GetDataDirPath() / "settings.json");
args2.WriteSettingsFile();
fs::remove(GetDataDir() / "settings.json");
fs::remove(args1.GetDataDirPath() / "settings.json");
}
}