Files
rippled/modules/ripple_app/main/ripple_FatalErrorReporter.cpp

51 lines
1.1 KiB
C++

//------------------------------------------------------------------------------
/*
Copyright (c) 2011-2013, OpenCoin, Inc.
*/
//==============================================================================
#ifdef TWICE
#error die
#endif
#define TWICE
FatalErrorReporter::FatalErrorReporter ()
{
FatalError::setReporter (*this);
}
FatalErrorReporter::~FatalErrorReporter ()
{
FatalError::resetReporter (*this);
}
void FatalErrorReporter::reportMessage (String& formattedMessage)
{
Log::out() << formattedMessage.toRawUTF8 ();
}
//------------------------------------------------------------------------------
class FatalErrorReporterTests : public UnitTest
{
public:
FatalErrorReporterTests () : UnitTest ("FatalErrorReporter", "ripple", runManual)
{
}
void runTest ()
{
beginTestCase ("report");
FatalErrorReporter reporter;
// We don't really expect the program to run after this
// but the unit test is here so you can manually test it.
FatalError ("The unit test intentionally failed", __FILE__, __LINE__);
}
};
static FatalErrorReporterTests fatalErrorReporterTests;