telldus/telldus-core/tests/cppunit.cpp
Micke Prag b56823a6e7 Some compilers seems to optimize away our tests. Compiling them
statically and force initiating them seems to do the trick.
2013-05-17 11:26:30 +02:00

46 lines
1.4 KiB
C++

#include <cppunit/CompilerOutputter.h>
#include <cppunit/XmlOutputter.h>
#include <cppunit/extensions/TestFactoryRegistry.h>
#include <cppunit/TestResult.h>
#include <cppunit/TestResultCollector.h>
#include <cppunit/TestRunner.h>
#include <cppunit/BriefTestProgressListener.h>
#include <fstream>
#include "common/CommonTests.h"
#include "service/ServiceTests.h"
int main (int argc, char* argv[])
{
// Setup our tests
CommonTests::setup();
ServiceTests::setup();
// informs test-listener about testresults
CPPUNIT_NS :: TestResult testresult;
// register listener for collecting the test-results
CPPUNIT_NS :: TestResultCollector collectedresults;
testresult.addListener (&collectedresults);
// register listener for per-test progress output
CPPUNIT_NS :: BriefTestProgressListener progress;
testresult.addListener (&progress);
// insert test-suite at test-runner by registry
CPPUNIT_NS :: TestRunner testrunner;
testrunner.addTest (CPPUNIT_NS :: TestFactoryRegistry :: getRegistry ().makeTest ());
testrunner.run (testresult);
// output results in compiler-format
CPPUNIT_NS :: CompilerOutputter compileroutputter (&collectedresults, std::cerr);
compileroutputter.write ();
std::ofstream xmlFileOut("cpptestresults.xml");
CPPUNIT_NS :: XmlOutputter xmlOut(&collectedresults, xmlFileOut);
xmlOut.write();
// return 0 if tests were successful
return collectedresults.wasSuccessful () ? 0 : 1;
}