Files
mrw-cxx/mrw/stacktrace_test.cpp
2004-04-21 06:39:20 +00:00

33 lines
1006 B
C++

#include <mrw/stacktrace.hpp>
#include <cppunit/TestFixture.h>
#include <cppunit/ui/text/TestRunner.h>
#include <cppunit/extensions/HelperMacros.h>
#include <cppunit/extensions/TestFactoryRegistry.h>
#include <iostream>
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);
int pos(st.find(ss.str()));
std::cout<<st<<std::endl;
CPPUNIT_ASSERT(pos<st.size());
CPPUNIT_ASSERT(st.find("mrw::StackTrace::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;
}