- priority: 5 --> 7
- assigned_to: nobody --> blep
- status: open --> open-remind
Here is the usage:
#include <cppunit/CompilerOutputter.h>
#include <cppunit/extensions/TestFactoryRegistry.h>
#include <cppunit/ui/text/TestRunner.h>
int main( )
{
// Get the top level suite from the registry
CppUnit::Test *suite = CppUnit::TestFactoryRegistry::getRegistry().makeTest();
// Adds the test to the list of test to run
CppUnit::TextUi::TestRunner runner;
runner.addTest( suite );
// Change the default outputter to a compiler error format outputter
runner.setOutputter( new CppUnit::CompilerOutputter( &runner.result(),
std::cerr ) );
// Run the tests.
bool wasSucessful = runner.run();
// Return error code 1 if the one of test failed.
return wasSucessful ? 0 : 1;
}
Here is the valgrind output (running on Linux):
==15643==
==15643== 1,562 (32 direct, 1,530 indirect) bytes in 2 blocks are definitely lost in loss record 2 of 6
==15643== at 0x4004BF9: operator new(unsigned) (vg_replace_malloc.c:224)
==15643== by 0x8FB44E: CppUnit::TestFailure::clone() const (in /usr/lib/libcppunit-1.11.so.0.0.0)
==15643== by 0x909AA6: CppUnit::TestResultCollector::addFailure(CppUnit::TestFailure const&) (in /usr/lib/libcppunit-1.11.so.0.0.0)
==15643== by 0x907071: CppUnit::TestResult::addFailure(CppUnit::TestFailure const&) (in /usr/lib/libcppunit-1.11.so.0.0.0)
==15643== by 0x907113: CppUnit::TestResult::addFailure(CppUnit::Test*, CppUnit::Exception*) (in /usr/lib/libcppunit-1.11.so.0.0.0)
==15643== by 0x8F3B7B: CppUnit::Protector::reportFailure(CppUnit::ProtectorContext const&, CppUnit::Exception const&) const (in /usr/lib/libcppunit-1.11.so.0.0.0)
==15643== by 0x8E6BEE: CppUnit::DefaultProtector::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) (in /usr/lib/libcppunit-1.11.so.0.0.0)
==15643== by 0x8F536E: CppUnit::ProtectorChain::ProtectFunctor::operator()() const (in /usr/lib/libcppunit-1.11.so.0.0.0)
==15643== by 0x8F4F2B: CppUnit::ProtectorChain::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) (in /usr/lib/libcppunit-1.11.so.0.0.0)
==15643== by 0x906A5B: CppUnit::TestResult::protect(CppUnit::Functor const&, CppUnit::Test*, std::string const&) (in /usr/lib/libcppunit-1.11.so.0.0.0)
==15643== by 0x8F9397: CppUnit::TestCase::run(CppUnit::TestResult*) (in /usr/lib/libcppunit-1.11.so.0.0.0)
==15643== by 0x8F9CB7: CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) (in /usr/lib/libcppunit-1.11.so.0.0.0)
==15643== by 0x8F9BED: CppUnit::TestComposite::run(CppUnit::TestResult*) (in /usr/lib/libcppunit-1.11.so.0.0.0)
==15643== by 0x8F9CB7: CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) (in /usr/lib/libcppunit-1.11.so.0.0.0)
==15643== by 0x8F9BED: CppUnit::TestComposite::run(CppUnit::TestResult*) (in /usr/lib/libcppunit-1.11.so.0.0.0)
==15643== by 0x90A0AF: CppUnit::TestRunner::WrappingSuite::run(CppUnit::TestResult*) (in /usr/lib/libcppunit-1.11.so.0.0.0)
==15643== by 0x9069A5: CppUnit::TestResult::runTest(CppUnit::Test*) (in /usr/lib/libcppunit-1.11.so.0.0.0)
==15643== by 0x90A20C: CppUnit::TestRunner::run(CppUnit::TestResult&, std::string const&) (in /usr/lib/libcppunit-1.11.so.0.0.0)
==15643== by 0x90DC3D: CppUnit::TextTestRunner::run(std::string, bool, bool, bool) (in /usr/lib/libcppunit-1.11.so.0.0.0)
==15643== by 0x806600C: main (ThreadPoolTestMain.cpp:31)