slcoverage.Filter class

Пакет: slcoverage

Фильтр покрытия устанавливается

Описание

Создайте объект фильтра покрытия, чтобы добавить правила фильтра в.

Конструкция

filt = slcoverage.Filter() создает slcoverage.Filter объект.

filt = slcoverage.Filter(filterFile) добавляют правила фильтра в filterFile к фильтру.

Входные параметры

развернуть все

Отфильтруйте файл (.cvf файл) в виде вектора символов пути к файлу. Вы не должны включать расширение.

Пример: 'myfilt', 'filters/myfilt'

Методы

addRuleДобавьте правило фильтрации покрытия отфильтровать
removeRuleУдалите правило из набора правила фильтра
правилаПравила для фильтра

Примеры

свернуть все

Создайте объект фильтра и добавьте правило в него. В этом примере вы добавляете правило исключить некоторые блоки из тестирования покрытия.

Откройте модель. Задайте настройки покрытия и включите запись покрытия.

modelName = 'sldemo_lct_bus';
open_system(modelName);
set_param(modelName,'CovMetricSettings','dcme','RecordCoverage','on');

Выберите блоки с типом блока 'RelationalOperator' чтобы добавить фильтр управляют для.

bl = slcoverage.BlockSelector(slcoverage.BlockSelectorType.BlockType,'RelationalOperator');

Создайте объект фильтра, создайте правило и добавьте правило в фильтр.

filt = slcoverage.Filter;
rule = slcoverage.FilterRule(bl,'Tested elsewhere',slcoverage.FilterMode.Exclude);
filt.addRule(rule);

После того, как вы создаете фильтр и добавляете одно или несколько правил в него, сохраняете фильтр в файл. Симулируйте модель для покрытия кода. Добавьте файл фильтра как значение к filter свойство получившегося cvdata объект.

filt.save('blfilter');
csim = cvsim(modelName);
csim.filter = 'blfilter';
cvhtml('cov',csim);

Исследуйте отчет HTML и заметьте правила, которые были добавлены для блоков. Отчет покрытия показывает исключенные блоки и объяснение.

Этот пример принимает, что у вас есть два существующих файла фильтра, myfilt1.cvf и myfilt2.cvf. Симулируйте модель для покрытия. Добавьте файлы фильтра в filter свойство получившегося cvdata объект.

csim = cvsim(modelName);
csim.filter = {'myfilt1', 'myfilt2'};
cvhtml('cov',csim);

Этот пример принимает, что у вас есть существующий файл фильтра myfilt.cvf то, что вы хотите добавить правило в. Создайте объект фильтра, который использует тот файл. Добавьте правило в объект фильтра и затем сохраните файл снова.

filt = slcoverage.Filter('myfilt');
bl = slcoverage.BlockSelector(slcoverage.BlockSelectorType.BlockInstance,'sldemo_lct_bus:23');

rule = slcoverage.FilterRule(bl,'Edge case');
filt.addRule(rule);
filt.save('myfilt')
Введенный в R2017b