We use n external binning rules engine vs using the Native binning API in origen_testers and need to pass it a list of the test names in the proper order. The issue arises when we use on_fail or on_pass flow arguments that contain procs. These child tests can contain several layers of similar proc calls. The child tests are processed first before the parent tests so the binning order gets reversed. Is there a way to extract a list of test names that preserves the parent to child relationship? I know flow.atp.raw shows the hierarchy.
How can I select out the TestSuite names in the proper order?
thx
EDIT
Here is an example of the ATP:
s(:test,
s(:object, <TestSuite: jtag_ccra_all_vmin>),
s(:name, "jtag_ccra_all_vmin"),
s(:number, 0),
s(:id, "jtag_ccra_all_vmin"),
s(:on_fail,
s(:if_flag, "$Alarm",
s(:render, "multi_bin;")),
s(:test,
s(:object, <TestSuite: jtag_ccra_top_vmin>),
s(:name, "jtag_ccra_top_vmin"),
s(:number, 0),
s(:id, "jtag_ccra_top_vmin"),
s(:on_fail,
s(:if_flag, "$Alarm",
s(:render, "multi_bin;")))),
s(:test,
s(:object, <TestSuite: jtag_ccra_gasket_vmin>),
s(:name, "jtag_ccra_gasket_vmin"),
s(:number, 0),
s(:id, "jtag_ccra_gasket_vmin"),
s(:on_fail,
I am wondering if there is way to extract the names in order:
['jtag_ccra_all_vmin', 'jtag_ccra_top_vmin', 'jtag_ccra_gasket_vmin']
flow.atp.raw.children returns them in order as an Array but I would like to just query out the name attribute versus the ATP node objects.
thx

The way to extract information from the AST is to make a processor, something like this: https://github.com/Origen-SDK/origen_testers/blob/master/lib/origen_testers/atp/processors/extract_set_flags.rb
In your processor you would make a method called
on_testand then from there you can extract the name. This is untested, but something like this:To call it: