NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Getting the PassFail Result for Step from New Execution Sub Sequence

Hello there,

Having a problem trying to determine the result of a Main Sequence step that resides in a New Execution sub-sequence. I'd just like to know the whether a particular step passed or failed from the top-level Main Sequence. I'm probably missing something very basic here.... I've tried to illustrate this with the attached example.

In the example, I'm figuring that because this is a new execution of the engine, that I'd probably have to reference RunState.xxxx.Seq["JoeBloggs"].Main[FredBloggs"].Result.Status I've tried to breakpoint before the top-level Main completes, to check the run-time value of my forced failure in the sub-sequence but I cannot locates the "Fail".

Any thoughts?

Example written in TS 3.5

Regards,
Chroma
0 Kudos
Message 1 of 7
(3,593 Views)
Hi Chroma,
 
Try   

Locals.ResultList[1].TS.SequenceCall.ResultList[0].Status

in your message popup expression.

 
Regards
Ray Farmer
 
Regards
Ray Farmer
0 Kudos
Message 2 of 7
(3,583 Views)
Superb Ray!

Duh! Many thanks, brain fade on the results list....

Thanks again.

-Chroma
0 Kudos
Message 3 of 7
(3,578 Views)
Hmmm.....

This works correctly but my top-level sequence uses mutiple For-Each loops (we're doing sweep tests), so using the ResultList approach will require some unwieldy mechanism to scan for my sub-sequence PassFail Status and check for the appropriate StepName.

Is it possible to reference the StepName to get the step result Status in a NewExecution sub-sequence?

Why am I doing all this? I'm looking to record yield information based on the PassFail criteria in two NewExecutions controlled by a top-level sequence. Both steps in the NewExecution sub-sequences must pass, to generate an overall test pass during my sweep.

Regards,
Chroma
0 Kudos
Message 4 of 7
(3,535 Views)
I'm a little confused, your original example does not show any ForEach loops, could you post an example of what exactly you are trying to do? Thanks.

Brandon Vasquez 
Applications Engineer
National Instruments

Brandon Vasquez | Software Engineer | Integration Services | National Instruments
0 Kudos
Message 5 of 7
(3,501 Views)
Brandon,

Apologies for the delay. Here's an example of yield sequence I'm looking for. It works but it would seem, there would be better ways to implement this, given that additional steps may knock-out the correct indexing of the sub-sequence step.

The zipped example enclosed uses the following mock data:

Locals.ResultList[3].TS.SequenceCall.ResultList[0].TS.StepName  => FredBloggs
Locals.ResultList[3].TS.SequenceCall.Sequence                              => JoeBloggs
Locals.ResultList[3].TS.SequenceCall.ResultList[0].Status               => Force Pass

Locals.ResultList[13].TS.SequenceCall.ResultList[0].TS.StepName
Locals.ResultList[13].TS.SequenceCall.Sequence
Locals.ResultList[13].TS.SequenceCall.ResultList[0].Status

Locals.ResultList[23].TS.SequenceCall.ResultList[0].TS.StepName
Locals.ResultList[23].TS.SequenceCall.Sequence
Locals.ResultList[23].TS.SequenceCall.ResultList[0].Status


Note: The example only covers the JoeBloggs sequence. BillyBloggs would span items 4, 14, 24 on the ResultList

Any thoughts anyone?

-Chroma
0 Kudos
Message 6 of 7
(3,446 Views)
I'm not aware of any better way to implement this off the top of my head, I think this is the main way to access this (which is rather annoying). If I find any new information on this I will let you know, though I am pretty sure the way you are currently doing this is the best approach.

Brandon Vasquez
Applications Engineer
National Instruments

Brandon Vasquez | Software Engineer | Integration Services | National Instruments
0 Kudos
Message 7 of 7
(3,418 Views)