cvtest

Create model coverage test specification object

Description

Use cvtest to create a test specification object that stores model coverage settings. Pass the cvtest object to the cvsim function to execute coverage analysis based on your settings.

Creation

Description

example

cvto = cvtest(root) creates a cvtest object with default coverage settings. root can be the name of a model or the handle to a model. root can also be the name or handle to a subsystem within the model, in which case only the specified subsystem and its descendents are analyzed for coverage.

cvto = cvtest(root,label) creates a cvtest object with the designated label.

cvto = cvtest(root,label,setupCmd) creates a cvtest object with the setup command setupCmd. The setup command is executed in the base MATLAB® workspace before running coverage analysis.

Input Arguments

expand all

Model name or handle, or path to a subsystem, specified as a character array or string array.

Properties

expand all

This property is read-only.

Internal model ID, returned as a scalar.

This property is read-only.

Internal coverage configuration ID, returned as a scalar.

This property is read-only.

Name of the system you specified to analyze, returned as a character array or string array.

Data Types: char | string

Test label, specified as a character array or a string array. This label appears in the coverage report as the test name.

Data Types: char | string

Command executed in base MATLAB workspace before simulation, specified as a character array or string array.

The setup command is executed before each simulation.

Data Types: char | string

Types of coverage to collect, specified as a structure.

settings includes the following fields:

Property

Description

Values

settings.decision

Enable decision coverage data.

1 (default) | 0

settings.condition

Enable condition coverage data.

1 | 0 (default)

settings.mcdc

Enable modified condition decision coverage (MCDC) data.

If settings.mcdc is enabled, you can also choose which definition of MCDC to use with the options.mcdcmode property.

1 | 0 (default)

settings.designverifier

Enable coverage data from Simulink® Design Verifier™ blocks.

1 | 0 (default)

settings.tableExec

Enable coverage data for lookup tables.

1 | 0 (default)

settings.sigrange

Enable signal range data.

1 | 0 (default)

settings.sigsize

Enable signal size data.

1 | 0 (default)

settings.overflowsaturation

Enable saturation on integer overflow coverage data.

1 | 0 (default)

settings.relationalop

Enable relational boundary coverage data.

Use options.covBoundaryRelTol and options.covBoundaryAbsTol to specify tolerances for this type of coverage.

For more information, see Relational Boundary Coverage

1 | 0 (default)

Advanced coverage options, specified as a structure.

options includes the following fields:

Property

Description

Values

options.covBoundaryRelTol

Relative tolerance for relational boundary coverage.

For more information, see Relational Boundary Coverage.

0.01 (default) | scalar

options.CovBoundaryAbsTol

Absolute tolerance for relational boundary coverage.

For more information, see Relational Boundary Coverage.

1e-5 (default) | scalar

options.useTimeInterval

Whether to restrict model coverage recording to a specified simulation time interval.

Use options.intervalStartTime and options.intervalStopTime to specify the time interval.

For more information, see Specify Coverage Options

1 | 0 (default)

options.intervalStartTime

When to start recording coverage.

Specify this property if options.useTimeInterval is enabled.

0 (default) | scalar

options.intervalStopTime

When to stop recording coverage.

Specify this property if options.useTimeInterval is enabled.

0 (default) | scalar

options.forceBlockReduction

Whether to record coverage for blocks flagged with the Block Reduction parameter.

  • 1 (default) — Override the Simulink Block Reduction parameter if it is enabled. Coverage is recorded for every supported block in the model. The value of the configuration parameter Block Reduction is ignored.

  • 0 — Use the value for the configuration parameter Block Reduction. If Block Reduction is enabled, coverage is not recorded for blocks that are effectively removed from the model because of block reduction. For instance, coverage is not recorded for a block that is reduced by dead code elimination.

For more information, see Block reduction

1 (default) | 0

options.mcdcMode

Which MCDC definition to apply to the model, specified as one of the following options:

  • 'masking' — Use the masking definition of MCDC coverage.

  • 'unique cause' — Use the unique cause definition of MCDC coverage.

For more information, see Modified Condition and Decision Coverage (MCDC) Definitions in Simulink Coverage.

'masking' (default) | 'unique cause'

Coverage filter, specified as a structure.

filter has one field, filter.fileName. filter.fileName is the name of a coverage filter file to apply to coverage analysis, specified as a character array or string array.

For more information, see Coverage Filter Rules and Files

Model reference settings, specified as a structure.

modelRefSettings includes the following fields:

Property

Description

Values

modelRefSettings.enable

Model reference coverage setting, specified as one of the following options:

  • 'off' — Disable coverage for all referenced models.

  • 'all' or 'on' — Enable coverage for all supported referenced models.

  • 'filtered' — Enable coverage for all supported referenced models except those listed in the excludedModels field.

'off' (default) | 'on' | 'all' | 'filtered'

modelRefSettings.excludeTopModel

Whether to exclude the top model from coverage analysis, specified as a numeric or logical 1 (true) or 0 (false).

1 (default) | 0

modelRefSettings.excludedModels

Referenced models to exclude from coverage analysis, specified as a single character or string array of comma-separated model names.

To use this field, set modelRefSettings.enable to 'filtered'.

char | string

Whether to collect coverage for external program files called by MATLAB functions in your model, specified as a structure.

emlSettings has one field, emlSettings.enableExternal. emlSettings.enableExternal is whether to collect external program files called by MATLAB functions, specified as a numeric or logical 1 (true)(default) or 0 (false).

Whether to collect coverage for C/C++ S-Function blocks in your model, specified as a structure.

sfcnSettings has one field, sfcnSettings.enableSfcn. sfcnSettings.enableSfcn is whether to collect coverage S-Function coverage, specified as a logical 1 (true)(default) or 0 (false).

For more information, see S-Function.

Examples

collapse all

In this example, you create a cvtest object for the Adjustable Rate Limiter block in the slvnvdemo_ratelim_harness model. Simulate the model to get decision coverage and saturation on integer overflow coverage data.

Open the slvnvdemo_ratelim_harness model and define the test object using cvtest.

open_system('slvnvdemo_ratelim_harness');
testObj = cvtest(['slvnvdemo_ratelim_harness', ...
		  '/Adjustable Rate Limiter']);
testObj.label = 'Gain within slew limits';

Add a setup command to testObj. The setup command is executed in the base MATLAB workspace before running the coverage analysis. In this case, the setup command loads data into the workspace that is required for the simulation.

testObj.setupCmd = ...
	'load slvnvdemo_ratelim_harness_data.mat';

To collect decision coverage and saturation on integer overflow coverage, enable the decision and overflowsaturation fields in the settings structure by setting the fields to 1.

testObj.settings.decision = 1;
testObj.settings.overflowsaturation = 1;

Finally, simulate the model with the coverage analysis by providing the cvtest object to the cvsim function.

cvdo = cvsim(testObj);
Introduced before R2006a