Files
mrw-cxx/mrw/stacktrace_test.cpp

34 lines
1.0 KiB
C++
Raw Normal View History

2004-04-21 06:39:20 +00:00
#include <mrw/stacktrace.hpp>
#include <cppunit/TestFixture.h>
#include <cppunit/ui/text/TestRunner.h>
#include <cppunit/extensions/HelperMacros.h>
#include <cppunit/extensions/TestFactoryRegistry.h>
2004-04-21 19:03:38 +00:00
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);
2004-05-05 06:13:29 +00:00
std::string::size_type pos(st.find(ss.str()));
CPPUNIT_ASSERT(pos!=std::string::npos);
2004-04-21 19:03:38 +00:00
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);
}
2004-04-21 06:39:20 +00:00
int main() {
CppUnit::TextUi::TestRunner runner;
runner.addTest(CppUnit::TestFactoryRegistry::getRegistry().makeTest());
return runner.run() ? 0 : 1;
}