Step Status
- Updated2025-07-23
- 3 minute(s) read
Every step has a ResultStatus property, which is a string constant that indicates the result of the step execution. Although TestStand imposes no restrictions on the values to which the step or the code module of the step can set the status property, TestStand and the built-in step types use and recognize the values that appear in the following table.
| String Value | Meaning | Source of the Status Value |
|---|---|---|
| Passed | Indicates the step performed a test that passed, or the step did not execute because the run mode for the step is Force Pass. | Step, code module, or TestStand |
| Failed | Indicates the step performed a test that failed, or the step did
not execute because the run mode for the step is Force Fail. When you enable the Step Failure Causes Sequence Failure option on the Run Options panel of the Step Settings pane, TestStand sets the sequence status to Failed when a step fails. When the sequence returns as Failed, the Sequence Call step also fails. In this way, a step failure in a subsequence can propagate up through the chain of Sequence Call steps. By default, TestStand enables the Step Failure Causes Sequence Failure option for most step types. You can also control how execution proceeds after a step failure causes a sequence to fail. To configure an execution to jump to the Cleanup step group upon failure, enable the Immediately Goto Cleanup on Sequence Failure option in the Sequence Properties dialog box. By default, TestStand disables this option. |
Step, code module, or TestStand |
| Error | Indicates a run-time error occurred. | TestStand |
| Done | Indicates the step completed without setting the status. | TestStand |
| Terminated | Indicates the step did not set the status and a request to
terminate the execution occurred while executing the step. When you request to terminate an execution, the currently executing sequence invocation for each thread waits for the current running step to complete before initiating termination. A terminating sequence runs steps in the Cleanup step group, if not already executing, and returns to the calling sequence. When a terminating subsequence returns to a calling sequence, TestStand sets the calling sequence step status to Terminated, and the calling sequence continues the termination process up the call stack unless you enabled the Ignore Termination option on the Run Options panel of the Step Settings pane for the Sequence Call step. When you enable this setting, TestStand ignores the termination of the execution for the thread, and the thread execution continues normally. If TestStand returns the request to terminate the execution to the root sequence invocation, the result status for the execution is Terminated. |
TestStand |
| Skipped | Indicates the step did not execute because the run mode for the step is Skip. | TestStand |
| Running | Indicates the step is currently running. | TestStand |
| Looping | Indicates the step is currently running in loop mode. | TestStand |
Failures
When you enable the Step Failure Causes Sequence Failure option on the Run Options panel of the Step Settings pane, TestStand sets the sequence status to Failed when a step fails. When the sequence returns as Failed, the Sequence Call step also fails. In this way, a step failure in a subsequence can propagate up through the chain of Sequence Call steps. By default, TestStand enables the Step Failure Causes Sequence Failure option for most step types.
You can also control how execution proceeds after a step failure causes a sequence to fail. To configure an execution to jump to the Cleanup step group upon failure, enable the Immediately Goto Cleanup on Sequence Failure option in the Sequence Properties dialog box. By default, TestStand disables this option.
Terminations
When you request to terminate an execution, the currently executing sequence invocation for each thread waits for the current running step to complete before initiating termination. A terminating sequence runs steps in the Cleanup step group, if not already executing, and returns to the calling sequence. When a terminating subsequence returns to a calling sequence, TestStand sets the calling sequence step status to Terminated, and the calling sequence continues the termination process up the call stack unless you enabled the Ignore Termination option on the Run Options panel of the Step Settings pane for the Sequence Call step. When you enable this setting, TestStand ignores the termination of the execution for the thread, and the thread execution continues normally. If TestStand returns the request to terminate the execution to the root sequence invocation, the result status for the execution is Terminated.