NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Do not create a Report if UUT Passed

Hi together

 

I have configure one Result Processing for the all data, each Test and Limits and and and…..on Pass and on Fail.

 

I have tried configure a second Result Processing only for the Failed Steps (for better analyse the fails).

I do this over the “Result Filtering Expression”  with the option “Exclude Passed/Done/Skipped”.

The Problem is that when the UUT is Passed TS created a report only with the UUT Head. But I don’t won’t have this.

 

I try to upgrade the “Result Filtering Expression”  with:

Result.Status != "Passed" && Result.Status != "Done" && Result.Status != "Skipped" &&  RunState.Root.Parameters.UUTStatus != "Passed"

or

Result.Status != "Passed" && Result.Status != "Done" && Result.Status != "Skipped" &&  Parameters.UUTStatus != "Passed"

 

But then give it’s an error:

-17306; Unknown variable or property name.

 

Gives any easy solution for this Problem?

Download All
0 Kudos
Message 1 of 4
(2,559 Views)

Hi Wagner_CH,

 

there is unfortunately no configuration-based approach to achieve this. The NI_ReportGenerator is going to create the file regardless of the result. You can do the following things to achieve your goal:

1. take advantage of creating the path and file name of your report using the option "Specify Report File Path by Expression". Especially, by using the macro $(UUTStatus), you could let the report generator separate the passed and failed uut in different folders. Then you only need to delete the content of the "Passed" folder.


The advantage of this approach is that you won't need to modify any of the model code.

 

2. You could use the naming approach in 1. and additionally modify NI_ReportGenerator.seq to delete the unwanted report in a code module. In a small example I used the macro $(UUTStatus) to decide which file is to be deleted. I'm calling the code module in the sequence "Model Plugin - UUT Done" of the NI_ReportGenerator. Here the file gets written and you have access to the report file path (locals.ReportPath).

 

Advantage is that it takes care of deleting the "passed" reports for you but you need to be careful on how you filter what gets deleted and what is not. I'm using the filename to decide. The main disadvantage is that you are modifying the default behaviour of the NI report generator.

Andreas Gareis
Senior Applications Engineer, NI
Certified LabVIEW Developer & TestStand Architect
Download All
0 Kudos
Message 2 of 4
(2,520 Views)

Danke für die ausführliche Antwort.

 

Werde Variante 1 bevorzugen und am Schluss die Passed.txt mit einer Batch Datei lösch (del *Passed.txt /s /q ).

 

 

0 Kudos
Message 3 of 4
(2,506 Views)

I don't think you can stop the report from being generated, but you can certainly delete it in your sequence, especially if you'd rather not mess with ReportGenerator.  I usually get the report file path from: RunState.Root.Locals.ModelPluginConfiguration.Plugins[0].PluginSpecific.RuntimeVariables.PerSocket[0].Path

 

Plugins[0] assumes you're using the first option in your Result Processing and PerSocket[0] goes to the first (or only) test socket. 

 

I'll get the file path in PostUUT with that value and delete the file with a LabVIEW VI, but you could easily do a command line call.  Note that the New Thread option for Result Processing should be "Yes, Complete before next UUT" to ensure that the report is actually ready by PostUUT.

 

Pulido Technologies LLC

0 Kudos
Message 4 of 4
(2,478 Views)