void * pipes_function(void * pointer) { INTERF *interf = (INTERF *) pointer; int i; char cadena[10]; ini_pipes(); calculate_next(); copy_pipes(); for (i = 0; i < NUM_PIPES; i++) current_pipes[i]->position = 123 + 35 * i; listo1 = 1; while (!crash() && !fcrash) { for (i = 0; i < NUM_PIPES && !fcrash; i++) { usleep(25000); sprintf(cadena, "%d", score); write_interf(interf, 0, 13, 70, cadena); current_pipes[i]->position--; print_pipe(interf, current_pipes[i]); if (current_pipes[i]->position <= 0) { erase_first(interf); score++; calculate_next_u(i); copy_pipes_u(i); current_pipes[i]->position = 87 + 123; } } } pthread_exit(NULL); }
void TestCasesHandler::getResponse() { string response = m_builder.getResponse(m_input.c_str()).c_str(); outputln("Response: " + response); if(!m_expectedAnswer.empty()) { if(response == m_expectedAnswer) { outputln("<p style=\"color:green\">[OK]</p>"); } else { outputln("<p style=\"color:red\">[FAILED]</p>"); } } else if(!m_keyWords.empty()) { typedef vector<string>::const_iterator VCI; bool allFound = true; for(VCI it = m_keyWords.begin(); it != m_keyWords.end(); ++it) { typedef tokenizer<char_separator<char> > tokenize; typedef tokenizer<char_separator<char> >::const_iterator CI; char_separator<char> sep(","); tokenize keyWordsToken((*it), sep); bool oneFound = false; for(CI it = keyWordsToken.begin(); it != keyWordsToken.end(); ++it) { string toLookFor = trim_copy(*it); if(find_first(response, toLookFor)) { erase_first(response, toLookFor); oneFound = true; break; } } if(oneFound == false) { allFound = false; } } if(allFound) { outputln("<p style=\"color:green\">[OK]</p>"); } else { outputln("<p style=\"color:red\">[FAILED]</p>"); } } else { outputln("[No expected answer or keywords given, ERROR]"); } outputln(""); }