bool CSMesExecution::_selectExecutionsComparaisonUpdateInstrumentation(const Executions::modules_executions_t &execution,CSMesInstrumentations &_instrumentations,Instrumentation::coverage_method_t method,const bool &abort_operation) const { CSMesInstrumentations::Modules::Iterator modit ; for (modit = _instrumentations.modules.begin(); modit != _instrumentations.modules.end(); ++modit ) { if (abort_operation) return false; const Executions::executions_t &mes=execution.executions[modit.key()]; // Propagate the state in the equivalent measurements CSMesInstrumentations::Sources::Iterator srcit; for ( srcit = modit.value().sources.begin(); srcit != modit.value().sources.end(); ++srcit ) { QString cur_source=srcit.key(); CSMesInstrumentations::Instrumentations *inst_p=&(srcit.value().instrumentations); int sz=inst_p->size(); int instrument_id; for (instrument_id=0;instrument_id<sz;instrument_id++) { /* set the current instrumentation */ Instrumentation &ins=(*inst_p)[instrument_id]; setExecutionState(ins,mes,method); ASSERT(ins.status(1,method)!=Instrumentation::STATUS_UNKNOWN); for (Instrumentation *equiv=ins.getEquivalent();equiv!=&ins;equiv=equiv->getEquivalent()) equiv->copyExecutionState(ins); } } } return true; }
bool CSMesExecution::_limitExecutionCountToOne(Executions::modules_executions_t &execution,CSMesInstrumentations &_instrumentations,Instrumentation::coverage_method_t method,const bool &abort_operation) const { clearExecutions(_instrumentations); CSMesInstrumentations::Modules::Iterator modit ; for (modit = _instrumentations.modules.begin(); modit != _instrumentations.modules.end(); ++modit ) { if (abort_operation) return false; Executions::executions_t &mes=execution.executions[modit.key()]; if (mes.size()==0) continue; // Propagate the state in the equivalent measurements CSMesInstrumentations::Sources::Iterator srcit; for ( srcit = modit.value().sources.begin(); srcit != modit.value().sources.end(); ++srcit ) { QString cur_source=srcit.key(); CSMesInstrumentations::Instrumentations *inst_p=&(srcit.value().instrumentations); int sz=inst_p->size(); int instrument_id; for (instrument_id=0;instrument_id<sz;instrument_id++) { /* set the current instrumentation */ int i; Instrumentation &ins=(*inst_p)[instrument_id]; for (i=ins.getMinIndex();i<=ins.getMaxIndex();i++) { if (static_cast<int>(mes[i])>1) mes[i]=static_cast<Instrumentation::execution_state_t>(1); } setExecutionState(ins,mes,method); for (i=ins.getMinIndex();i<=ins.getMaxIndex();i++) { if (ins.executionCount(i)>1 && static_cast<int>(mes[i])>0) mes[i]=Instrumentation::EXECUTION_STATE_NOT_EXECUTED; } for (Instrumentation *equiv=ins.getEquivalent();equiv!=&ins;equiv=equiv->getEquivalent()) equiv->copyExecutionState(ins); } } } return true; }
UINT KeepAliveThread::run() { for(;;) { setExecutionState(m_flags); Sleep(60000); } }