/** @file $Id$ $Date$ $Author$ @copy © Marc Wäckerlin @license LGPL, see file <a href="license.html">COPYING</a> $Log$ 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(ss.str())); CPPUNIT_ASSERT(pos!=std::string::npos); CPPUNIT_ASSERT(st.find("mrw::StackTraceTest::StackTrace()", pos) < 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; }