Kaydet (Commit) b2725b7d authored tarafından Stephan Bergmann's avatar Stephan Bergmann

Keep TestFixture alive until outputter is done with it

Change-Id: Ifd921efa971f7a9a5c47f42c5d56a3deb1c3a0b3
üst 56e07169
...@@ -218,38 +218,42 @@ public: ...@@ -218,38 +218,42 @@ public:
} }
#endif #endif
CppUnit::TestResultCollector collector; for (size_t i = 0; i < protectors.size(); ++i)
result.addListener(&collector); result.pushProtector(protectors[i]);
bool success;
{
CppUnit::TestResultCollector collector;
result.addListener(&collector);
LogFailuresAsTheyHappen logger; LogFailuresAsTheyHappen logger;
result.addListener(&logger); result.addListener(&logger);
#ifdef TIMETESTS #ifdef TIMETESTS
TimingListener timer; TimingListener timer;
result.addListener(&timer); result.addListener(&timer);
#endif #endif
#ifdef UNX #ifdef UNX
EyecatcherListener eye; EyecatcherListener eye;
result.addListener(&eye); result.addListener(&eye);
#endif #endif
for (size_t i = 0; i < protectors.size(); ++i)
result.pushProtector(protectors[i]);
{
CppUnit::TestRunner runner; CppUnit::TestRunner runner;
runner.addTest( runner.addTest(
CppUnit::TestFactoryRegistry::getRegistry().makeTest()); CppUnit::TestFactoryRegistry::getRegistry().makeTest());
runner.run(result); runner.run(result);
CppUnit::CompilerOutputter outputter(&collector, CppUnit::stdCErr());
outputter.setNoWrap();
outputter.write();
success = collector.wasSuccessful();
} }
for (size_t i = 0; i < protectors.size(); ++i) for (size_t i = 0; i < protectors.size(); ++i)
result.popProtector(); result.popProtector();
CppUnit::CompilerOutputter outputter(&collector, CppUnit::stdCErr()); return success;
outputter.setNoWrap();
outputter.write();
return collector.wasSuccessful();
} }
virtual bool operator()() const SAL_OVERRIDE virtual bool operator()() const SAL_OVERRIDE
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment