MOAB: Mesh Oriented datABase
(version 5.4.1)
|
#include <cppunit/extensions/TestFactoryRegistry.h>
#include <cppunit/ui/text/TestRunner.h>
#include <cppunit/Outputter.h>
#include <cppunit/TestResultCollector.h>
#include <cppunit/TestFailure.h>
#include <cppunit/Test.h>
#include <cassert>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <vector>
#include <iostream>
#include "MsqFPE.hpp"
Go to the source code of this file.
Classes | |
class | SummaryOutput |
Functions | |
int | main (int argc, char **argv) |
int main | ( | int | argc, |
char ** | argv | ||
) |
Definition at line 55 of file msq_test_main.cpp.
References test.
{ CppUnit::Test* test; vector< CppUnit::Test* > test_list; CppUnit::TextUi::TestRunner runner; int firsttest = 1; bool list = false; MBMesquite::MsqFPE trap_fpe( true ); // Check for command line arguments if( argc > 2 && !strcmp( argv[1], "-s" ) ) { FILE* file = fopen( argv[2], "w" ); if( !file ) { perror( argv[2] ); exit( 1 ); } runner.setOutputter( new SummaryOutput( file, &runner.result() ) ); firsttest += 2; } else if( argc > 1 && !strcmp( argv[1], "-l" ) ) { ++firsttest; list = true; } // If the user requested a specific test... if( argc > firsttest ) { while( argc > firsttest ) { argc--; CppUnit::TestFactoryRegistry& registry = CppUnit::TestFactoryRegistry::getRegistry( argv[argc] ); test = registry.makeTest(); if( !test->countTestCases() ) { std::cerr << argv[argc] << ": does not match any test or group" << std::endl; return 1; } test_list.push_back( test ); } } // Otherwise do Unit and Regression suites else { test = CppUnit::TestFactoryRegistry::getRegistry( "Unit" ).makeTest(); test_list.push_back( test ); test = CppUnit::TestFactoryRegistry::getRegistry( "Regression" ).makeTest(); test_list.push_back( test ); } // If user just wants list of tests if( list ) { for( vector< CppUnit::Test* >::iterator i = test_list.begin(); i != test_list.end(); ++i ) { CppUnit::TestSuite* suite = dynamic_cast< CppUnit::TestSuite* >( *i ); if( !suite ) { cout << ( *i )->getName() << endl; continue; } const vector< CppUnit::Test* >& list = suite->getTests(); for( vector< CppUnit::Test* >::const_iterator j = list.begin(); j != list.end(); ++j ) cout << ( *j )->getName() << endl; } } // Otherwise run the tests else { for( vector< CppUnit::Test* >::iterator i = test_list.begin(); i != test_list.end(); ++i ) runner.addTest( *i ); return !runner.run(); } // Return 0 if there were no errors return 0; }