Changeset 689 for library/tests/testsuite.cpp
- Timestamp:
- 11/02/09 01:09:42 (15 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
library/tests/testsuite.cpp
r565 r689 6 6 #include <string.h> 7 7 8 using std::cout; 9 using std::cerr; 10 using std::endl; 11 8 12 using namespace itpp; 9 13 10 14 Array<const char *> selected_tests; 11 15 12 bool is_selected_test ( const UnitTest::Test *test ) {16 bool is_selected_test ( const UnitTest::Test *test ) { 13 17 bdm_assert_debug ( test, "NULL test" ); 14 18 15 if ( !selected_tests.length()) {19 if ( !selected_tests.length() ) { 16 20 return true; 17 21 } 18 22 19 for ( int i = 0; i < selected_tests.length(); ++i) {23 for ( int i = 0; i < selected_tests.length(); ++i ) { 20 24 const char *n = test->m_details.testName; 21 25 bdm_assert_debug ( n, "NULL test name" ); 22 const char *sname = selected_tests (i);26 const char *sname = selected_tests ( i ); 23 27 bdm_assert_debug ( sname, "NULL selected test name" ); 24 28 if ( !strcmp ( n, sname ) ) { … … 32 36 int main ( int argc, char const *argv[] ) { 33 37 if ( argc > 1 ) { 34 selected_tests.set_length( argc - 1 ); 35 const char **param = argv + 1; 36 int i = 0; 37 while ( *param ) { 38 selected_tests ( i ) = *param; 39 ++i; 40 ++param; 38 if ( !strcmp ( argv[1], "print" ) ) { 39 UnitTest::Test* curTest = UnitTest::Test::GetTestList().GetHead(); 40 41 while ( curTest != 0 ) { 42 const char *n = curTest->m_details.testName; 43 printf ( "%s\n", n ); 44 curTest = curTest->next; 45 } 46 return 0; 47 } else { 48 selected_tests.set_length ( argc - 1 ); 49 const char **param = argv + 1; 50 int i = 0; 51 while ( *param ) { 52 selected_tests ( i ) = *param; 53 ++i; 54 ++param; 55 } 41 56 } 57 } else { 58 cout << "usage: " << endl << 59 "\"" << argv[0] << "\" - to run all unit tests " << endl << 60 "\"" << argv[0] << " particular_test_1 particular_test_2\" - to run selected unit tests" << endl << 61 "\"" << argv[0] << " print\" - to print all the implemented unit tests" << endl; 42 62 } 43 63 … … 47 67 UnitTest::TestRunner runner ( reporter ); 48 68 return runner.RunTestsIf ( UnitTest::Test::GetTestList(), 49 50 51 69 0, 70 is_selected_test, 71 0 ); 52 72 }