mirror of
https://github.com/taglib/taglib.git
synced 2025-11-08 02:34:28 -05:00
Add a CppUnit-based test suite (only very few things is covered for now, but it's a start).
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@734995 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
This commit is contained in:
46
tests/main.cpp
Normal file
46
tests/main.cpp
Normal file
@ -0,0 +1,46 @@
|
||||
#include <stdexcept>
|
||||
#include <cppunit/TestResult.h>
|
||||
#include <cppunit/TestResultCollector.h>
|
||||
#include <cppunit/TestRunner.h>
|
||||
#include <cppunit/extensions/TestFactoryRegistry.h>
|
||||
#include <cppunit/BriefTestProgressListener.h>
|
||||
#include <cppunit/CompilerOutputter.h>
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
std::string testPath = (argc > 1) ? std::string(argv[1]) : "";
|
||||
|
||||
// Create the event manager and test controller
|
||||
CppUnit::TestResult controller;
|
||||
|
||||
// Add a listener that colllects test result
|
||||
CppUnit::TestResultCollector result;
|
||||
controller.addListener(&result);
|
||||
|
||||
// Add a listener that print dots as test run.
|
||||
CppUnit::BriefTestProgressListener progress;
|
||||
controller.addListener(&progress);
|
||||
|
||||
// Add the top suite to the test runner
|
||||
CppUnit::TestRunner runner;
|
||||
runner.addTest(CppUnit::TestFactoryRegistry::getRegistry().makeTest());
|
||||
|
||||
try {
|
||||
std::cout << "Running " << testPath;
|
||||
runner.run(controller, testPath);
|
||||
|
||||
std::cerr << std::endl;
|
||||
|
||||
// Print test in a compiler compatible format.
|
||||
CppUnit::CompilerOutputter outputter(&result, std::cerr);
|
||||
outputter.write();
|
||||
}
|
||||
catch(std::invalid_argument &e){
|
||||
std::cerr << std::endl
|
||||
<< "ERROR: " << e.what()
|
||||
<< std::endl;
|
||||
return 0;
|
||||
}
|
||||
|
||||
return result.wasSuccessful() ? 0 : 1;
|
||||
}
|
||||
Reference in New Issue
Block a user