Skip to content

Commit

Permalink
Merge bitcoin#17641: Add unit test for leveldb creation with unicode …
Browse files Browse the repository at this point in the history
…path

70ed2ab Add unit test for DB creation with unicode path (Aaron Clauson)

Pull request description:

  An issue arose when attempting to switch back to the main repo version of leveldb when the bitcoin data directory uses a unicode path. The leveldb windows file IO wrapper was using the *A ANSI win32 calls instead of the Unicode *W ones. This unit test will catch if the path created by leveldb doesn't match what we're expecting. For more info see google/leveldb#755.

ACKs for top commit:
  laanwj:
    ACK 70ed2ab

Tree-SHA512: fc6dbd3aa26a439016e63e8d4d931f218ce99094fc7887a13b54562ad4133047020288ecbcd622a8309f422ee1eda5df50bcb8c8e44442af36ed57b22c069004
  • Loading branch information
MarcoFalke authored and PastaPastaPasta committed Jun 28, 2021
1 parent 8f4186f commit 7027c18
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions src/test/dbwrapper_tests.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -399,6 +399,18 @@ BOOST_AUTO_TEST_CASE(iterator_string_ordering)
}
}

BOOST_AUTO_TEST_CASE(unicodepath)
{
// Attempt to create a database with a utf8 character in the path.
// On Windows this test will fail if the directory is created using
// the ANSI CreateDirectoryA call and the code page isn't UTF8.
// It will succeed if the created with CreateDirectoryW.
fs::path ph = GetDataDir() / "test_runner_₿_🏃_20191128_104644";
CDBWrapper dbw(ph, (1 << 20));

fs::path lockPath = ph / "LOCK";
BOOST_CHECK(boost::filesystem::exists(lockPath));
}


BOOST_AUTO_TEST_SUITE_END()

0 comments on commit 7027c18

Please sign in to comment.