The status expression for the Pass/Fail step type does not look to see if the status has been previously set by the code module.
Step.DataSource != "Step.Result.PassFail" ?
Step.Result.PassFail = Evaluate(Step.DataSource) :
False, Step.Result.PassFail ? "Passed" : "Failed"
It just set it to Passed or Failed even if the status is already "Failed".
You could use two steps, a Sequence Call and a Pass/Fail that uses the None Adapter. The Pass/Fail could operate on the previous step if necessary.
Scott Richardson - NI
Scott Richardson
https://testeract.com