From c82ade2d81b1d3f63ecf906d56e8941e47f41d46 Mon Sep 17 00:00:00 2001 From: Jason Rhinelander Date: Mon, 18 Jul 2022 12:59:13 -0300 Subject: [PATCH] Make test code work with new logging --- llarp/router/router.cpp | 12 +++-- llarp/util/logging.hpp | 1 + test/CMakeLists.txt | 1 - test/check_main.cpp | 4 +- test/crypto/test_llarp_crypto_types.cpp | 4 ++ test/net/test_sock_addr.cpp | 24 ++++----- test/peerstats/test_peer_db.cpp | 8 +-- test/regress/2020-06-08-key-backup-bug.cpp | 1 - test/router/test_llarp_router_version.cpp | 3 -- test/service/test_llarp_service_identity.cpp | 1 - test/test_llarp_router_contact.cpp | 1 + test/util/test_llarp_util_aligned.cpp | 15 +++--- test/util/test_llarp_util_log_level.cpp | 56 +++++++++----------- 13 files changed, 61 insertions(+), 70 deletions(-) diff --git a/llarp/router/router.cpp b/llarp/router/router.cpp index c59e8aea0..c74a25b5e 100644 --- a/llarp/router/router.cpp +++ b/llarp/router/router.cpp @@ -801,7 +801,8 @@ namespace llarp || conf.logging.m_logFile.empty())) log_type = log::Type::Print; - log::reset_level(conf.logging.m_logLevel); + if (log::get_level_default() != log::Level::off) + log::reset_level(conf.logging.m_logLevel); log::add_sink(log_type, conf.logging.m_logFile); return true; @@ -1419,7 +1420,8 @@ namespace llarp } }); } - log::reset_level(log::Level::warn); + if (log::get_level_default() != log::Level::off) + log::reset_level(log::Level::warn); return _running; } @@ -1468,7 +1470,8 @@ namespace llarp return; _stopping.store(true); - log::reset_level(log::Level::info); + if (log::get_level_default() != log::Level::off) + log::reset_level(log::Level::info); LogWarn("stopping router hard"); #if defined(WITH_SYSTEMD) sd_notify(0, "STOPPING=1\nSTATUS=Shutting down HARD"); @@ -1488,7 +1491,8 @@ namespace llarp return; _stopping.store(true); - log::reset_level(log::Level::info); + if (log::get_level_default() != log::Level::off) + log::reset_level(log::Level::info); LogInfo("stopping router"); #if defined(WITH_SYSTEMD) sd_notify(0, "STOPPING=1\nSTATUS=Shutting down"); diff --git a/llarp/util/logging.hpp b/llarp/util/logging.hpp index 9c9cd27c4..d549dcb8c 100644 --- a/llarp/util/logging.hpp +++ b/llarp/util/logging.hpp @@ -6,6 +6,7 @@ #include #include +#include "oxen/log/internal.hpp" namespace llarp { diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 8ac70868a..c19d82ac4 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -52,7 +52,6 @@ add_executable(testAll target_link_libraries(testAll PUBLIC liblokinet Catch2::Catch2) target_include_directories(testAll PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) -add_log_tag(testAll) if(WIN32) target_sources(testAll PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/win32/test.rc") target_link_libraries(testAll PUBLIC ws2_32 iphlpapi shlwapi) diff --git a/test/check_main.cpp b/test/check_main.cpp index 011ced716..e98bdcbfb 100644 --- a/test/check_main.cpp +++ b/test/check_main.cpp @@ -1,7 +1,7 @@ #define CATCH_CONFIG_RUNNER #include -#include +#include #ifdef _WIN32 #include @@ -23,7 +23,7 @@ startWinsock() int main(int argc, char* argv[]) { - llarp::LogSilencer shutup{}; + llarp::log::reset_level(llarp::log::Level::off); #ifdef _WIN32 if (startWinsock()) diff --git a/test/crypto/test_llarp_crypto_types.cpp b/test/crypto/test_llarp_crypto_types.cpp index 0110fa216..8477352f7 100644 --- a/test/crypto/test_llarp_crypto_types.cpp +++ b/test/crypto/test_llarp_crypto_types.cpp @@ -6,6 +6,10 @@ #include #include +extern "C" { +#include +} + // This used to be implied via the headers above *shrug* #ifdef _WIN32 #include diff --git a/test/net/test_sock_addr.cpp b/test/net/test_sock_addr.cpp index c0b666745..9d13b48a4 100644 --- a/test/net/test_sock_addr.cpp +++ b/test/net/test_sock_addr.cpp @@ -1,14 +1,14 @@ #include #include #include -#include +#include #include TEST_CASE("SockAddr from IPv4", "[SockAddr]") { llarp::SockAddr addr(1, 2, 3, 4); - CHECK(addr.toString() == "1.2.3.4:0"); + CHECK(addr.ToString() == "1.2.3.4:0"); } TEST_CASE("SockAddr test port", "[SockAddr]") @@ -22,16 +22,16 @@ TEST_CASE("SockAddr fromString", "[SockAddr]") { llarp::SockAddr addr; CHECK_NOTHROW(addr.fromString("1.2.3.4")); - CHECK(addr.toString() == "1.2.3.4:0"); + CHECK(addr.ToString() == "1.2.3.4:0"); - CHECK(llarp::SockAddr("1.3.5.7").toString() == "1.3.5.7:0"); + CHECK(llarp::SockAddr("1.3.5.7").ToString() == "1.3.5.7:0"); - CHECK(llarp::SockAddr("0.0.0.0").toString() == "0.0.0.0:0"); - CHECK(llarp::SockAddr("0.0.0.0:0").toString() == "0.0.0.0:0"); - CHECK(llarp::SockAddr("255.255.255.255").toString() == "255.255.255.255:0"); - CHECK(llarp::SockAddr("255.255.255.255:255").toString() == "255.255.255.255:255"); - CHECK(llarp::SockAddr("255.255.255.255:65535").toString() == "255.255.255.255:65535"); - CHECK(llarp::SockAddr("5.6.7.8", llarp::huint16_t{5678}).toString() == "5.6.7.8:5678"); + CHECK(llarp::SockAddr("0.0.0.0").ToString() == "0.0.0.0:0"); + CHECK(llarp::SockAddr("0.0.0.0:0").ToString() == "0.0.0.0:0"); + CHECK(llarp::SockAddr("255.255.255.255").ToString() == "255.255.255.255:0"); + CHECK(llarp::SockAddr("255.255.255.255:255").ToString() == "255.255.255.255:255"); + CHECK(llarp::SockAddr("255.255.255.255:65535").ToString() == "255.255.255.255:65535"); + CHECK(llarp::SockAddr("5.6.7.8", llarp::huint16_t{5678}).ToString() == "5.6.7.8:5678"); CHECK_THROWS_WITH(llarp::SockAddr("abcd"), "abcd is not a valid IPv4 address"); @@ -79,7 +79,7 @@ TEST_CASE("SockAddr from sockaddr_in", "[SockAddr]") llarp::SockAddr addr(sin4); - CHECK(addr.toString() == "127.0.0.1:1234"); + CHECK(addr.ToString() == "127.0.0.1:1234"); } TEST_CASE("SockAddr from sockaddr_in6", "[SockAddr]") @@ -93,5 +93,5 @@ TEST_CASE("SockAddr from sockaddr_in6", "[SockAddr]") llarp::SockAddr addr(sin6); - CHECK(addr.toString() == "127.0.0.1:53"); + CHECK(addr.ToString() == "127.0.0.1:53"); } diff --git a/test/peerstats/test_peer_db.cpp b/test/peerstats/test_peer_db.cpp index 3a70d8411..52889514c 100644 --- a/test/peerstats/test_peer_db.cpp +++ b/test/peerstats/test_peer_db.cpp @@ -5,7 +5,7 @@ #include #include "peerstats/types.hpp" #include "router_contact.hpp" -#include "util/logging/logger.hpp" +#include "util/logging.hpp" #include "util/time.hpp" TEST_CASE("Test PeerDb PeerStats memory storage", "[PeerDb]") @@ -41,7 +41,6 @@ TEST_CASE("Test PeerDb flush before load", "[PeerDb]") TEST_CASE("Test PeerDb load twice", "[PeerDb]") { - llarp::LogSilencer shutup; llarp::PeerDb db; CHECK_NOTHROW(db.loadDatabase(std::nullopt)); CHECK_THROWS_WITH(db.loadDatabase(std::nullopt), "Reloading database not supported"); @@ -49,7 +48,6 @@ TEST_CASE("Test PeerDb load twice", "[PeerDb]") TEST_CASE("Test PeerDb nukes stats on load", "[PeerDb]") { - llarp::LogSilencer shutup; const llarp::RouterID id = llarp::test::makeBuf(0x01); llarp::PeerDb db; @@ -67,7 +65,6 @@ TEST_CASE("Test PeerDb nukes stats on load", "[PeerDb]") TEST_CASE("Test PeerDb file-backed database reloads properly", "[PeerDb]") { - llarp::LogSilencer shutup; const std::string filename = "/tmp/peerdb_test_tmp2.db.sqlite"; const llarp::RouterID id = llarp::test::makeBuf(0x02); @@ -97,7 +94,6 @@ TEST_CASE("Test PeerDb file-backed database reloads properly", "[PeerDb]") TEST_CASE("Test PeerDb modifyPeerStats", "[PeerDb]") { - llarp::LogSilencer shutup; const llarp::RouterID id = llarp::test::makeBuf(0xF2); int numTimesCalled = 0; @@ -122,7 +118,6 @@ TEST_CASE("Test PeerDb modifyPeerStats", "[PeerDb]") TEST_CASE("Test PeerDb handleGossipedRC", "[PeerDb]") { - llarp::LogSilencer shutup; const llarp::RouterID id = llarp::test::makeBuf(0xCA); auto rcLifetime = llarp::RouterContact::Lifetime; @@ -162,7 +157,6 @@ TEST_CASE("Test PeerDb handleGossipedRC", "[PeerDb]") TEST_CASE("Test PeerDb handleGossipedRC expiry calcs", "[PeerDb]") { - llarp::LogSilencer shutup; const llarp::RouterID id = llarp::test::makeBuf(0xF9); // see comments in peer_db.cpp above PeerDb::handleGossipedRC() for some context around these diff --git a/test/regress/2020-06-08-key-backup-bug.cpp b/test/regress/2020-06-08-key-backup-bug.cpp index e4ebfaa97..669c1aca8 100644 --- a/test/regress/2020-06-08-key-backup-bug.cpp +++ b/test/regress/2020-06-08-key-backup-bug.cpp @@ -27,7 +27,6 @@ make_context(std::optional keyfile) TEST_CASE("key backup bug regression test", "[regress]") { // kill logging, this code is noisy - llarp::LogSilencer shutup; // test 2 explicitly provided keyfiles, empty keyfile and no keyfile for (std::optional path : {std::optional{"regress-1.private"}, std::optional{"regress-2.private"}, diff --git a/test/router/test_llarp_router_version.cpp b/test/router/test_llarp_router_version.cpp index 57e436347..260a16198 100644 --- a/test/router/test_llarp_router_version.cpp +++ b/test/router/test_llarp_router_version.cpp @@ -56,9 +56,6 @@ TEST_CASE("BEncode", "[RouterVersion]") CHECK(v1235.BEncode(&buf)); - std::string s((const char*)buf.begin(), (buf.end() - buf.begin())); - llarp::LogInfo("bencoded: ", buf.begin()); - CHECK_THAT((const char*)buf.begin(), Equals("li5ei1ei2ei3ee")); } diff --git a/test/service/test_llarp_service_identity.cpp b/test/service/test_llarp_service_identity.cpp index dc271fcd5..f375ebc6b 100644 --- a/test/service/test_llarp_service_identity.cpp +++ b/test/service/test_llarp_service_identity.cpp @@ -203,7 +203,6 @@ TEST_CASE("Test signing with derived key", "[crypto]") TEST_CASE("Test sign and encrypt introset", "[crypto]") { - llarp::LogSilencer shutup; CryptoManager manager(new sodium::CryptoLibSodium()); service::Identity ident; diff --git a/test/test_llarp_router_contact.cpp b/test/test_llarp_router_contact.cpp index 4f3f6afaa..eac96f332 100644 --- a/test/test_llarp_router_contact.cpp +++ b/test/test_llarp_router_contact.cpp @@ -4,6 +4,7 @@ #include #include #include +#include namespace { diff --git a/test/util/test_llarp_util_aligned.cpp b/test/util/test_llarp_util_aligned.cpp index 8cda24eff..970a676d5 100644 --- a/test/util/test_llarp_util_aligned.cpp +++ b/test/util/test_llarp_util_aligned.cpp @@ -66,20 +66,17 @@ TEMPLATE_LIST_TEST_CASE("AlignedBuffer", "[AlignedBuffer]", TestSizes) CHECK_FALSE(d.IsZero()); } - SECTION("StreamOut") + SECTION("FmtOut") { - std::stringstream stream; + std::string out; + out = fmt::format("{}", b); - stream << b; - - CHECK(stream.str() == std::string(TestType::value * 2, '0')); - - stream.str(""); + CHECK(out == std::string(TestType::value * 2, '0')); b.Fill(255); - stream << b; + out = fmt::format("{}", b); - CHECK(stream.str() == std::string(TestType::value * 2, 'f')); + CHECK(out == std::string(TestType::value * 2, 'f')); } SECTION("BitwiseNot") diff --git a/test/util/test_llarp_util_log_level.cpp b/test/util/test_llarp_util_log_level.cpp index b69929a7f..7a67d9419 100644 --- a/test/util/test_llarp_util_log_level.cpp +++ b/test/util/test_llarp_util_log_level.cpp @@ -1,6 +1,5 @@ #include -#include -#include +#include #include using TestString = std::string; @@ -8,7 +7,7 @@ using TestString = std::string; struct TestParseLog { TestString input; - std::optional level; + std::optional level; }; std::vector testParseLog{// bad cases @@ -16,41 +15,38 @@ std::vector testParseLog{// bad cases {"BOGUS", {}}, {"", {}}, {" ", {}}, + {"infogarbage", {}}, + {"notcritical", {}}, // good cases - {"info", llarp::eLogInfo}, - {"infO", llarp::eLogInfo}, - {"iNfO", llarp::eLogInfo}, - {"InfO", llarp::eLogInfo}, - {"INFO", llarp::eLogInfo}, - {"debug", llarp::eLogDebug}, - {"warn", llarp::eLogWarn}, - {"error", llarp::eLogError}, - {"none", llarp::eLogNone}}; + {"info", llarp::log::Level::info}, + {"infO", llarp::log::Level::info}, + {"iNfO", llarp::log::Level::info}, + {"InfO", llarp::log::Level::info}, + {"INFO", llarp::log::Level::info}, + {"trace", llarp::log::Level::trace}, + {"debug", llarp::log::Level::debug}, + {"warn", llarp::log::Level::warn}, + {"warning", llarp::log::Level::warn}, + {"error", llarp::log::Level::err}, + {"err", llarp::log::Level::err}, + {"Critical", llarp::log::Level::critical}, + {"off", llarp::log::Level::off}, + {"none", llarp::log::Level::off}}; TEST_CASE("parseLevel") { const auto data = GENERATE(from_range(testParseLog)); - const auto maybe = llarp::LogLevelFromString(data.input); + const auto maybe = llarp::log::level_from_string(data.input); CHECK(maybe == data.level); } -TEST_CASE("TestLogLevelToName") -{ - CHECK("Trace" == LogLevelToName(llarp::eLogTrace)); - CHECK("Debug" == LogLevelToName(llarp::eLogDebug)); - CHECK("Info" == LogLevelToName(llarp::eLogInfo)); - CHECK("Warn" == LogLevelToName(llarp::eLogWarn)); - CHECK("Error" == LogLevelToName(llarp::eLogError)); - CHECK("None" == LogLevelToName(llarp::eLogNone)); - CHECK("???" == LogLevelToName((llarp::LogLevel)99999)); -} - TEST_CASE("TestLogLevelToString") { - CHECK("TRC" == LogLevelToString(llarp::eLogTrace)); - CHECK("DBG" == LogLevelToString(llarp::eLogDebug)); - CHECK("NFO" == LogLevelToString(llarp::eLogInfo)); - CHECK("WRN" == LogLevelToString(llarp::eLogWarn)); - CHECK("ERR" == LogLevelToString(llarp::eLogError)); - CHECK("???" == LogLevelToString(llarp::eLogNone)); + CHECK("trace" == llarp::log::to_string(llarp::log::Level::trace)); + CHECK("debug" == llarp::log::to_string(llarp::log::Level::debug)); + CHECK("info" == llarp::log::to_string(llarp::log::Level::info)); + CHECK("warning" == llarp::log::to_string(llarp::log::Level::warn)); + CHECK("error" == llarp::log::to_string(llarp::log::Level::err)); + CHECK("critical" == llarp::log::to_string(llarp::log::Level::critical)); + CHECK("off" == llarp::log::to_string(llarp::log::Level::off)); }