Caveats for Using Engine Callbacks

TestStand 2019 Help

Edition Date: May 2019

Part Number: 370052AA-01

»View Product Info
Download Help (Windows Only)

Consider the following issues when you define Engine callbacks:

  • Typically, you do not define SequenceFile<xxx> callbacks in a process model file because these types of callbacks apply only to the steps in the process model file.
  • Do not define a SequenceFileLoad or SequenceFileUnload callback in the StationCallbacks.seq because TestStand does not call these callbacks.
  • When a callback sequence is empty, TestStand does not invoke the Engine callback.
  • Process models use the Execution.EnableCallback method to disable the ProcessModelPostResults callback when the model does not need to process results on-the-fly for report generation, database logging, offline result file generation, or for any other result processing plug-in.
  • TestStand calls other Engine callbacks only when executing the SequenceFileLoad or SequenceFileUnload Engine callbacks. TestStand does not call Engine callbacks when executing the other Engine callbacks.
  • When TestStand reloads a sequence file after the file is modified on disk, TestStand can call the SequenceFileLoad callback in the new file without calling the SequenceFileUnload callback in the original file.
  • TestStand passes the ProcessModelPostResults, SequenceFilePostResults, and StationPostResults callbacks an extra result for each Sequence Call step. The extra result, called a provisional result, accumulates in the executing thread before the thread calls the sequence the step specifies. Provisional results do not appear in the result list and TestStand does not pass provisional results to the PostResultListEntry callbacks. A provisional result includes a TS.Provisional Boolean property that is set to True. If the ProcessModelPostResults, SequenceFilePostResults, or StationPostResults callback does not need provisional results, it can use the TS.Provisional field to identify and ignore them.


Not Helpful