From 8f0715ea8a8606c15c322deef7a822de3d1bc5ec Mon Sep 17 00:00:00 2001 From: vwbij Date: Mon, 26 Sep 2016 10:52:48 +0200 Subject: [PATCH] Fixed: tests project was not working --- .gitignore | 2 ++ tests/errors.cpp | 16 ++++++++++--- tests/file_helper.cpp | 4 ++++ tests/file_log.cpp | 55 ++++++++++++++++++++++++++++++++++--------- 4 files changed, 63 insertions(+), 14 deletions(-) diff --git a/.gitignore b/.gitignore index 1e295c33..b4f9cc9c 100644 --- a/.gitignore +++ b/.gitignore @@ -54,6 +54,8 @@ spdloglb/DebugWL/* spdloglb/ReleaseAL/* spdloglb/ReleaseWL/* spdloglb/.vs/* +spdloglb/*.db +spdlogLbTest/*.db spdlogLbTest/Debug/* spdlogLbTest/Release/* spdlogLbTest/ipch/* diff --git a/tests/errors.cpp b/tests/errors.cpp index 20999427..6dabb0dd 100644 --- a/tests/errors.cpp +++ b/tests/errors.cpp @@ -9,9 +9,13 @@ TEST_CASE("default_error_handler", "[errors]]") { prepare_logdir(); - spdlog::filename_t filename = _SFT("logs/simple_log.txt"); + #ifdef SPDLOG_WCHAR_FILENAMES + spdlog::filename_t filename = L"logs/simple_log.txt"; + #else + spdlog::filename_t filename = "logs/simple_log.txt"; + #endif - auto logger = spdlog::create("logger", filename, true); + auto logger = spdlog::create("logger", filename, true); logger->set_pattern(_SLT("%v")); logger->info(_SLT("Test message {} {}"), 1); logger->info(_SLT("Test message {}"), 2); @@ -21,7 +25,8 @@ TEST_CASE("default_error_handler", "[errors]]") #if defined(SPDLOG_WCHAR_LOGGING) REQUIRE(wfile_contents(filename) == spdlog::log_string_t(_SLT("Test message 2\r\n"))); #else - REQUIRE(file_contents(filename) == std::string("Test message 2\r\n")); + // \r is removed by the file_contents routine !!!! + REQUIRE(file_contents(filename) == std::string("Test message 2\n")); #endif #else REQUIRE(file_contents(filename) == std::string("Test message 2\n")); @@ -85,6 +90,11 @@ TEST_CASE("async_error_handler", "[errors]]") #if defined(_WIN32) && defined(SPDLOG_WCHAR_LOGGING) REQUIRE(wfile_contents(_SFT("logs/custom_err.txt")) == err_msg); #else + #ifdef SPDLOG_WCHAR_FILENAMES + REQUIRE(file_contents(L"logs/custom_err.txt") == err_msg); + #else REQUIRE(file_contents("logs/custom_err.txt") == err_msg); + #endif + #endif } diff --git a/tests/file_helper.cpp b/tests/file_helper.cpp index 677718ac..5ecea4db 100644 --- a/tests/file_helper.cpp +++ b/tests/file_helper.cpp @@ -5,7 +5,11 @@ using namespace spdlog::details; +#ifdef SPDLOG_WCHAR_FILENAMES +static const std::wstring target_filename = L"logs/file_helper_test.txt"; +#else static const std::string target_filename = "logs/file_helper_test.txt"; +#endif static unsigned long calculate_file_size(unsigned long nChars) { diff --git a/tests/file_log.cpp b/tests/file_log.cpp index 9f135631..0492bdd7 100644 --- a/tests/file_log.cpp +++ b/tests/file_log.cpp @@ -26,7 +26,8 @@ TEST_CASE("simple_file_logger", "[simple_logger]]") REQUIRE(wfile_contents(filename) == /*spdlog::log_string_t*/(L"Test message 1\r\nTest message 2\r\n")); REQUIRE(wcount_lines(filename) == 2); #else // SPDLOG_WCHAR_LOGGING - REQUIRE(file_contents(filename) == /*spdlog::log_string_t*/("Test message 1\r\nTest message 2\r\n")); + // \r is removed by the file_contents routine !!!! + REQUIRE(file_contents(filename) == /*spdlog::log_string_t*/("Test message 1\nTest message 2\n")); REQUIRE(count_lines(filename) == 2); #endif // SPDLOG_WCHAR_LOGGING #else // WIN32 @@ -80,8 +81,14 @@ TEST_CASE("daily_logger", "[daily_logger]]") //calculate filename (time based) spdlog::filename_t basename = _SFT("logs/daily_log"); std::tm tm = spdlog::details::os::localtime(); - spdlog::fmt_memory_writer_t w; - w.write(_SLT("{}_{:04d}-{:02d}-{:02d}_{:02d}-{:02d}.txt"), basename, tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, tm.tm_hour, tm.tm_min); + +#ifdef SPDLOG_WCHAR_FILENAMES + fmt::WMemoryWriter w; + w.write(L"{}_{:04d}-{:02d}-{:02d}_{:02d}-{:02d}.txt", basename, tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, tm.tm_hour, tm.tm_min); +#else + fmt::MemoryWriter w; + w.write("{}_{:04d}-{:02d}-{:02d}_{:02d}-{:02d}.txt", basename, tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, tm.tm_hour, tm.tm_min); +#endif auto logger = spdlog::daily_logger_mt("logger", basename, 0, 0); logger->flush_on(spdlog::level::info); @@ -103,13 +110,24 @@ TEST_CASE("daily_logger with dateonly calculator", "[daily_logger_dateonly]]") //calculate filename (time based) spdlog::filename_t basename = _SFT("logs/daily_dateonly"); std::tm tm = spdlog::details::os::localtime(); - spdlog::fmt_memory_writer_t w; - w.write(_SLT("{}_{:04d}-{:02d}-{:02d}.txt"), basename, tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday); - auto logger = spdlog::create("logger", basename, _SFT("txt"), 0, 0, true); +#ifdef SPDLOG_WCHAR_FILENAMES + fmt::WMemoryWriter w; + w.write(L"{}_{:04d}-{:02d}-{:02d}.txt", basename, tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday); + auto logger = spdlog::create("logger", basename, L"txt", 0, 0); + +#else + fmt::MemoryWriter w; + w.write("{}_{:04d}-{:02d}-{:02d}.txt", basename, tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday); + auto logger = spdlog::create("logger", basename, "txt", 0, 0); +#endif + + for (int i = 0; i < 10; ++i) logger->info(_SLT("Test message {}"), i); + logger->flush(); + auto filename = w.str(); REQUIRE(count_lines_t(filename) == 10); } @@ -119,8 +137,14 @@ struct custom_daily_file_name_calculator static spdlog::filename_t calc_filename(const spdlog::filename_t& basename, const spdlog::filename_t& extension) { std::tm tm = spdlog::details::os::localtime(); - spdlog::fmt_memory_writer_t w; - w.write(_SLT("{}{:04d}{:02d}{:02d}.{}"), basename, tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, extension); + + #ifdef SPDLOG_WCHAR_FILENAMES + fmt::WMemoryWriter w; + w.write(L"{}{:04d}{:02d}{:02d}.{}", basename, tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, extension); + #else + fmt::MemoryWriter w; + w.write("{}{:04d}{:02d}{:02d}.{}", basename, tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, extension); + #endif return w.str(); } }; @@ -135,13 +159,22 @@ TEST_CASE("daily_logger with custom calculator", "[daily_logger_custom]]") //calculate filename (time based) spdlog::filename_t basename = _SFT("logs/daily_dateonly"); std::tm tm = spdlog::details::os::localtime(); - spdlog::fmt_memory_writer_t w; - w.write(_SLT("{}{:04d}{:02d}{:02d}.txt"), basename, tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday); - auto logger = spdlog::create("logger", basename, _SFT("txt"), 0, 0, true); + #ifdef SPDLOG_WCHAR_FILENAMES + fmt::WMemoryWriter w; + w.write(L"{}{:04d}{:02d}{:02d}.txt", basename, tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday); + auto logger = spdlog::create("logger", basename, L"txt", 0, 0); + #else + fmt::MemoryWriter w; + w.write("{}{:04d}{:02d}{:02d}.txt", basename, tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday); + auto logger = spdlog::create("logger", basename, "txt", 0, 0); + #endif + for (int i = 0; i < 10; ++i) logger->info(_SLT("Test message {}"), i); + logger->flush(); + auto filename = w.str(); REQUIRE(count_lines_t(filename) == 10); }