06-11-2013 05:55 AM
Hi everybody.
I'm going to use standard sequentialmodel.seq in order to test my UUTs. I use ProcessSetup and ProcessCleanUp in order to execute one time the setup and cleanup phases while I'm testing UUTs with TestUUT entry point. I want to include result of some tests running in callbacks in my report XML.
I opened the sequential model and I checked record result and enabled tracing for callbacks.
The tracing runs and the recording too but my test doesn't record result from the test body in main sequence.
Does anyone explain to me why?
Thanks.
06-11-2013 06:22 AM
It doesn't make sense to try ProcessSetup and ProcessCleanup to add stuff to the report.
Both callbacks are connected to functionality of the test system, not specific to certain DUTs you are testing.
As reporting focuses on information on the DUT (not the test system), ProcessSetup and ProcessCleanup will not put anything in reports.
Question: What data do you want to record? Esp. Cleanup: How does that concern specific DUT results?
Norbert
06-11-2013 06:32 AM
Thanks for your response.
Sure, core data to store in report is contained in the mainsequence. My system is interfaced with a power control drawer that also allows to identify test adapters, manage
power distribution and so on. I idenitfy adapter IDN only one time in the process setup and then I want be able to store this result or eventually a failure notices as step.result.reporttext of
the related step.
The checking of "record result" is already done for other callbacks as I found on this forum. I don't understand why my system doesn't record any other results.
06-11-2013 06:37 AM
Hm, do i get that right?
- In ProcessSetup, you power up the hardware interfaces for the DUT. If anything goes wrong, you want that in the report.
- In the MainSequence of your execution, you interface to the DUT. Power consumption is something you might want to record. This is a parameter supplied by the power supply which was initialized in ProcessSetup
- ProcessCleanup will power down the system, nothing to record here.
My recommendation is to keep the handle to the power supply as globally accessable source (globale variable or pass as parameter each time). With that handle, you can acquire any data from the power supply within your client DUT test execution, hence it is very easy to get this value in the report.
hope this helps,
Norbert
06-11-2013 07:15 AM
Hi Norbert.
Your resume fits quite well; any instruments or resources is already globally shared. I only want to store four test result done in process setup callback.
If I check "record result" for process setup in the process model, TS effectively stores this results in my report. I can't explain why TS doesn't record results from main sequence.
Is it possible that a simple check in the process model casuses this problem while TS is collecting results during execution?
I can't explain this.
Thanks.
06-11-2013 07:33 AM
Which TestStand Version are you working with?
Norbert
06-11-2013 10:00 AM
TS 4.0.
I had a lot of problem to fill step.resul.reporttext, anyway is done and runs.
From newer version, 4.1 and others, is possible to use the additional result tab and updated API.
Thanks.
06-12-2013 04:05 AM
Attached a sequence which is a round about way of doing this.
Create a sub-sequence and add all the steps you need to put in process setup callback.
Create a fileglobal of result list type ( you can copy from locals).
The last statement of the sub sequence should be fileglobals.resultslist = locals.resultlist.
From process setup callback just call this sub sequence.
In the main seqeuence the first statement should be locals.resultlist =fileglobals.resultslist
Explanation :
Processsetup callback does not record results hence creating a new sub sequence.
The results are always stored in locals.result list.
This list is temporarily copied to fileglobals and re copied in the main sequence to be reflected in reports.
Hope this helps.
06-12-2013 08:18 AM
Run!
Thanks for your explanaition.
Davide.
06-13-2013 08:14 AM