NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

How do I create multiple test reports during a single sequence execution?

I have a rather frustrating problem. A test I run quite often captures over a quarter million test results, and will be growing soon. I use text file report generation to keep size down, but I'm still writing about 45Mb (yes, Mb) to disk. My problem is that TestStand will no longer generate the test file at the end. It's pretty devastating to see an 8 hour test crash while the report is being generated because TS is out of memory.
 
So, the question is: How do I generate multiple test reports during a single sequence execution? My test can be broken into logical sections quite readily. It would be very handy to write the test report to file at the end of each section, clear the report from memory, and start over with the next section. There is a ton of configurability in the report generators, but I just don't have the time to dig into it to understand it.
0 Kudos
Message 1 of 2
(3,434 Views)
Hey Lars,

There isn't really going to be an easy way to configure TestStand to write a report and clear the report after each section of your code has executed.  I do have a couple of recommendations that might help though. The first is that you can do result filtering so if it is not absolutely necessary to see results of steps that just have a status of done, or if you only want to see the steps that fail or error, it is possible to configure this.  This should help cut down on the report size. You can configure result filtering from Configure>>Report Options.

You can also try using On the Fly Reporting which should log results after each step executes. You can also check the option to only display the latest results to help conserve memory.  This will probably slow down the execution of your test, but it should help with writing the report.

Another thing you might be able to do depending on how your test is set up is to run each block of code in it's own execution using a sequence call step configured to run as a new execution.  This would require that you break each chunk of code into a sequence, but it would create a seperate report for each sequence.

The last option would be to modify the process model.  This is going to be the hardest, but it would also be the most complete solution in terms of doing exactly what you want to do. I would recommend taking a look at the Single Pass execution entry point of the default sequential process model.  There are several steps that concern reporting which would need to be modified.  Hope this helps!
Pat P.
Software Engineer
National Instruments
Message 2 of 2
(3,414 Views)