int CTask::GetCaseResult(TestCase *pCase) { OPERATE_SET::iterator iterCur; OPERATE_SET::iterator iterEnd; if(READABLE == m_quoteConf.isValid) { for(unsigned int i=0;i<pCase->quoteOrder.uiProvidersTotal;i++) { iterCur = pCase->quoteOrder.quoteOp[i].begin(); iterEnd = pCase->quoteOrder.quoteOp[i].end(); for (; iterCur != iterEnd; ++iterCur) { printf_yellow("===============\n"); printf_yellow("msg(%d):result(%d),reason(%s)\n",iterCur->msgID,iterCur->result,iterCur->errReason); if(OPERATE_SUCC != iterCur->result) { pCase->status = WORKITEM_DONE_FAIL; strcpy(pCase->errReason,iterCur->errReason); m_uiFailCases++; g_log.error("[==ERROR==]msg(%d):result(%d),reason(%s)\n",iterCur->msgID,iterCur->result,iterCur->errReason); return ATF_FAIL; } } } } if(READABLE == m_exchgConf.isValid) { for(unsigned int i=0;i<pCase->exchgOrder.uiClientsTotal;i++) { iterCur = pCase->exchgOrder.exchgOp[i].begin(); iterEnd = pCase->exchgOrder.exchgOp[i].end(); for (; iterCur != iterEnd; ++iterCur) { printf_blue("===============\n"); printf_blue("msg(%d):result(%d),reason(%s)\n",iterCur->msgID,iterCur->result,iterCur->errReason); OP op =* iterCur; if(OPERATE_SUCC != op.result) { pCase->status = WORKITEM_DONE_FAIL; strcpy(pCase->errReason,op.errReason); m_uiFailCases++; g_log.info("[==ERROR==]msg(%d),result(%d),reason(%s)\n",op.msgID,op.result,op.errReason); //break; return ATF_FAIL; } } } } pCase->status = WORKITEM_DONE_SUCC; return ATF_SUCC; }
//-------------------------------------------------------------------------------------------------- static EN_JPEG_DECODE_STATUS MsDrv_WaitDone(void) { EN_JPEG_DECODE_STATUS eDecodeStatus = E_DECODING; UBOOT_TRACE("IN\n"); switch(MApi_JPEG_WaitDone()) { case E_JPEG_DEC_DONE: UBOOT_DEBUG("ApiWaitDone_state: E_JPEG_DEC_DONE\n"); eDecodeStatus = E_DECODE_DONE; break; case E_JPEG_DEC_FAILED: case E_JPEG_DEC_RST_ERROR: case E_JPEG_DEC_BITSTREAM_ERROR: UBOOT_ERROR("ApiWaitDone_state: E_JPEG_DEC_FAILED or E_JPEG_DEC_RST_ERROR or E_JPEG_DEC_BITSTREAM_ERROR\n"); UBOOT_ERROR("Baseline decode error\n"); eDecodeStatus = E_DECODE_ERR; break; case E_JPEG_DEC_MRBL_DONE: UBOOT_DEBUG("ApiWaitDone_state: E_JPEG_DEC_MRBL_DONE\n"); if(!MsDrv_PreLoadBuffer(E_JPEG_BUFFER_LOW)) { if(MApi_JPEG_GetErrorCode() == E_JPEG_STREAM_READ) eDecodeStatus = E_STREAM_READ_ERR; else eDecodeStatus = E_DECODE_ERR; } else { eDecodeStatus = E_DECODING; } break; case E_JPEG_DEC_MRBH_DONE: UBOOT_DEBUG("ApiWaitDone_state: E_JPEG_DEC_MRBH_DONE\n"); if(!MsDrv_PreLoadBuffer(E_JPEG_BUFFER_HIGH)) { if(MApi_JPEG_GetErrorCode() == E_JPEG_STREAM_READ) eDecodeStatus = E_STREAM_READ_ERR; else eDecodeStatus = E_DECODE_ERR; } else { eDecodeStatus = E_DECODING; } break; case E_JPEG_DEC_DECODING: default: MsDrv_DEBUG(printf_yellow("ApiWaitDone_state: E_JPEG_DEC_DECODING\n")); eDecodeStatus = E_DECODING; break; } UBOOT_TRACE("OK\n"); return eDecodeStatus; }
int CTask::report() { TestCase *pCase = m_casesList; m_uiSuccCases = m_uiTotalCases - m_uiFailCases; m_ulTimeTaskDone = time_diff_ms(m_stTimeStartTask,m_stTimeEndTask); int sec = m_ulTimeTaskDone/1000; int msec = m_ulTimeTaskDone%1000; if(0 == sec) { //g_log.info("[==========]%u tese cases ran.(%lu ms total)\n", m_uiTotalWorkItem, m_ulTimeTaskDone); printf_green("[==========]%u tese cases ran.(%lu ms total)\n", m_uiTotalCases, m_ulTimeTaskDone); } else { //g_log.info("[==========]%u tese cases ran.(%d.%d s total)\n", m_uiTotalWorkItem, sec, msec); printf_green("[==========]%u tese cases ran.(%d.%d s total)\n", m_uiTotalCases, sec, msec); } //g_log.info("[==PASSED==]%u tese cases!\n",m_succWorkItem); printf_green("[==PASSED==]%u tese cases!\n",m_uiSuccCases); if(m_uiFailCases > 0) { //g_log.info("[==FAILED==]%u tese cases,listed below:\n",m_failWorkItem); printf_red("[==FAILED==]%u tese cases,listed below:\n",m_uiFailCases); pCase = m_casesList; while(pCase != NULL) { if(WORKITEM_DONE_FAIL == pCase->status) { //g_log.info("[==FAILED==]%s\n",pItem->fileName); printf_red("[==FAILED==]%s(Reason: %s)\n",pCase->fileName,pCase->errReason); } pCase = pCase->next; } } printf_yellow("[==STATIC==]transactionName\t\ttotal \tlost \tsuccess \tavgTime(usec)\tminTime(usec)\tmaxTime(usec)\tmaxIdx\n"); printf_yellow("[==STATIC==]QuoteInterval \t\t%-19lld\t%-19lld\t%-19lld\t%-10d\t%-10d\t%-10d\t%-19lld\n", m_stQuoteIntervalStatic.quoteNum, m_stQuoteIntervalStatic.quoteNum - m_stQuoteIntervalStatic.quoteNum, m_stQuoteIntervalStatic.quoteNum, m_stQuoteIntervalStatic.avgQuoteInterval, m_stQuoteIntervalStatic.minQuoteInterval, m_stQuoteIntervalStatic.maxQuoteInterval, m_stQuoteIntervalStatic.maxIdx); printf_yellow("[==STATIC==]tradeProcTime \t\t%-19lld\t%-19lld\t%-19lld\t%-10d\t%-10d\t%-10d\t%-19lld\n", m_stQuoteIntervalStatic.quoteNum, m_stQuoteIntervalStatic.quoteNum - m_stTradeProcTimeStatic.tradeNum, m_stTradeProcTimeStatic.tradeNum, m_stTradeProcTimeStatic.avgTimeTradeProcess, m_stTradeProcTimeStatic.mixTimeTradeProcess, m_stTradeProcTimeStatic.maxTimeTradeProcess, m_stTradeProcTimeStatic.maxIdx); PrintResultToXML(); return ATF_SUCC; }