08-15-2025 11:05 AM
TestStand 2023 Q4
I was using the Process Cleanup callback in the Sequential model to move the completed reports, ATML 5 and resulting HTML, to the destination directory. I cannot set the directory using the ReportOptions callback since it requires information read from the st step of my MainSequence but it runs prior to the MainSequence executing.
I need to wait to make sure that the XMLand HTML files are complete before moving, so I thought that the ProcessCleanup callback should work. It works if I am using the Test UUTs option but the files are not created until during or after when using the Single Pass option which is what is used the majority of the time since we are using TestStand as part of a HIL to test embedded software and not hardware.
I worked around the issue by making a local copy of the SequentialModel.seq and adding a new step at the end of each sequence to do the file move which was implemented in a Python module. This just makes it harder to work across teams and stations since they now rely on a different version of the SequentialModel.seq file especially since the configuration information (similar to the search cfg file) are not included as part of the workspace.
I cannot upgrade the version of TestStand since newer versions do not support VeriStand.
Is this the expected result that the 2 sequential model sequences have a different timing as to when the reports are completed?
Thanks
Randy
08-18-2025 01:59 AM
Hi Randy,
to abstract what you are trying to do: you need to copy reports after the creation and you want this to happen after each UUT no matter which EntryPoint you are using.
Right?
08-18-2025 09:08 AM
That is correct; move the reports after each UUT test for either entry point. This is only because I cannot set the report directory dynamically before MainSequence is started.
Thanks
Randy
08-18-2025 11:24 PM
In SequentialModel.seq, the report is created and saved during Model PlugIns - UUT Done, so somwhere around PostUUT would be a good accaosion to do the copyiing.
Here you have two possibilities:
Though no matter how you implement this, you have to make sure, the threading settings for the reporting don't interfere with this. I don't know if this is really an issues, just want to mention it
If you are not facing performance issues, I'd set it to No, just to make sure
08-19-2025 10:11 AM
I wrote a new plugin but I think NI has a bug since Single Pass and UUT;s complete the reports at different time ... I can use the ProcessCleanup callback for one execution but it does not work for the other.
08-19-2025 11:31 PM
So what I just did was to place a breakpoint for both EntryPoints
With a minimal dummy sequence file I ran both EntryPoints and can confirm that the ReportFIle exists at the expected location.
This method neglects the actual processing time for the report.
Can you confirm?
08-21-2025 11:30 AM
I had it working by modifying the SequentialModel.seq file before I posted ... BUT I think it is a TestStand bug that the different entry points work different when overriding the ProcessCleanup callback.
Thanks
Randy