Main Content

Test Generation for Custom Code in a Stateflow Chart

This example shows how to use test generation on a model with custom code in a Stateflow® chart.

Open the Model Containing Custom Code in a Stateflow Chart

open_system('sldvSFCustomCodeExample');

Generate Tests to Ensure Coverage of the Model

Use the sldvrun function to run the Simulink® Design Verifier™ analysis.

opts = sldvoptions;
opts.Mode = 'TestGeneration';
opts.ModelCoverageObjectives = 'ConditionDecision';
opts.SaveHarnessModel = 'off';
opts.SaveReport = 'off';

[status, fileNames] = sldvrun('sldvSFCustomCodeExample', opts);
17-Jul-2025 16:35:41
Checking compatibility for test generation: model 'sldvSFCustomCodeExample'
Compiling model...done
Building model representation...done

17-Jul-2025 16:35:58

'sldvSFCustomCodeExample' is compatible for test generation with Simulink Design Verifier.

Generating tests using model representation from 17-Jul-2025 16:35:58...

..........
17-Jul-2025 16:36:07

Completed normally.

Generating output files:

17-Jul-2025 16:36:09
Results generation completed.

    Data file:
    /tmp/Bdoc25a_2974004_185576/tpe020b753/sldv-ex18712703/sldv_output/sldvSFCustomCodeExample/sldvSFCustomCodeExample_sldvdata.mat

Verify the Coverage

Use the sldvruntest function to verify that the test suite achieves complete model coverage.

[~, finalCov] = sldvruntest('sldvSFCustomCodeExample', fileNames.DataFile, [], true);
cvhtml('Final Coverage', finalCov);

Clean Up

To complete the example, close all models.

close_system('sldvSFCustomCodeExample', 0);