works with my regression tests with valgrind. I have a report like this:
== 20341 == 256 bytes in 1 blocks are indirectly lost in loss record 915 of 919
== 20341 == at 0x4A0661C: operator new (unsigned long) (vg_replace_malloc.c: 220)
== 20341 == by 0x7F366FA: std :: vector <CppUnit :: Test *, std :: allocator <CppUnit :: Test *>> :: _ M_insert_aux (__ gnu_cxx :: __ normal_iterator <CppUnit :: Test **, std :: vector <CppUnit :: Test *, std :: allocator <CppUnit :: Test *>>>, CppUnit :: Test * const &) (new_allocator.h: 88)
== 20341 == by 0x7F36496: CppUnit :: TestSuite :: addTest (CppUnit :: Test *) (stl_vector.h: 610)
== 20341 == by 0x585B80: TestVectorAlgebra :: addTestsToSuite (CppUnit :: TestSuiteBuilderContextBase &) (testvectoralgebra.h: 30)
== 20341 == by 0x586719: TestVectorAlgebra :: suite () (testvectoralgebra.h: 42)
== 20341 == by 0x5948C4: CppUnit :: TestSuiteFactory <TestVectorAlgebra> :: makeTest () (TestSuiteFactory.h: 20)
== 20341 == by 0x7F2C6B0: CppUnit :: TestFactoryRegistry :: addTestToSuite (CppUnit :: TestSuite *) (TestFactoryRegistry.cpp: 149)
== 20341 == by 0x7F2CAD5: CppUnit :: TestFactoryRegistry :: makeTest () (TestFactoryRegistry.cpp: 136)
== 20341 == by 0x580760: main (testunit.cpp: 88)
I assume this is because tests added to Suite are not deleted until main is complete.
So I register the test:
CppUnit::TextTestRunner::TestRunner runner;
CppUnit::Test* myTest =
CPPUNIT_NS::TestFactoryRegistry::getRegistry().makeTest();
runner.addTest( myTest->findTest("TestVectorAlgebra") );
How do I unregister these tests?
source
share