diff options
-rw-r--r-- | src/logging/timer.h | 10 | ||||
-rw-r--r-- | src/test/logging_tests.cpp | 5 |
2 files changed, 5 insertions, 10 deletions
diff --git a/src/logging/timer.h b/src/logging/timer.h index 6d584084ca..79627b1fe3 100644 --- a/src/logging/timer.h +++ b/src/logging/timer.h @@ -9,6 +9,7 @@ #include <logging.h> #include <util/macros.h> #include <util/time.h> +#include <util/types.h> #include <chrono> #include <string> @@ -58,14 +59,14 @@ public: return strprintf("%s: %s", m_prefix, msg); } - if (std::is_same<TimeType, std::chrono::microseconds>::value) { + if constexpr (std::is_same<TimeType, std::chrono::microseconds>::value) { return strprintf("%s: %s (%iμs)", m_prefix, msg, end_time.count()); - } else if (std::is_same<TimeType, std::chrono::milliseconds>::value) { + } else if constexpr (std::is_same<TimeType, std::chrono::milliseconds>::value) { return strprintf("%s: %s (%.2fms)", m_prefix, msg, end_time.count() * 0.001); - } else if (std::is_same<TimeType, std::chrono::seconds>::value) { + } else if constexpr (std::is_same<TimeType, std::chrono::seconds>::value) { return strprintf("%s: %s (%.2fs)", m_prefix, msg, end_time.count() * 0.000001); } else { - return "Error: unexpected time type"; + static_assert(ALWAYS_FALSE<TimeType>, "Error: unexpected time type"); } } @@ -81,7 +82,6 @@ private: //! Forwarded on to LogPrint if specified - has the effect of only //! outputting the timing log when a particular debug= category is specified. const BCLog::LogFlags m_log_category{}; - }; } // namespace BCLog diff --git a/src/test/logging_tests.cpp b/src/test/logging_tests.cpp index 0e384f72e2..84ddbc50c6 100644 --- a/src/test/logging_tests.cpp +++ b/src/test/logging_tests.cpp @@ -28,11 +28,6 @@ BOOST_AUTO_TEST_CASE(logging_timer) auto sec_timer = BCLog::Timer<std::chrono::seconds>("tests", "end_msg"); SetMockTime(2); BOOST_CHECK_EQUAL(sec_timer.LogMsg("test secs"), "tests: test secs (1.00s)"); - - SetMockTime(1); - auto minute_timer = BCLog::Timer<std::chrono::minutes>("tests", "end_msg"); - SetMockTime(2); - BOOST_CHECK_EQUAL(minute_timer.LogMsg("test minutes"), "Error: unexpected time type"); } BOOST_AUTO_TEST_SUITE_END() |