2
#include <cppunit/TestResult.h>
3
#include <cppunit/TestResultCollector.h>
4
#include <cppunit/TestRunner.h>
5
#include <cppunit/extensions/TestFactoryRegistry.h>
6
#include <cppunit/BriefTestProgressListener.h>
7
#include <cppunit/CompilerOutputter.h>
9
int main(int argc, char* argv[])
11
std::string testPath = (argc > 1) ? std::string(argv[1]) : "";
13
// Create the event manager and test controller
14
CppUnit::TestResult controller;
16
// Add a listener that colllects test result
17
CppUnit::TestResultCollector result;
18
controller.addListener(&result);
20
// Add a listener that print dots as test run.
21
CppUnit::BriefTestProgressListener progress;
22
controller.addListener(&progress);
24
// Add the top suite to the test runner
25
CppUnit::TestRunner runner;
26
runner.addTest(CppUnit::TestFactoryRegistry::getRegistry().makeTest());
29
std::cout << "Running " << testPath;
30
runner.run(controller, testPath);
32
std::cerr << std::endl;
34
// Print test in a compiler compatible format.
35
CppUnit::CompilerOutputter outputter(&result, std::cerr);
38
catch(std::invalid_argument &e){
39
std::cerr << std::endl
40
<< "ERROR: " << e.what()
45
return result.wasSuccessful() ? 0 : 1;