Example #1
0
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;
}
Example #2
0
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);
  }
}