summaryrefslogtreecommitdiff
path: root/examples/cppunittest/CppUnitTestMain.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/cppunittest/CppUnitTestMain.cpp')
-rw-r--r--examples/cppunittest/CppUnitTestMain.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/examples/cppunittest/CppUnitTestMain.cpp b/examples/cppunittest/CppUnitTestMain.cpp
index 4b62612..df87464 100644
--- a/examples/cppunittest/CppUnitTestMain.cpp
+++ b/examples/cppunittest/CppUnitTestMain.cpp
@@ -1,14 +1,26 @@
-#include <cppunit/TextTestRunner.h>
#include <cppunit/extensions/TestFactoryRegistry.h>
+#include <cppunit/CompilerTestResultOutputter.h>
+#include <cppunit/TextTestResult.h>
+#include <cppunit/TextTestRunner.h>
#include "CppUnitTestSuite.h"
+
int
main( int argc, char* argv[] )
{
+ bool selfTest = (argc > 1) &&
+ (std::string("-selftest") == argv[1]);
+
CppUnit::TextTestRunner runner;
runner.addTest( CppUnitTest::suite() );
- bool wasSucessful = runner.run();
+ bool wasSucessful = runner.run( "", false, !selfTest );
+ if ( selfTest )
+ {
+ CppUnit::CompilerTestResultOutputter outputter( runner.result(),
+ std::cerr );
+ outputter.write();
+ }
return wasSucessful ? 0 : 1;
}