Project

General

Profile

Actions

Bug #438

closed

Ошибка в сгенерированном отчете о покрытии

Added by Alexander Sortov about 14 years ago. Updated almost 14 years ago.

Status:
Closed
Priority:
Normal
Target version:
Start date:
09/15/2010
Due date:
% Done:

0%

Estimated time:
Detected in build:
2.8.307.100728
Platform:
Published in build:
2.8.310

Description

Для приведенного в приложении теста неправильно генерируется отчет о достигнутом покрытии (файлы coverage-ERROR.png, error.zip): для spec_B в таблице показаны покрытия, относящиеся к spec_A.
При этом в отчете для spec_B в столбцах coverages и branches прочерки.
Особенность теста в том, что spec_B не вызывается в сценарной функции, а вызывается только в функции инициализации сценария.

Если же отключить режим "отложенных реакций" (убрать #define DEFERRED_REACTIONS_MODE в coverage_error.sec), то отчет генерируется правильно (файлы coverage-OK.png, ok.zip).


Files

coverage_error.sec (2.56 KB) coverage_error.sec Alexander Sortov, 09/15/2010 07:25 PM
coverage-ERROR.png (23.3 KB) coverage-ERROR.png Alexander Sortov, 09/15/2010 07:25 PM
error.zip (15.5 KB) error.zip Alexander Sortov, 09/15/2010 07:25 PM
coverage-OK.png (22 KB) coverage-OK.png Alexander Sortov, 09/15/2010 07:25 PM
ok.zip (13.4 KB) ok.zip Alexander Sortov, 09/15/2010 07:25 PM
Actions #1

Updated by Alexey Demakov about 14 years ago

  • Project changed from CTESK to UniTESK Reports
  • Target version deleted (2.8)
Actions #2

Updated by Alexey Demakov about 14 years ago

Трассировка, устанавливающая режим работы тестовой системы с отложенными реакциями:
<scenario_value trace="2" kind="test engine property" type="String" name="Deferred Reactions Enabled"><![CDATA[true]]></scenario_value>
должна находиться до информации о покрытии. Но этот режим устанавливается вызовом функции setDeferredReactionsMode в init-функции сценария, а трассируется после трассировки этой функции. Если в этой функции есть вызовы спецификационных функций, информация об их покрытии собирается в режиме setDeferredReactionsMode(false), что и приводит к ошибкам.

Actions #3

Updated by Alexey Demakov about 14 years ago

  • Project changed from UniTESK Reports to CTESK
Actions #4

Updated by Alexey Demakov about 14 years ago

  • Status changed from New to Resolved
  • Platform deleted (Linux x86)
  • Published in build set to 2.8.310

Во всех существующих движках (dfsm, ndfsm, netndfsm) сразу после вызова traceScenarioStart вставлена трассировка
<scenario_value trace="2" kind="test engine property" type="String" name="Deferred Reactions Enabled">...

Чтобы значение этого свойства было правильным, необходимо либо вызвать setDeferredReactionsMode(true) ДО init функции сценария, либо установить поля saveModelState, restoreModelState, isStationaryState в структуре сценария и режим отложенных реакций будет установлен автоматически.

Интересно, а имеет ли смысл установка setDeferredReactionsMode(true) в init-функции сценария? Либо поля saveModelState, restoreModelState, isStationaryState установлены и этот режим установится автоматически, либо сценарий не будет работать.

Actions #5

Updated by Alexey Demakov about 14 years ago

  • Target version set to 2.8
Actions #6

Updated by Alexey Demakov almost 14 years ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF