void filterPattern(const std::vector<CppUnit::Test*> &from, std::vector<CppUnit::Test*> &to, QString pattern, bool includeOnMatch) { QRegExp regex(pattern); for (size_t i = 0; i < from.size(); i++) { CppUnit::Test* child = from[i]; QString name = QString::fromStdString(child->getName()); if (regex.exactMatch(name) == includeOnMatch) to.push_back(child); } }
int main (int argc, char* argv[]) { QApplication app(argc, argv); CppUnit::TextUi::TestRunner runner; CppUnit::TestFactoryRegistry& registry = CppUnit::TestFactoryRegistry::getRegistry(); CppUnit::Test *test = registry.makeTest(); if (argc > 1) test = test->findTest(argv[1]); runner.addTest(test); bool failed = runner.run("", false); return !failed; }
int main( int argc, char *argv[] ) { CppUnit::Test *suite = CppUnit::TestFactoryRegistry::getRegistry().makeTest(); if ( (argc > 2) || ((argc > 1) && (string(argv[1]) == "--help")) ) { string app( argv[0] ); cout << "Usage: " << app.substr( app.find_last_of('/') + 1 ) << " [test_case]" << endl << "Test cases:" << endl; for ( int i = 0; i < suite->getChildTestCount(); ++i ) cout << " " << suite->getChildTestAt(i)->getName() << endl; return 0; } CppUnit::TextTestRunner runner; runner.addTest( suite ); return runner.run( (argc > 1) ? argv[1] : "" ) ? 0 : 1; }
int main(int argc, char** argv) { // Get the top level suite from the registry CppUnit::Test *suite = CppUnit::TestFactoryRegistry::getRegistry().makeTest(); // Adds the test to the list of test to run CppUnit::TextUi::TestRunner runner; runner.addTest( suite ); #ifndef TESTNAME std::ofstream outputFile(std::string(suite->getName()+"-result.xml").c_str()); #else std::ofstream outputFile((std::string(TESTNAME)+std::string("-result.xml")).c_str()); #endif // Change the default outputter to a compiler error format outputter runner.setOutputter( new CppUnit::XmlOutputter( &runner.result(),outputFile ) ); // Run the tests. bool wasSucessful = runner.run(); outputFile.close(); // Return error code 1 if the one of test failed. return wasSucessful ? 0 : 1; }
int main(int testargc, char** testargv) { int rc = 0; #ifdef HAVE_LIBCPPUNIT static const KCmdLineOptions options[] = { { "+[test_suite]", ("Optionally specify a test suite"), 0 }, { "", ("Optional arguments are for ctest"), 0 }, KCmdLineLastOption // End of options. }; // we seem to need a KApplication object to use KGlobal::locale() KCmdLineArgs::init(testargc, testargv, testargv[0], "UNIT TESTS", "", "0.1"); KCmdLineArgs::addCmdLineOptions( options ); KApplication::disableAutoDcopRegistration(); KApplication app(false, false); #ifdef _CHECK_MEMORY _CheckMemory_Init(0); #endif // mymoney tests //CPPUNIT_TEST_SUITE_REGISTRATION(KReportsViewTest); CPPUNIT_TEST_SUITE_REGISTRATION(MyMoneyMapTest); CPPUNIT_TEST_SUITE_REGISTRATION(ConverterTest); CPPUNIT_TEST_SUITE_REGISTRATION(MyMoneyKeyValueContainerTest); CPPUNIT_TEST_SUITE_REGISTRATION(MyMoneySplitTest); CPPUNIT_TEST_SUITE_REGISTRATION(MyMoneyMoneyTest); CPPUNIT_TEST_SUITE_REGISTRATION(MyMoneyAccountTest); CPPUNIT_TEST_SUITE_REGISTRATION(MyMoneyScheduleTest); CPPUNIT_TEST_SUITE_REGISTRATION(MyMoneyDatabaseMgrTest); CPPUNIT_TEST_SUITE_REGISTRATION(MyMoneySeqAccessMgrTest); CPPUNIT_TEST_SUITE_REGISTRATION(MyMoneyFileTest); CPPUNIT_TEST_SUITE_REGISTRATION(MyMoneyObjectTest); CPPUNIT_TEST_SUITE_REGISTRATION(MyMoneyInstitutionTest); CPPUNIT_TEST_SUITE_REGISTRATION(MyMoneyFinancialCalculatorTest); CPPUNIT_TEST_SUITE_REGISTRATION(MyMoneyTransactionTest); CPPUNIT_TEST_SUITE_REGISTRATION(MyMoneySecurityTest); CPPUNIT_TEST_SUITE_REGISTRATION(MyMoneyForecastTest); CPPUNIT_TEST_SUITE_REGISTRATION(MyMoneyExceptionTest); CPPUNIT_TEST_SUITE_REGISTRATION(MyMoneyObserverTest); CPPUNIT_TEST_SUITE_REGISTRATION(MyMoneyPriceTest); CPPUNIT_TEST_SUITE_REGISTRATION(MyMoneyPayeeTest); CPPUNIT_TEST_SUITE_REGISTRATION(PivotGridTest); CPPUNIT_TEST_SUITE_REGISTRATION(PivotTableTest); CPPUNIT_TEST_SUITE_REGISTRATION(QueryTableTest); // off we go CppUnit::TestFactoryRegistry ®istry = CppUnit::TestFactoryRegistry::getRegistry(); // run all tests if no test is specified on the command line // this way, CTest can perform each test individually CppUnit::Test *suite = registry.makeTest(); if (testargc>1) { try { suite = suite->findTest(testargv[1]); } catch(const std::invalid_argument &ex) { // oh, cmake perfomed bad at guessing the correct test names. std::cout << ex.what() << std::endl; // we output that the test passed since the test is deactivated return 0; } } CppUnit::TextTestRunner* runner = new CppUnit::TextTestRunner(); runner->addTest(suite); MyProgressListener progress; CppUnit::TestResultCollector result; runner->eventManager().addListener(&progress); runner->eventManager().addListener(&result); runner->run(); std::cout << "Tests were run with CPPUNIT version " CPPUNIT_VERSION << std::endl; rc = result.wasSuccessful() ? 0 : 1; delete runner; // make sure to delete the singletons before we start memory checking // to avoid false error reports // delete MyMoneyFile::instance(); #ifdef _CHECK_MEMORY chkmem.CheckMemoryLeak( true ); _CheckMemory_End(); #endif // _CHECK_MEMORY #else std::cout << "libcppunit not installed. no automatic tests available." << std::endl; #endif // HAVE_LIBCPPUNIT return rc; }