Merge #20080: Strip any trailing / in -datadir and -blocksdir paths

ad5cef5dfd doc: Update data directory path comments (Hennadii Stepanov)
b19e88230f util: Add StripRedundantLastElementsOfPath function (Hennadii Stepanov)

Pull request description:

  Wallet names in `listwalletdir` RPC are correct now, even if the `-datadir` path has any number of trailing `/`.

  This PR is an alternative to #19933.

  Fixes #19928.

ACKs for top commit:
  MarcoFalke:
    review ACK ad5cef5dfd 🔙
  promag:
    Code review ACK ad5cef5dfd.
  meshcollider:
    Code review + test run ACK ad5cef5dfd

Tree-SHA512: bccabbd6c18243d48d15b2b27201cc0f5984623dcbc635c8740cf74523f359844c36eadd40391142874fcf452a43880bb6afbf89815ae736e499f9a98143a661
This commit is contained in:
Samuel Dobson
2020-11-02 11:40:57 +13:00
2 changed files with 43 additions and 6 deletions

View File

@@ -42,6 +42,28 @@ 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