From ce05cd679ee363b426d7afccbb4e322deae3e0fc Mon Sep 17 00:00:00 2001 From: lukelowry Date: Mon, 24 Aug 2026 11:58:47 -0500 Subject: [PATCH 1/3] logger output --- tests/UnitTests/PhasorDynamics/runControllerRepcaTests.cpp | 4 ++++ .../PhasorDynamics/runSystemSingleComponentTests.cpp | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/tests/UnitTests/PhasorDynamics/runControllerRepcaTests.cpp b/tests/UnitTests/PhasorDynamics/runControllerRepcaTests.cpp index ab10fca94..c899d1dcc 100644 --- a/tests/UnitTests/PhasorDynamics/runControllerRepcaTests.cpp +++ b/tests/UnitTests/PhasorDynamics/runControllerRepcaTests.cpp @@ -1,7 +1,11 @@ +#include + #include "ControllerRepcaTests.hpp" int main() { + GridKit::Utilities::Logger::setVerbosity(GridKit::Utilities::Logger::Verbosity::NONE); + GridKit::Testing::TestingResults result; GridKit::Testing::ControllerRepcaTests test; diff --git a/tests/UnitTests/PhasorDynamics/runSystemSingleComponentTests.cpp b/tests/UnitTests/PhasorDynamics/runSystemSingleComponentTests.cpp index 327d8b503..435e45d21 100644 --- a/tests/UnitTests/PhasorDynamics/runSystemSingleComponentTests.cpp +++ b/tests/UnitTests/PhasorDynamics/runSystemSingleComponentTests.cpp @@ -1,7 +1,11 @@ +#include + #include "SystemSingleComponentTests.hpp" int main() { + GridKit::Utilities::Logger::setVerbosity(GridKit::Utilities::Logger::Verbosity::NONE); + using namespace GridKit; using namespace GridKit::Testing; From ca00d14b4f9b5cd8480df2f84a84be77bfa0a958 Mon Sep 17 00:00:00 2001 From: lukelowry Date: Mon, 24 Aug 2026 15:38:22 -0500 Subject: [PATCH 2/3] previous verbosity in tests --- .../UnitTests/PhasorDynamics/BranchTests.hpp | 9 +++---- .../PhasorDynamics/ControllerReecbTests.hpp | 25 +++++++++++++++++++ .../PhasorDynamics/ControllerRepcaTests.hpp | 25 ++++++++----------- .../PhasorDynamics/ConverterRegcaTests.hpp | 21 +++++----------- .../PhasorDynamics/ExciterEsdc1aTests.hpp | 18 +++++-------- .../PhasorDynamics/ExciterIeeet1Tests.hpp | 7 +++--- .../PhasorDynamics/ExciterSexsPtiTests.hpp | 14 +++++------ .../PhasorDynamics/GovernorGastPtiTests.hpp | 20 +++++++++++++++ .../PhasorDynamics/GovernorHygovTests.hpp | 20 +++++---------- .../SystemSingleComponentTests.hpp | 17 ++++++++++--- .../UnitTests/PhasorDynamics/SystemTests.hpp | 14 +++++------ .../runControllerReecbTests.cpp | 8 ------ .../runControllerRepcaTests.cpp | 4 --- .../runGovernorGastPtiTests.cpp | 6 ----- .../runSystemSingleComponentTests.cpp | 4 --- 15 files changed, 106 insertions(+), 106 deletions(-) diff --git a/tests/UnitTests/PhasorDynamics/BranchTests.hpp b/tests/UnitTests/PhasorDynamics/BranchTests.hpp index 6afbd6e98..2e79b3169 100644 --- a/tests/UnitTests/PhasorDynamics/BranchTests.hpp +++ b/tests/UnitTests/PhasorDynamics/BranchTests.hpp @@ -303,17 +303,15 @@ namespace GridKit // Verifies invalid branch parameters are rejected. TestStatus success = true; - Log::setVerbosity(Log::Verbosity::EVERYTHING); - Log::misc() << "Testing that invalid branch parameters are rejected. " - << "Logged errors are expected.\n"; - Log::setVerbosity(Log::Verbosity::WARNINGS); - PhasorDynamics::Bus bus1(1.0, 0.0); PhasorDynamics::Bus bus2(1.0, 0.0); PhasorDynamics::Branch valid_branch(&bus1, &bus2, 0.0, 0.1, 0.0, 0.0); success *= (valid_branch.verify() == 0); + const auto previous_verbosity = Log::verbosity(); + Log::setVerbosity(Log::Verbosity::NONE); + PhasorDynamics::Branch zero_impedance_branch(&bus1, &bus2, 0.0, 0.0, 0.0, 0.0); success *= (zero_impedance_branch.verify() != 0); @@ -327,6 +325,7 @@ namespace GridKit PhasorDynamics::Branch nonfinite_branch(&bus1, &bus2, nan, 0.1, 0.0, 0.0); success *= (nonfinite_branch.verify() != 0); + Log::setVerbosity(previous_verbosity); return success.report(__func__); } diff --git a/tests/UnitTests/PhasorDynamics/ControllerReecbTests.hpp b/tests/UnitTests/PhasorDynamics/ControllerReecbTests.hpp index c8a62d7d5..ccef29dc1 100644 --- a/tests/UnitTests/PhasorDynamics/ControllerReecbTests.hpp +++ b/tests/UnitTests/PhasorDynamics/ControllerReecbTests.hpp @@ -19,12 +19,15 @@ #include #include #include +#include #include namespace GridKit { namespace Testing { + using Log = ::GridKit::Utilities::Logger; + template class ControllerReecbTests { @@ -45,6 +48,9 @@ namespace GridKit { TestStatus success = true; + const auto previous_verbosity = Log::verbosity(); + Log::setVerbosity(Log::Verbosity::NONE); + PhasorDynamics::Bus bus(1.0, 0.0); PhasorDynamics::Controller::Reecb empty(&bus); @@ -263,6 +269,7 @@ namespace GridKit {{Vars::PORD, 1.0}, {Vars::RPORD, 0.0}}, "floored active-power order rate"); + Log::setVerbosity(previous_verbosity); return success.report(__func__); } @@ -374,6 +381,9 @@ namespace GridKit { TestStatus success = true; + const auto previous_verbosity = Log::verbosity(); + Log::setVerbosity(Log::Verbosity::NONE); + const auto data = makeData(); success *= initializationRejectedAtomically(data, 0.75, -0.1, "negative active-current command"); @@ -552,6 +562,7 @@ namespace GridKit success *= vectorUnchanged(invalid_fixture.reecb.y(), invalid_y, "state"); success *= vectorUnchanged(invalid_fixture.reecb.yp(), invalid_yp, "derivative"); + Log::setVerbosity(previous_verbosity); return success.report(__func__); } @@ -561,6 +572,9 @@ namespace GridKit { TestStatus success = true; + const auto previous_verbosity = Log::verbosity(); + Log::setVerbosity(Log::Verbosity::NONE); + struct ExactnessCase { RealT ipcmd; @@ -750,6 +764,7 @@ namespace GridKit success *= stateMatches(exhausted.reecb, {{Vars::ILMAX, 0.0}}, "injection does not expand current circle"); success *= allResidualsWithinInitTolerance(exhausted.reecb); + Log::setVerbosity(previous_verbosity); return success.report(__func__); } @@ -816,6 +831,9 @@ namespace GridKit { TestStatus success = true; + const auto previous_verbosity = Log::verbosity(); + Log::setVerbosity(Log::Verbosity::NONE); + const std::array selector_values{{false, true}}; for (const bool pf : selector_values) { @@ -904,6 +922,7 @@ namespace GridKit } } + Log::setVerbosity(previous_verbosity); return success.report(__func__); } @@ -1616,10 +1635,16 @@ namespace GridKit data.parameters[Params::QFlag] = mode.q_flag; data.parameters[Params::Pqflag] = mode.p_priority; + const auto previous_verbosity = Log::verbosity(); + if (mode.pf_flag && mode.q_flag) + { + Log::setVerbosity(Log::Verbosity::NONE); + } success *= jacobiansMatch( dependencyTrackingJacobian(data, kNonunitAlpha, success), enzymeJacobian(data, kNonunitAlpha, success), mode.label); + Log::setVerbosity(previous_verbosity); } struct CurrentCircleProbe diff --git a/tests/UnitTests/PhasorDynamics/ControllerRepcaTests.hpp b/tests/UnitTests/PhasorDynamics/ControllerRepcaTests.hpp index 8728a23eb..8fc1e8acb 100644 --- a/tests/UnitTests/PhasorDynamics/ControllerRepcaTests.hpp +++ b/tests/UnitTests/PhasorDynamics/ControllerRepcaTests.hpp @@ -47,8 +47,9 @@ namespace GridKit { TestStatus success = true; - noteExpectedLogs("Testing REPCA defaults, parameter floors, and invalid " - "configurations. Logged errors and warnings are expected."); + const auto previous_verbosity = Log::verbosity(); + // Use EVERYTHING to inspect diagnostics from the invalid cases below. + Log::setVerbosity(Log::Verbosity::NONE); PhasorDynamics::Bus bus(1.0, 0.0); @@ -237,6 +238,7 @@ namespace GridKit floored_residuals, "floored time constants"); + Log::setVerbosity(previous_verbosity); return success.report(__func__); } @@ -245,9 +247,6 @@ namespace GridKit { TestStatus success = true; - noteExpectedLogs("Testing REPCA initialization without an attached frequency " - "signal. A warning is expected."); - Fixture fixture(makeInitializationData(), 0.8, 0.6); fixture.attachAllInputs(99.0); setInitializationInputs(fixture); @@ -346,7 +345,10 @@ namespace GridKit Fixture fallback(makeInitializationData(), 0.8, 0.6); fallback.attachAllInputs(0.0, false); setInitializationInputs(fallback); + const auto previous_verbosity = Log::verbosity(); + Log::setVerbosity(Log::Verbosity::NONE); success *= fallback.initialize(0.25, 0.45); + Log::setVerbosity(previous_verbosity); success *= scalarMatches(fallback.input(Ext::FREQREF), 1.0, "default frequency"); success *= (fallback.repca.evaluateResidual() == 0); success *= allResidualsWithinInitTolerance(fallback.repca); @@ -429,8 +431,8 @@ namespace GridKit { TestStatus success = true; - noteExpectedLogs("Testing REPCA adjusted limits and inadmissible " - "initialization points. Logged warnings and errors are expected."); + const auto previous_verbosity = Log::verbosity(); + Log::setVerbosity(Log::Verbosity::NONE); const auto data = makeInitializationData(); @@ -769,6 +771,7 @@ namespace GridKit "adjusted command limits"); } + Log::setVerbosity(previous_verbosity); return success.report(__func__); } @@ -2149,14 +2152,6 @@ namespace GridKit return success; } - void noteExpectedLogs(const char* message) const - { - const auto previous_verbosity = Log::verbosity(); - Log::setVerbosity(Log::Verbosity::EVERYTHING); - Log::misc() << message << '\n'; - Log::setVerbosity(previous_verbosity); - } - std::vector expectedJacobian() const { return { diff --git a/tests/UnitTests/PhasorDynamics/ConverterRegcaTests.hpp b/tests/UnitTests/PhasorDynamics/ConverterRegcaTests.hpp index 68a5def2f..9e7c54653 100644 --- a/tests/UnitTests/PhasorDynamics/ConverterRegcaTests.hpp +++ b/tests/UnitTests/PhasorDynamics/ConverterRegcaTests.hpp @@ -55,8 +55,8 @@ namespace GridKit success *= (configured.getMonitor() != nullptr); success *= (configured.verify() == 0); - noteExpectedLogs("Testing invalid REGCA configurations. " - "Logged errors and time-constant warnings are expected."); + const auto previous_verbosity = Log::verbosity(); + Log::setVerbosity(Log::Verbosity::NONE); success *= (minimal.verify() > 0); for (const Params parameter : {Params::Tg, Params::p0, Params::q0}) @@ -102,6 +102,7 @@ namespace GridKit success *= (fixture.evaluate() == 0); success *= allResidualsZero(fixture.regca); + Log::setVerbosity(previous_verbosity); return success.report(__func__); } @@ -191,8 +192,8 @@ namespace GridKit { TestStatus success = true; - noteExpectedLogs("Testing inadmissible REGCA initialization points. " - "Logged errors are expected."); + const auto previous_verbosity = Log::verbosity(); + Log::setVerbosity(Log::Verbosity::NONE); struct RejectionCase { @@ -334,6 +335,7 @@ namespace GridKit "IP with LVPL bypassed"); } + Log::setVerbosity(previous_verbosity); return success.report(__func__); } @@ -1010,17 +1012,6 @@ namespace GridKit return false; } - /// Raises verbosity just long enough to flag intentionally provoked - /// logs, so expected errors in the output are not mistaken for - /// failures. - void noteExpectedLogs(const char* message) const - { - const auto previous_verbosity = Log::verbosity(); - Log::setVerbosity(Log::Verbosity::EVERYTHING); - Log::misc() << message << "\n"; - Log::setVerbosity(previous_verbosity); - } - #ifdef GRIDKIT_ENABLE_ENZYME /// Move the answer-key state to the HVRCM and active-current limiter /// transition points, where the Jacobian has the richest structure. diff --git a/tests/UnitTests/PhasorDynamics/ExciterEsdc1aTests.hpp b/tests/UnitTests/PhasorDynamics/ExciterEsdc1aTests.hpp index e701a7afb..d59477f74 100644 --- a/tests/UnitTests/PhasorDynamics/ExciterEsdc1aTests.hpp +++ b/tests/UnitTests/PhasorDynamics/ExciterEsdc1aTests.hpp @@ -49,8 +49,8 @@ namespace GridKit { TestStatus success = true; - noteExpectedLogs("Testing ESDC1A defaults and invalid configurations. " - "Logged errors and time-constant warnings are expected."); + const auto previous_verbosity = Log::verbosity(); + Log::setVerbosity(Log::Verbosity::NONE); PhasorDynamics::Bus bus(1.0, 0.0); @@ -189,6 +189,7 @@ namespace GridKit success *= (floored.evaluate() == 0); success *= allResidualsZero(floored.esdc1a); + Log::setVerbosity(previous_verbosity); return success.report(__func__); } @@ -320,8 +321,8 @@ namespace GridKit { TestStatus success = true; - noteExpectedLogs("Testing inadmissible ESDC1A initialization points. " - "Logged errors are expected."); + const auto previous_verbosity = Log::verbosity(); + Log::setVerbosity(Log::Verbosity::NONE); // An enabled speed multiplier must remain finite and strictly // positive. Other initialization limits are relaxed so these cases @@ -491,6 +492,7 @@ namespace GridKit success *= (junction.evaluate() == 0); success *= allResidualsZero(junction.esdc1a); + Log::setVerbosity(previous_verbosity); return success.report(__func__); } @@ -1432,14 +1434,6 @@ namespace GridKit return false; } - void noteExpectedLogs(const char* message) const - { - const auto previous_verbosity = Log::verbosity(); - Log::setVerbosity(Log::Verbosity::EVERYTHING); - Log::misc() << message << "\n"; - Log::setVerbosity(previous_verbosity); - } - void numberVariables(Fixture& fixture) const { auto* y = fixture.esdc1a.y().getData(); diff --git a/tests/UnitTests/PhasorDynamics/ExciterIeeet1Tests.hpp b/tests/UnitTests/PhasorDynamics/ExciterIeeet1Tests.hpp index 8f40ab78b..c28d0f277 100644 --- a/tests/UnitTests/PhasorDynamics/ExciterIeeet1Tests.hpp +++ b/tests/UnitTests/PhasorDynamics/ExciterIeeet1Tests.hpp @@ -182,10 +182,8 @@ namespace GridKit { TestStatus success = true; - Log::setVerbosity(Log::Verbosity::EVERYTHING); - Log::misc() << "Testing that invalid saturation parameters are rejected. " - << "Logged errors are expected.\n"; - Log::setVerbosity(Log::Verbosity::WARNINGS); + const auto previous_verbosity = Log::verbosity(); + Log::setVerbosity(Log::Verbosity::NONE); using Params = PhasorDynamics::Exciter::Ieeet1Parameters; @@ -200,6 +198,7 @@ namespace GridKit success *= (exciter.verify() != 0); + Log::setVerbosity(previous_verbosity); return success.report(__func__); } diff --git a/tests/UnitTests/PhasorDynamics/ExciterSexsPtiTests.hpp b/tests/UnitTests/PhasorDynamics/ExciterSexsPtiTests.hpp index a1054fcdc..246618869 100644 --- a/tests/UnitTests/PhasorDynamics/ExciterSexsPtiTests.hpp +++ b/tests/UnitTests/PhasorDynamics/ExciterSexsPtiTests.hpp @@ -208,10 +208,8 @@ namespace GridKit TestStatus success = true; - Log::setVerbosity(Log::Verbosity::EVERYTHING); - Log::misc() << "Testing that invalid parameters are rejected. " - << "Logged errors are expected.\n"; - Log::setVerbosity(Log::Verbosity::WARNINGS); + const auto previous_verbosity = Log::verbosity(); + Log::setVerbosity(Log::Verbosity::NONE); PhasorDynamics::Bus bus(1.0, 0.0); @@ -225,6 +223,7 @@ namespace GridKit PhasorDynamics::Exciter::SexsPti invalid_model(&bus, invalid); success *= (invalid_model.verify() > 0); + Log::setVerbosity(previous_verbosity); return success.report(__func__); } @@ -260,14 +259,13 @@ namespace GridKit success *= (system.evaluateResidual() == 0); success *= (system.size() == 5); - Log::setVerbosity(Log::Verbosity::EVERYTHING); - Log::misc() << "Testing that model with missing EFD data is rejected. " - << "Logged errors are expected.\n"; - Log::setVerbosity(Log::Verbosity::WARNINGS); auto missing_efd = data; missing_efd.sexspti[0].signal_outputs.erase(SignalOutput::efd); SystemModel missing_efd_system(missing_efd); + const auto previous_verbosity = Log::verbosity(); + Log::setVerbosity(Log::Verbosity::NONE); success *= (missing_efd_system.verify() > 0); + Log::setVerbosity(previous_verbosity); return success.report(__func__); } diff --git a/tests/UnitTests/PhasorDynamics/GovernorGastPtiTests.hpp b/tests/UnitTests/PhasorDynamics/GovernorGastPtiTests.hpp index 8b0211edd..4c620ed01 100644 --- a/tests/UnitTests/PhasorDynamics/GovernorGastPtiTests.hpp +++ b/tests/UnitTests/PhasorDynamics/GovernorGastPtiTests.hpp @@ -18,11 +18,14 @@ #include #include #include +#include namespace GridKit { namespace Testing { + using Log = ::GridKit::Utilities::Logger; + template class GovernorGastPtiTests { @@ -44,6 +47,9 @@ namespace GridKit { TestStatus success = true; + const auto previous_verbosity = Log::verbosity(); + Log::setVerbosity(Log::Verbosity::NONE); + PhasorDynamics::Governor::GastPti empty; success *= (empty.size() == static_cast(index(Internal::MAXIMUM))); success *= (empty.getMonitor() == nullptr); @@ -198,6 +204,7 @@ namespace GridKit "in-place time-constant floor boundary"); } + Log::setVerbosity(previous_verbosity); return success.report(__func__); } @@ -352,6 +359,9 @@ namespace GridKit { TestStatus success = true; + const auto previous_verbosity = Log::verbosity(); + Log::setVerbosity(Log::Verbosity::NONE); + struct RejectionCase { const char* label; @@ -557,6 +567,7 @@ namespace GridKit success *= (negative_seed.evaluate() == 0); success *= allResidualsZero(negative_seed.gastpti); + Log::setVerbosity(previous_verbosity); return success.report(__func__); } @@ -713,6 +724,8 @@ namespace GridKit {"adjusted upper response boundary", over_rated_pmech, command_magnitude}, {"adjusted lower response boundary", ZERO, -command_magnitude}, }}; + const auto previous_verbosity = Log::verbosity(); + Log::setVerbosity(Log::Verbosity::NONE); for (const auto& test_case : effective_boundary_cases) { Fixture response(response_data); @@ -734,6 +747,7 @@ namespace GridKit {{Internal::XVALVE, expected}}, test_case.label); } + Log::setVerbosity(previous_verbosity); return success.report(__func__); } @@ -873,6 +887,8 @@ namespace GridKit "restoring-response Enzyme versus dependency tracking", {{Internal::XVALVE, 1.6}, {Internal::VLV, 1.35}}); + const auto adjusted_verbosity = Log::verbosity(); + Log::setVerbosity(Log::Verbosity::NONE); Fixture adjusted(data); adjusted.attachAllInputs(); success *= adjusted.initialize(over_rated_pmech); @@ -885,11 +901,14 @@ namespace GridKit "adjusted-boundary Enzyme versus dependency tracking", {{Internal::XVALVE, adjusted_boundary}, {Internal::VLV, adjusted_boundary + boundary_command}}); + Log::setVerbosity(adjusted_verbosity); auto collapsed_data = data; collapsed_data.parameters[Params::Vmin] = collapsed_limit; collapsed_data.parameters[Params::Vmax] = collapsed_limit; + const auto collapsed_verbosity = Log::verbosity(); + Log::setVerbosity(Log::Verbosity::NONE); Fixture collapsed(collapsed_data); collapsed.attachAllInputs(); success *= collapsed.initialize(initial_pmech); @@ -908,6 +927,7 @@ namespace GridKit over_rated_pmech, "reinitialized Enzyme versus dependency tracking", {}); + Log::setVerbosity(collapsed_verbosity); return success.report(__func__); } diff --git a/tests/UnitTests/PhasorDynamics/GovernorHygovTests.hpp b/tests/UnitTests/PhasorDynamics/GovernorHygovTests.hpp index 333ff02d9..a8135814d 100644 --- a/tests/UnitTests/PhasorDynamics/GovernorHygovTests.hpp +++ b/tests/UnitTests/PhasorDynamics/GovernorHygovTests.hpp @@ -59,9 +59,8 @@ namespace GridKit success *= (configured.hygov.getMonitor() != nullptr); success *= (configured.hygov.verify() == 0); - noteExpectedLogs("Testing HYGOV defaults and invalid configurations. " - "Logged errors, time-constant warnings, and an unsupported " - "backlash warning are expected."); + const auto previous_verbosity = Log::verbosity(); + Log::setVerbosity(Log::Verbosity::NONE); Fixture minimal(makeMinimalData()); success *= (minimal.hygov.verify() == 0); @@ -228,6 +227,7 @@ namespace GridKit success *= (floors.evaluate() == 0); success *= allResidualsZero(floors.hygov); + Log::setVerbosity(previous_verbosity); return success.report(__func__); } @@ -337,9 +337,8 @@ namespace GridKit { TestStatus success = true; - noteExpectedLogs("Testing HYGOV initialization boundaries. " - "Logged errors, response-limit warnings, and dam-head warnings " - "are expected."); + const auto previous_verbosity = Log::verbosity(); + Log::setVerbosity(Log::Verbosity::NONE); success *= initializationRejectedAtomically( makeResidualData(), @@ -600,6 +599,7 @@ namespace GridKit static_cast(External::PAUX)); } + Log::setVerbosity(previous_verbosity); return success.report(__func__); } @@ -1547,14 +1547,6 @@ namespace GridKit return false; } - void noteExpectedLogs(const char* message) const - { - const auto previous_verbosity = Log::verbosity(); - Log::setVerbosity(Log::Verbosity::EVERYTHING); - Log::misc() << message << "\n"; - Log::setVerbosity(previous_verbosity); - } - void numberVariables(Fixture& fixture) const { auto* y = fixture.hygov.y().getData(); diff --git a/tests/UnitTests/PhasorDynamics/SystemSingleComponentTests.hpp b/tests/UnitTests/PhasorDynamics/SystemSingleComponentTests.hpp index 234c13455..bb8087a37 100644 --- a/tests/UnitTests/PhasorDynamics/SystemSingleComponentTests.hpp +++ b/tests/UnitTests/PhasorDynamics/SystemSingleComponentTests.hpp @@ -1,16 +1,18 @@ #include -#include #include #include #include #include #include +#include namespace GridKit { namespace Testing { + using Log = ::GridKit::Utilities::Logger; + /// Smoke test for components (single component connected to an infinite bus) /// through the system model with the minimal constructors template @@ -103,7 +105,10 @@ namespace GridKit PhasorDynamics::BusInfinite bus; system->addBus(&bus); + const auto previous_verbosity = Log::verbosity(); + Log::setVerbosity(Log::Verbosity::NONE); PhasorDynamics::Exciter::Ieeet1 exciter(&bus); + Log::setVerbosity(previous_verbosity); system->addComponent(&exciter); success *= system->allocate() == 0; @@ -173,8 +178,10 @@ namespace GridKit missing_bus_data.esdc1a[0].buses.clear(); PhasorDynamics::SystemModel missing_bus_system(missing_bus_data); - std::cout << "Testing expected ESDC1A missing-bus configuration error.\n"; + const auto previous_verbosity = Log::verbosity(); + Log::setVerbosity(Log::Verbosity::NONE); success *= missing_bus_system.verify() > 0; + Log::setVerbosity(previous_verbosity); return success.report(__func__); } @@ -256,6 +263,7 @@ namespace GridKit { using Buses = PhasorDynamics::Controller::RepcaBuses; using Inputs = PhasorDynamics::Controller::RepcaSignalInputs; + using Params = PhasorDynamics::Controller::RepcaParameters; using Vars = PhasorDynamics::Controller::RepcaInternalVariables; constexpr IdxT bus_id = static_cast(1); @@ -279,6 +287,7 @@ namespace GridKit repca_data.signal_inputs[Inputs::ii] = input_id; repca_data.signal_inputs[Inputs::p] = input_id; repca_data.signal_inputs[Inputs::q] = input_id; + repca_data.parameters[Params::Tp] = static_cast(0.02); data.repca.push_back(repca_data); ScalarT input_value{}; @@ -482,8 +491,10 @@ namespace GridKit missing_output_data.hygov[0].signal_outputs.clear(); PhasorDynamics::SystemModel missing_output_system(missing_output_data); - std::cout << "Testing expected HYGOV missing-output configuration error.\n"; + const auto previous_verbosity = Log::verbosity(); + Log::setVerbosity(Log::Verbosity::NONE); success *= missing_output_system.verify() > 0; + Log::setVerbosity(previous_verbosity); return success.report(__func__); } diff --git a/tests/UnitTests/PhasorDynamics/SystemTests.hpp b/tests/UnitTests/PhasorDynamics/SystemTests.hpp index 02eba339d..12a5bf0dd 100644 --- a/tests/UnitTests/PhasorDynamics/SystemTests.hpp +++ b/tests/UnitTests/PhasorDynamics/SystemTests.hpp @@ -369,13 +369,12 @@ namespace GridKit auto sys = SystemModel(data); TestStatus status{true}; - Log::setVerbosity(Log::Verbosity::EVERYTHING); - Log::misc() << "Testing for exceptions when signals are incorrectly configured. " - << "Logged errors are expected.\n"; - Log::setVerbosity(Log::Verbosity::WARNINGS); + const auto previous_verbosity = Log::verbosity(); + Log::setVerbosity(Log::Verbosity::NONE); status *= throws( [&]() { sys.allocate(); }); + Log::setVerbosity(previous_verbosity); return status.report(__func__); } @@ -393,13 +392,12 @@ namespace GridKit status *= bus.allocate() == 0; system.addBus(&bus); - Log::setVerbosity(Log::Verbosity::EVERYTHING); - Log::misc() << "Testing for exceptions when when a child cannot bind to system storage. " - << "Logged errors are expected.\n"; - Log::setVerbosity(Log::Verbosity::WARNINGS); + const auto previous_verbosity = Log::verbosity(); + Log::setVerbosity(Log::Verbosity::NONE); status *= throws( [&]() { system.allocate(); }); + Log::setVerbosity(previous_verbosity); return status.report(__func__); } diff --git a/tests/UnitTests/PhasorDynamics/runControllerReecbTests.cpp b/tests/UnitTests/PhasorDynamics/runControllerReecbTests.cpp index 4af6eb950..5aa0ba589 100644 --- a/tests/UnitTests/PhasorDynamics/runControllerReecbTests.cpp +++ b/tests/UnitTests/PhasorDynamics/runControllerReecbTests.cpp @@ -1,14 +1,7 @@ -#include - #include "ControllerReecbTests.hpp" int main() { - using Log = GridKit::Utilities::Logger; - - const auto previous_verbosity = Log::verbosity(); - Log::setVerbosity(Log::Verbosity::NONE); - GridKit::Testing::TestingResults result; GridKit::Testing::ControllerReecbTests test; @@ -25,6 +18,5 @@ int main() result += test.jacobian(); #endif - Log::setVerbosity(previous_verbosity); return result.summary(); } diff --git a/tests/UnitTests/PhasorDynamics/runControllerRepcaTests.cpp b/tests/UnitTests/PhasorDynamics/runControllerRepcaTests.cpp index c899d1dcc..ab10fca94 100644 --- a/tests/UnitTests/PhasorDynamics/runControllerRepcaTests.cpp +++ b/tests/UnitTests/PhasorDynamics/runControllerRepcaTests.cpp @@ -1,11 +1,7 @@ -#include - #include "ControllerRepcaTests.hpp" int main() { - GridKit::Utilities::Logger::setVerbosity(GridKit::Utilities::Logger::Verbosity::NONE); - GridKit::Testing::TestingResults result; GridKit::Testing::ControllerRepcaTests test; diff --git a/tests/UnitTests/PhasorDynamics/runGovernorGastPtiTests.cpp b/tests/UnitTests/PhasorDynamics/runGovernorGastPtiTests.cpp index c9a770a02..9159db70c 100644 --- a/tests/UnitTests/PhasorDynamics/runGovernorGastPtiTests.cpp +++ b/tests/UnitTests/PhasorDynamics/runGovernorGastPtiTests.cpp @@ -1,5 +1,3 @@ -#include - #include "GovernorGastPtiTests.hpp" int main() @@ -7,9 +5,6 @@ int main() GridKit::Testing::TestingResults result; GridKit::Testing::GovernorGastPtiTests test; - using Log = GridKit::Utilities::Logger; - const auto previous_verbosity = Log::verbosity(); - Log::setVerbosity(Log::Verbosity::NONE); result += test.validation(); result += test.initializationAndSignals(); @@ -22,6 +17,5 @@ int main() result += test.jacobian(); #endif - Log::setVerbosity(previous_verbosity); return result.summary(); } diff --git a/tests/UnitTests/PhasorDynamics/runSystemSingleComponentTests.cpp b/tests/UnitTests/PhasorDynamics/runSystemSingleComponentTests.cpp index 435e45d21..327d8b503 100644 --- a/tests/UnitTests/PhasorDynamics/runSystemSingleComponentTests.cpp +++ b/tests/UnitTests/PhasorDynamics/runSystemSingleComponentTests.cpp @@ -1,11 +1,7 @@ -#include - #include "SystemSingleComponentTests.hpp" int main() { - GridKit::Utilities::Logger::setVerbosity(GridKit::Utilities::Logger::Verbosity::NONE); - using namespace GridKit; using namespace GridKit::Testing; From bffbee5361122024d74d51d6b76a9e475e50feb7 Mon Sep 17 00:00:00 2001 From: Luke Lowery Date: Tue, 25 Aug 2026 16:33:39 -0500 Subject: [PATCH 3/3] Update tests/UnitTests/PhasorDynamics/ControllerRepcaTests.hpp Co-authored-by: Nicholson Koukpaizan <72402802+nkoukpaizan@users.noreply.github.com> --- tests/UnitTests/PhasorDynamics/ControllerRepcaTests.hpp | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/UnitTests/PhasorDynamics/ControllerRepcaTests.hpp b/tests/UnitTests/PhasorDynamics/ControllerRepcaTests.hpp index 8fc1e8acb..6aec17ad5 100644 --- a/tests/UnitTests/PhasorDynamics/ControllerRepcaTests.hpp +++ b/tests/UnitTests/PhasorDynamics/ControllerRepcaTests.hpp @@ -48,6 +48,7 @@ namespace GridKit TestStatus success = true; const auto previous_verbosity = Log::verbosity(); + // Changing the verbosity to NONE to suppress expected errors and warning for the following tests. // Use EVERYTHING to inspect diagnostics from the invalid cases below. Log::setVerbosity(Log::Verbosity::NONE);