static void showTestHelp (void) { int TestNr; int i; if ( TestName[0]=='\0' ) { puts("Use `-H' with a test name to get a description of the test!\n"); puts("List of available test:"); i=0; while ( Tests[i].TestName[0] != '\0' ) { printf("\t`%s'\n",Tests[i].TestName); ++i; } return; } TestNr=findTest(); if ( TestNr==(-1) ) return; puts("Test description:\n"); puts(Tests[TestNr].TestDesc); puts(""); }
void ut_reportTest(const char *testName) { Test t = findTest(testName); const char *result; if (0 == t) { if (0 != testName) { return; } t = currentTest; if (0 == t) { return; } } switch (t->pass) { case -1: result = "Skipped"; break; case 0: result = "FAILED"; break; case 1: default: result = "Passed"; break; } ut_print("%s: %s", t->name, result); }
int NDBT_TestSuite::executeOneCtx(Ndb_cluster_connection& con, const NdbDictionary::Table *ptab, const char* _testname) { testSuiteTimer.doStart(); do{ if(tests.size() == 0) break; if (opt_stop_on_error != 0 && numTestsFail > 0) break; Ndb ndb(&con, "TEST_DB"); ndb.init(1024); Ndb_internal::setForceShortRequests(&ndb, m_forceShort); int result = ndb.waitUntilReady(300); // 5 minutes if (result != 0){ g_err << name <<": Ndb was not ready" << endl; break; } char buf[64]; // For timestamp string ndbout << name << " started [" << getDate(buf, sizeof(buf)) << "]" << endl; ndbout << "|- " << ptab->getName() << endl; if (_testname == NULL) { for (unsigned t = 0; t < tests.size(); t++) { if (opt_stop_on_error != 0 && numTestsFail > 0) break; execute(con, tests[t], ptab); } if (numTestsFail > 0) break; } else { NDBT_TestCase * pt = findTest(_testname); if (pt != NULL) { execute(con, pt, ptab); } } } while(0); testSuiteTimer.doStop(); int res = report(_testname); return NDBT_ProgramExit(res); }
void ut_resetTest(const char *testName) { Test t = findTest(testName); if (0 == t) { if (0 != testName) { return; } t = currentTest; if (0 == t) { return; } } t->pass = -1; }
int NDBT_TestSuite::executeAll(Ndb_cluster_connection& con, const char* _testname){ if(tests.size() == 0) { g_err << "Size of test == 0" << endl; return NDBT_FAILED; } char buf[64]; // For timestamp string ndbout << name << " started [" << getDate(buf, sizeof(buf)) << "]" << endl; testSuiteTimer.doStart(); if(!runonce) { for (int t=0; t < NDBT_Tables::getNumTables(); t++){ const NdbDictionary::Table* ptab = NDBT_Tables::getTable(t); ndbout << "|- " << ptab->getName() << endl; execute(con, ptab, _testname); } } else { NdbDictionary::Table * pTab = 0; if (_testname == NULL) { for (unsigned i = 0; i < tests.size(); i++) { if (opt_stop_on_error != 0 && numTestsFail > 0) break; execute(con, tests[i], pTab); } } else { NDBT_TestCase * pt = findTest(_testname); if (pt != 0) execute(con, pt, pTab); } } testSuiteTimer.doStop(); return reportAllTables(_testname); }
void NDBT_TestSuite::execute(Ndb_cluster_connection& con, const NdbDictionary::Table* pTab, const char* _testname){ if (_testname == NULL) { for (unsigned t = 0; t < tests.size(); t++) { if (opt_stop_on_error != 0 && numTestsFail > 0) break; if (tests[t]->m_all_tables && tests[t]->m_has_run) { continue; } if (tests[t]->isVerify(pTab) == false) { continue; } execute(con, tests[t], pTab); } } else { do { NDBT_TestCase * pt = findTest(_testname); if (pt == NULL) break; if (pt->m_all_tables && pt->m_has_run) break; if (pt->isVerify(pTab) == false) break; execute(con, pt, pTab); } while(0); } }
int main() { int all = 0; if (sortTest()){all++;} else{std::cout<<"sortTest failed\n";} if(reverseSortTest()){all++;} else{std::cout<<"reverseSortTest failed\n";} if(bogoSortTest()){all++;} else{std::cout<<"bogoSortTest failed\n";} if(findTest()){all++;} else{std::cout<<"findTest failed\n";} if(replaceTest()){all++;} else{std::cout<<"replaceTest failed\n";} if(all == 5){std::cout<<"All Tests Passed! :)\n";} }
int main( int argc, char* argv[] ) { int HelpOnly=0; int TestNr; int Done=0; int rc; fprintf(stderr,"ezV24 library -- simple test application\ncompiled: "__DATE__"\n\n"); optind=1; /* start without prog-name */ do { switch( getopt(argc,argv,"lnHNrxdhwp:t:") ) { case 'p': if ( optarg ) { strncpy(MyPortName,optarg,V24_SZ_PORTNAME); MyPortName[V24_SZ_PORTNAME]='\0'; fprintf(stderr,"info: use port `%s'\n",MyPortName); } break; case 't': if ( optarg ) { MyTimeOut=atoi(optarg); if ( MyTimeOut==0 && *optarg!='0' ) fputs("warning: invalid timeout parm ingnored!\n",stderr); } break; case 'l': MyOpenFlags |= V24_LOCK; fputs("info: open with V24_LOCK\n",stderr); break; case 'n': MyOpenFlags |= V24_NO_DELAY; fputs("info: open with V24_NO_DELAY\n",stderr); break; case 'r': MyOpenFlags |= V24_RTS_CTS; fputs("info: open with V24_RTS_CTS\n",stderr); break; case 'x': MyOpenFlags |= V24_XON_XOFF; fputs("info: open with V24_XON_XOFF\n",stderr); break; case 'd': MyOpenFlags |= V24_DEBUG_ON; fputs("info: open with V24_DEBUG_ON\n",stderr); break; case 'H': HelpOnly=1; break; case 'N': ExecutionEnabled=0; fputs("info: test execution disabled.\n",stderr); break; case 'w': WantWait=1; fputs("info: test specific wait enabled.\n",stderr); break; case 'h': // user want's help case '?': // getopt3() reports invalid option usage(); exit(1); default: Done=1; } } while (!Done); if ( optind < argc ) { strncpy(TestName,argv[optind],sizeof(TestName)-2); TestName[sizeof(TestName)-2]='\0'; } else { if ( !HelpOnly ) { fputs("error: you have to select a test.\n",stderr); return 2; } } if ( HelpOnly ) { showTestHelp(); return 0; } TestNr=findTest(); if ( TestNr < 0 ) return 2; if ( *MyPortName=='\0' ) { fputs("error: you have to specify a portname using parm `-p'!\n",stderr); return 1; } installSignalhandler(); /* First we have to open the port. */ if ( MyPortName[0]=='\0' ) { fputs("error: use option -p to specify a valid port!\n",stderr); return 1; } UsedPort=v24OpenPort(MyPortName,MyOpenFlags); if ( UsedPort==NULL ) { fputs("error: sorry, open failed!\n",stderr); return 1; } fputs("info: port opened!\n",stderr); /* than we have to configure the port. */ rc=v24SetParameters(UsedPort,V24_B9600,V24_8BIT,V24_NONE); if ( rc!=V24_E_OK ) { dumpErrorMessage(rc); v24ClosePort(UsedPort); return 1; } fputs("info: parameter set to 9600,8,N,1\n",stderr); if ( MyTimeOut > 0 ) { rc=v24SetTimeouts(UsedPort,MyTimeOut*10); if ( rc==V24_E_NOT_IMPLEMENTED ) fputs("info: setup of timeout is not available!\n",stderr); else if ( rc!=V24_E_OK ) { dumpErrorMessage(rc); v24ClosePort(UsedPort); return 1; } else fprintf(stderr,"info: timeout is set to %dsec\n",MyTimeOut); } if ( TestNr>=0 && ExecutionEnabled ) { rc = Tests[TestNr].theTest(); if ( rc!=V24_E_OK ) fprintf(stderr,"error: test returns #%d\n",rc); } /* At the end of all the stuff, we have close the port. ;-) */ rc=v24ClosePort(UsedPort); if ( rc!=V24_E_OK ) dumpErrorMessage(rc); else fputs("info: port closed!\n",stderr); return 0; }
void ut_init(int argc, char **argv, const char *groupName, Test allTests) { Test t; char *appName = *argv; char *a; int runAll = 1; ut_out = stdout; tests = allTests; group = groupName; for (t = tests; t->name != 0; t++) { t->pass = -1; t->run = 0; } argc--; argv++; for (; 0 < argc; argc--, argv++) { a = *argv; if (0 == strcmp("-o", a)) { argc--; argv++; if (0 == (ut_out = fopen(*argv, "a"))) { printf("Failed to open %s\n", *argv); usage(appName); } } else if (0 == strcmp("-c", a)) { argc--; argv++; if (0 == (ut_out = fopen(*argv, "w"))) { printf("Failed to open %s\n", *argv); usage(appName); } } else if (0 == strcmp("-v", a)) { ut_verbose += 1; } else { if (0 == (t = findTest(a))) { printf("%s does not contain test %s\n", group, a); usage(appName); } t->run = 1; runAll = 0; } } if (runAll) { for (t = tests; t->name != 0; t++) { t->run = 1; } } ut_print("%s tests started\n", group); for (currentTest = tests; currentTest->name != 0; currentTest++) { if (currentTest->run) { if (2 <= ut_verbose) { printf(">>> %s\n", currentTest->name); } currentTest->func(); if (2 <= ut_verbose) { printf("<<< %s\n", currentTest->name); } } } }
bool UGUITestBase::isNewTest(HI::GUITest *test, TestType testType) { return test && !findTest(test->getFullName(), testType); }