Nice Error Report

This commit is contained in:
Dimitry 2015-07-27 21:14:55 +03:00
parent 80750d746c
commit b12507c55e
2 changed files with 33 additions and 1 deletions

View File

@ -258,7 +258,11 @@ void ImportTest::compareStates(State const& _stateExpect, State const& _statePos
#define CHECK(a,b) \
{ \
if (_throw == WhenError::Throw) \
{TBOOST_CHECK_MESSAGE(a,b);}\
{ \
TBOOST_CHECK(a); \
if (!a) \
std::cerr << b << std::endl;\
} \
else \
{TBOOST_WARN_MESSAGE(a,b);} \
}
@ -773,7 +777,27 @@ Options::Options()
}
else if (arg == "--fulloutput")
fulloutput = true;
else if (arg == "--verbosity" && i + 1 < argc)
{
static std::ostringstream strCout;
std::string depthLevel = std::string{argv[i + 1]};
if (depthLevel == "0")
{
logVerbosity = Verbosity::None;
std::cout.rdbuf( strCout.rdbuf() );
std::cerr.rdbuf( strCout.rdbuf() );
}
else
if (depthLevel == "1")
logVerbosity = Verbosity::NiceReport;
else
logVerbosity = Verbosity::Full;
}
}
//Default option
if (logVerbosity == Verbosity::NiceReport)
g_logVerbosity = -1; //disable cnote but not the cerr
}
Options const& Options::get()

View File

@ -218,6 +218,13 @@ void checkAddresses(mapType& _expectedAddrs, mapType& _resultAddrs)
TBOOST_CHECK((_expectedAddrs == _resultAddrs));
}*/
enum class Verbosity
{
Full,
NiceReport,
None
};
class Options
{
public:
@ -227,6 +234,7 @@ public:
std::string statsOutFile; ///< Stats output file. "out" for standard output
bool checkState = false;///< Throw error when checking test states
bool fulloutput = false;///< Replace large output to just it's length
Verbosity logVerbosity = Verbosity::NiceReport;
/// Test selection
/// @{