Add test for cycle methods

This commit is contained in:
Alexey Rybalchenko 2020-07-13 15:13:42 +02:00
parent 9bdb068105
commit fae704176a
3 changed files with 96 additions and 4 deletions

View File

@ -90,6 +90,8 @@ set_target_properties(FairLogger PROPERTIES
) )
if(BUILD_TESTING) if(BUILD_TESTING)
add_executable(cycleTest test/cycle.cxx)
target_link_libraries(cycleTest FairLogger)
add_executable(loggerTest test/logger.cxx) add_executable(loggerTest test/logger.cxx)
target_link_libraries(loggerTest FairLogger) target_link_libraries(loggerTest FairLogger)
add_executable(macrosTest test/macros.cxx) add_executable(macrosTest test/macros.cxx)
@ -143,6 +145,7 @@ install_cmake_package()
# Testing ###################################################################### # Testing ######################################################################
if(BUILD_TESTING) if(BUILD_TESTING)
add_test(NAME cycle COMMAND $<TARGET_FILE:cycleTest>)
add_test(NAME logger COMMAND $<TARGET_FILE:loggerTest>) add_test(NAME logger COMMAND $<TARGET_FILE:loggerTest>)
add_test(NAME macros COMMAND $<TARGET_FILE:macrosTest>) add_test(NAME macros COMMAND $<TARGET_FILE:macrosTest>)
add_test(NAME nolog COMMAND $<TARGET_FILE:nologTest>) add_test(NAME nolog COMMAND $<TARGET_FILE:nologTest>)

View File

@ -389,7 +389,11 @@ void Logger::CycleConsoleSeverityUp()
{ {
int current = static_cast<int>(fConsoleSeverity); int current = static_cast<int>(fConsoleSeverity);
if (current == static_cast<int>(fSeverityNames.size()) - 1) { if (current == static_cast<int>(fSeverityNames.size()) - 1) {
#ifdef FAIR_MIN_SEVERITY
SetConsoleSeverity(Severity::FAIR_MIN_SEVERITY);
#else
SetConsoleSeverity(static_cast<Severity>(0)); SetConsoleSeverity(static_cast<Severity>(0));
#endif
} else { } else {
SetConsoleSeverity(static_cast<Severity>(current + 1)); SetConsoleSeverity(static_cast<Severity>(current + 1));
} }
@ -397,7 +401,7 @@ void Logger::CycleConsoleSeverityUp()
stringstream ss; stringstream ss;
for (int i = 0; i < static_cast<int>(fSeverityNames.size()); ++i) { for (int i = 0; i < static_cast<int>(fSeverityNames.size()); ++i) {
ss << (i == newCurrent ? ">" : " ") << fSeverityNames.at(i) << (i == newCurrent ? "<" : " "); ss << (i == newCurrent ? "<" : " ") << fSeverityNames.at(i) << (i == newCurrent ? ">" : " ");
} }
ss << "\n\n"; ss << "\n\n";
@ -407,7 +411,11 @@ void Logger::CycleConsoleSeverityUp()
void Logger::CycleConsoleSeverityDown() void Logger::CycleConsoleSeverityDown()
{ {
int current = static_cast<int>(fConsoleSeverity); int current = static_cast<int>(fConsoleSeverity);
#ifdef FAIR_MIN_SEVERITY
if (current == static_cast<int>(Severity::FAIR_MIN_SEVERITY)) {
#else
if (current == 0) { if (current == 0) {
#endif
SetConsoleSeverity(static_cast<Severity>(fSeverityNames.size() - 1)); SetConsoleSeverity(static_cast<Severity>(fSeverityNames.size() - 1));
} else { } else {
SetConsoleSeverity(static_cast<Severity>(current - 1)); SetConsoleSeverity(static_cast<Severity>(current - 1));
@ -416,7 +424,7 @@ void Logger::CycleConsoleSeverityDown()
stringstream ss; stringstream ss;
for (int i = 0; i < static_cast<int>(fSeverityNames.size()); ++i) { for (int i = 0; i < static_cast<int>(fSeverityNames.size()); ++i) {
ss << (i == newCurrent ? ">" : " ") << fSeverityNames.at(i) << (i == newCurrent ? "<" : " "); ss << (i == newCurrent ? "<" : " ") << fSeverityNames.at(i) << (i == newCurrent ? ">" : " ");
} }
ss << "\n\n"; ss << "\n\n";
@ -435,7 +443,7 @@ void Logger::CycleVerbosityUp()
stringstream ss; stringstream ss;
for (int i = 0; i < static_cast<int>(fVerbosityNames.size()); ++i) { for (int i = 0; i < static_cast<int>(fVerbosityNames.size()); ++i) {
ss << (i == newCurrent ? ">" : " ") << fVerbosityNames.at(i) << (i == newCurrent ? "<" : " "); ss << (i == newCurrent ? "<" : " ") << fVerbosityNames.at(i) << (i == newCurrent ? ">" : " ");
} }
ss << "\n\n"; ss << "\n\n";
@ -454,7 +462,7 @@ void Logger::CycleVerbosityDown()
stringstream ss; stringstream ss;
for (int i = 0; i < static_cast<int>(fVerbosityNames.size()); ++i) { for (int i = 0; i < static_cast<int>(fVerbosityNames.size()); ++i) {
ss << (i == newCurrent ? ">" : " ") << fVerbosityNames.at(i) << (i == newCurrent ? "<" : " "); ss << (i == newCurrent ? "<" : " ") << fVerbosityNames.at(i) << (i == newCurrent ? ">" : " ");
} }
ss << "\n\n"; ss << "\n\n";

81
test/cycle.cxx Normal file
View File

@ -0,0 +1,81 @@
/********************************************************************************
* Copyright (C) 2014-2020 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH *
* *
* This software is distributed under the terms of the *
* GNU Lesser General Public Licence (LGPL) version 3, *
* copied verbatim in the file LICENSE" *
********************************************************************************/
#include "Common.h"
#include <Logger.h>
#include <iostream>
using namespace std;
using namespace fair;
using namespace fair::logger::test;
int main()
{
try {
Logger::SetConsoleColor(false);
Logger::SetVerbosity(Verbosity::user4);
cout << "initial verbosity >" << Logger::GetVerbosity() << "<" << endl << endl;
array<Verbosity, 10> verbositiesUp{{ Verbosity::verylow, Verbosity::low, Verbosity::medium, Verbosity::high, Verbosity::veryhigh, Verbosity::user1, Verbosity::user2, Verbosity::user3, Verbosity::user4, Verbosity::verylow }};
for (unsigned int i = 0; i < verbositiesUp.size(); ++i) {
Logger::CycleVerbosityUp();
if (Logger::GetVerbosity() != verbositiesUp.at(i)) { throw runtime_error(ToStr("Expected verbosity to be ", verbositiesUp.at(i), ", but it is ", Logger::GetVerbosity())); }
}
array<Verbosity, 10> verbositiesDown{{ Verbosity::user4, Verbosity::user3, Verbosity::user2, Verbosity::user1, Verbosity::veryhigh, Verbosity::high, Verbosity::medium, Verbosity::low, Verbosity::verylow, Verbosity::user4 }};
for (unsigned int i = 0; i < verbositiesDown.size(); ++i) {
Logger::CycleVerbosityDown();
if (Logger::GetVerbosity() != verbositiesDown.at(i)) { throw runtime_error(ToStr("Expected verbosity to be ", verbositiesDown.at(i), ", but it is ", Logger::GetVerbosity())); }
}
Logger::SetConsoleSeverity(Severity::fatal);
cout << "initial severity >" << Logger::GetConsoleSeverity() << "<" << endl << endl;
array<Severity, 12> severitiesUp{{ Severity::nolog, Severity::trace, Severity::debug4, Severity::debug3, Severity::debug2, Severity::debug1, Severity::debug, Severity::info, Severity::state, Severity::warn, Severity::error, Severity::fatal }};
#ifdef FAIR_MIN_SEVERITY
for (unsigned int i = static_cast<int>(Severity::FAIR_MIN_SEVERITY); i < severitiesUp.size(); ++i) {
#else
for (unsigned int i = 0; i < severitiesUp.size(); ++i) {
#endif
Logger::CycleConsoleSeverityUp();
if (Logger::GetConsoleSeverity() != severitiesUp.at(i)) { throw runtime_error(ToStr("Expected severity to be ", severitiesUp.at(i), ", but it is ", Logger::GetConsoleSeverity())); }
}
Logger::CycleConsoleSeverityUp();
#ifdef FAIR_MIN_SEVERITY
if (Logger::GetConsoleSeverity() != Severity::FAIR_MIN_SEVERITY) { throw runtime_error(ToStr("Expected severity to be ", Severity::nolog, ", but it is ", Logger::GetConsoleSeverity())); }
#else
if (Logger::GetConsoleSeverity() != Severity::nolog) { throw runtime_error(ToStr("Expected severity to be ", Severity::nolog, ", but it is ", Logger::GetConsoleSeverity())); }
#endif
Logger::SetConsoleSeverity(Severity::fatal);
cout << "initial severity >" << Logger::GetConsoleSeverity() << "<" << endl << endl;
array<Severity, 12> severitiesDown{{ Severity::error, Severity::warn, Severity::state, Severity::info, Severity::debug, Severity::debug1, Severity::debug2, Severity::debug3, Severity::debug4, Severity::trace, Severity::nolog, Severity::fatal }};
#ifdef FAIR_MIN_SEVERITY
for (unsigned int i = 0; i < severitiesDown.size() - static_cast<int>(Severity::FAIR_MIN_SEVERITY) - 1; ++i) {
#else
for (unsigned int i = 0; i < severitiesDown.size(); ++i) {
#endif
Logger::CycleConsoleSeverityDown();
if (Logger::GetConsoleSeverity() != severitiesDown.at(i)) { throw runtime_error(ToStr("Expected severity to be ", severitiesDown.at(i), ", but it is ", Logger::GetConsoleSeverity())); }
}
Logger::CycleConsoleSeverityDown();
#ifdef FAIR_MIN_SEVERITY
if (Logger::GetConsoleSeverity() != Severity::fatal) { throw runtime_error(ToStr("Expected severity to be ", Severity::fatal, ", but it is ", Logger::GetConsoleSeverity())); }
#else
if (Logger::GetConsoleSeverity() != Severity::error) { throw runtime_error(ToStr("Expected severity to be ", Severity::error, ", but it is ", Logger::GetConsoleSeverity())); }
#endif
} catch (runtime_error& rte) {
cout << rte.what() << endl;
return 1;
}
return 0;
}