void run() override { testFreeFunctions(); testPrepare(); testSwap(); }
void IRCBot::testThread() { vector<_ircMii*>::iterator testIT; time_t startTime; bool done = false, done2 = true, fail = false; stringstream irc; testPrepare(); startTime = time(0); while( !done ) { // Check if all have returned for(testIT = _testMiis.begin(); testIT != _testMiis.end(); testIT++ ) { // is this test not done? if( ! (*testIT)->testDone() ) { done2=false; break; } } if(done2 || _testMiis.empty()) { done=true; break; } // 60 seconds past? if( time(0) - startTime > 60 ) { done = true; fail = true; break; } // Wait 2 seconds Sleep(2000); } // Did any fail? if(fail) { for(testIT = _testMiis.begin(); testIT != _testMiis.end(); testIT++ ) { // is this test not done? if( ! (*testIT)->testDone() ) { irc << (*testIT)->ircNickGet() << "4 Failed"; speak("Test", irc, _testChannel); irc.str(""); } } } // fail irc.str(""); irc << "Complete"; speak("Test", irc, _testChannel); _testMiis.clear(); delete _testThread; _testThread = 0; }