MATLAB: How to identify the last active step of a test sequence when the test run stopped (because of reaching a defined stop time) using Simulink Test R2020a

simulink test

When I run my tests using the Simulink Test Manager, there are some situations where my tests get finished because the stop time of the test case has been reached. When this timeout happens, I would like to know which was the active step right before the test stopped due to the stop time. That way, I could know where my test got stuck and why it needed a timeout to finish the test.
Is it possible to export the last step of my test sequence once it finishes?

Best Answer

To identify the last active step you could track the active steps in general. So you can evaluate after the simulation, which one was the last active step. To do so:
1) get the active step output through the Test Sequence block's property/option "Create data to monitor the active step"
2) log this output signal of the Test Sequence Block, like:
3) analyze which was the last step (in the command window):
as = get(out.logsout,('Active_Step'))
as.Values
as.Values.Data
%or
%as.Values.Data(end)
Related Question