05-08-2024 08:01 AM
@ee-jallen wrote:
I read through the posts and you can get the failure stack easily from a callback, ModifyReportHeader. Add ModifyReportHeader to your sequence and you can see that the CriticalFailureStack array is populated with the fail stack; this same fail stack is what the ATML/HTML report generators use to create the fail stack table in the report.
The old saying holds true once again: it's all there, you just gotta know where!
Thanks for jumping in @ee-jallen
05-09-2024 04:30 AM
Hi ee,
thank you for the contribution, but I need to specify two requirements that are mandatory for me and bring me to follow the stack solution. For what I can see, the HeaderModify Callback acts (correct me if I’m wrong) only in display the first chain of failure (i'm using Test UUT entry point). So in my sequence only the Steps here after will be reported in the Report:
Moreover in that Callback you don’t have any information about the step, so if you have steps with the same name or you call steps from sequences with the same name but in different parts of your MainSequence, how can you understand by only the name which is the step failed?
To clarify everything, my aim is to create a simplified version of the TS Database in which each step of a sequence of a UUT can be identified so that I can statistically analyse the number and the types of errors. For that reason, the name can be the only data that I can use.
Obviously, every type of advice or improvement that help me grow my TS knowledge is well accepted! So thank you for suggesting the ModifyReportHeader call back.
Thank you for the help!
Best Regards,
Zuc
05-09-2024 10:46 AM
All information is available in the callback.
Use Parameters.UUT.CriticalFailureStack to get the ResultId of each failure, then use RunState.Root.Locals.ResultList[0].TS.SequenceCall.ResultList and locate the same IDs in the list.
Step ResultId 127 is indentured to ResultID 125 because 125 was a SequenceCall to 127. The failure stack shows each layer.