Why Don't FileGlobals Share Information Between UUTs in the Batch Model?

Updated Apr 7, 2023

Reported In

Software

  • TestStand

Issue Details

When executing my sequence under the Batch UUT process model in TestStand, I update a FileGlobals Variable from one UUT in the batch, but the other UUTs do not see the update.  It is as if each UUT has its own separate FileGlobals. Why is this happening?

Solution

This is expected behavior because each UUT in the batch does, in fact, have its own separate copy of the FileGlobals variable by default.

This is because each UUT in the batch has its own execution, and by default, sequence files do not share FileGlobals between executions.

So if you have a sequence file with a FileGlobals named FileGlobals.Global1, and run your sequence under the batch model with 3 UUTs, then there will be three separate copies of FileGlobals.Global1 opened in memory, one for each UUT.
 
 

Additional Information

If you want, you can override this behavior by following the instructions in How Do I Share Data Stored in a File Global Between Different Executions? . This will force all executions (UUTs) in a batch model to look to one memory space for the file global and not create a separate memory space for each UUT in the batch.  

If you do not wish to make the scope of your file global open to all UUT executions but still wish to share data between executions, consider the use of Queues, Notifications, or StationGlobals variables.