Commit c19e325b authored by gabime's avatar gabime

Added some tests for create_dir

parent bd92c23a
......@@ -34,10 +34,8 @@ SPDLOG_INLINE void file_helper::open(const filename_t &fname, bool truncate)
for (int tries = 0; tries < open_tries_; ++tries)
{
if (!folder_name.empty())
{
os::create_dir(folder_name); // will not created if already exists
}
// will not created if already exists or empty.
os::create_dir(folder_name);
if (!os::fopen_s(&fd_, fname, mode))
{
......
......@@ -478,7 +478,7 @@ SPDLOG_INLINE bool mkdir_(const filename_t &path)
}
// create the given directory - and all directories leading to it
// return true on success
// return true on success or if the directory already exists
SPDLOG_INLINE bool create_dir(filename_t path)
{
if (path_exists(path))
......@@ -486,6 +486,11 @@ SPDLOG_INLINE bool create_dir(filename_t path)
return true;
}
if(path.empty())
{
return false;
}
#ifdef _WIN32
// support forward slash in windows
std::replace(path.begin(), path.end(), '/', folder_sep);
......
......@@ -32,6 +32,14 @@ TEST_CASE("create_dir", "[create_dir]")
#endif
}
TEST_CASE("create_invalid_dir", "[create_dir]")
{
REQUIRE(create_dir("") == false);
#ifdef __linux__
REQUIRE(create_dir("/proc/spdlog-utest") == false);
#endif
}
TEST_CASE("dir_name", "[create_dir]")
{
using spdlog::details::os::dir_name;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment