Test Generation on Model with C Caller Block
This example shows how to use test generation on a model with a C Caller block and custom C code
Open the model containing the C Caller block and custom code
open_system('sldvexCCallerBlockExample');
Generate tests to ensure coverage of the model
Use the sldvrun
function to run Simulink ® Design Verifier ™ analysis.
opts = sldvoptions; opts.Mode = 'TestGeneration'; opts.ModelCoverageObjectives = 'ConditionDecision'; opts.SaveHarnessModel = 'off'; opts.SaveReport = 'off'; [status, fileNames] = sldvrun('sldvexCCallerBlockExample', opts);
Checking compatibility for test generation: model 'sldvexCCallerBlockExample' Compiling model...done Building model representation...done 'sldvexCCallerBlockExample' is compatible for test generation with Simulink Design Verifier. Generating tests using model representation from 26-Feb-2022 15:29:31... .......... Completed normally. Generating output files: Results generation completed. Data file: /tmp/Bdoc22a_1891349_81585/tpc429d648/ex07804984/sldv_output/sldvexCCallerBlockExample/sldvexCCallerBlockExample_sldvdata.mat
Verify the coverage
Use the sldvruntest
function to verify that the test suite achieves complete model coverage.
[~, finalCov] = sldvruntest('sldvexCCallerBlockExample', fileNames.DataFile, [], true); cvhtml('Final Coverage', finalCov);
Clean Up
To complete the example, close all models.
close_system('sldvexCCallerBlockExample', 0);