C++ Library containing a lot of needful things: Stack Trace, Command Line Parser, Resource Handling, Configuration Files, Unix Command Execution, Directories, Regular Expressions, Tokenizer, Function Trace, Standard Extensions.
67 lines
2.0 KiB
67 lines
2.0 KiB
/** @file |
|
|
|
$Id$ |
|
|
|
$Date$ |
|
$Author$ |
|
|
|
@copy © Marc Wäckerlin |
|
@license LGPL, see file <a href="license.html">COPYING</a> |
|
|
|
$Log$ |
|
Revision 1.6 2005/01/28 07:51:24 marc |
|
improved and corrected trace formatting |
|
|
|
Revision 1.5 2004/10/13 10:49:12 marc |
|
check whether shared libraries are evaluated |
|
|
|
Revision 1.4 2004/08/28 16:21:25 marc |
|
mrw-c++-0.92 (mrw) |
|
- new file: version.cpp |
|
- new file header for all sources |
|
- work around warning in mrw::auto<T> |
|
- possibility to compile without log4cxx |
|
- work around bugs in demangle.h and libiberty.h |
|
- corrections in documentation |
|
- added simple tracing mechanism |
|
- more warnings |
|
- small corrections in Auto<>::Free and a new test for it |
|
- possibility to compile without stack trace |
|
|
|
*/ |
|
#include <mrw/stacktrace.hpp> |
|
#include <cppunit/TestFixture.h> |
|
#include <cppunit/ui/text/TestRunner.h> |
|
#include <cppunit/extensions/HelperMacros.h> |
|
#include <cppunit/extensions/TestFactoryRegistry.h> |
|
|
|
namespace mrw { |
|
class StackTraceTest: public CppUnit::TestFixture { |
|
public: |
|
/// test if symbols are correctely evaluated |
|
void StackTrace() { |
|
mrw::StackTrace::createSymtable(); |
|
mrw::StackTrace s; int l(__LINE__); std::string f(__FILE__); |
|
std::stringstream ss; |
|
ss<<f<<':'<<l; |
|
std::string st(s); |
|
std::string::size_type pos(st.find("mrw::StackTraceTest::StackTrace()")); |
|
CPPUNIT_ASSERT(pos!=std::string::npos); |
|
CPPUNIT_ASSERT(st.find(ss.str(), pos) < st.size()); |
|
CPPUNIT_ASSERT(st.find("CppUnit::TestCase::run") |
|
< st.size()); |
|
CPPUNIT_ASSERT(st.find("????:0 ????") |
|
>= st.size()); |
|
} |
|
CPPUNIT_TEST_SUITE(StackTraceTest); |
|
CPPUNIT_TEST(StackTrace); |
|
CPPUNIT_TEST_SUITE_END(); |
|
}; |
|
CPPUNIT_TEST_SUITE_REGISTRATION(StackTraceTest); |
|
} |
|
|
|
int main() { |
|
CppUnit::TextUi::TestRunner runner; |
|
runner.addTest(CppUnit::TestFactoryRegistry::getRegistry().makeTest()); |
|
return runner.run() ? 0 : 1; |
|
}
|
|
|