diff options
| author | Aaron Clauson <[email protected]> | 2019-11-30 21:31:46 +0000 |
|---|---|---|
| committer | Aaron Clauson <[email protected]> | 2019-11-30 21:31:46 +0000 |
| commit | 70ed2ab7ef9e7ebf56f77b7c410a345ff455938f (patch) | |
| tree | 0a5fe9362dabea71bc8b4571c2a1292ad29932a9 /src/test/dbwrapper_tests.cpp | |
| parent | Merge #17624: net: Fix an uninitialized read in ProcessMessage(…, "tx", …... (diff) | |
| download | discoin-70ed2ab7ef9e7ebf56f77b7c410a345ff455938f.tar.xz discoin-70ed2ab7ef9e7ebf56f77b7c410a345ff455938f.zip | |
Add unit test for DB creation with unicode path
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 https://github.com/google/leveldb/issues/755.
Diffstat (limited to 'src/test/dbwrapper_tests.cpp')
| -rw-r--r-- | src/test/dbwrapper_tests.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/test/dbwrapper_tests.cpp b/src/test/dbwrapper_tests.cpp index 57d5b2bb5..b647c0f70 100644 --- a/src/test/dbwrapper_tests.cpp +++ b/src/test/dbwrapper_tests.cpp @@ -397,6 +397,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() |