TestStand 2022 Q4 Changes
- Updated2025-07-23
- 4 minute(s) read
Learn about new features, behavior changes, and other updates in TestStand 2022 Q4.
Python Adapter Improvements
- Namespace Support — The Python Adapter now supports using namespaces when loading Python modules. Previously, TestStand would use only the file name when loading a Python module, which would create a conflict when loading modules in different directories with the same name. You can now specify namespaces for Python modules and use modules with the same file name.
- Debugging Enhancements — You can now configure the Python Adapter to allow updates to Python code modules during execution. If you enable this option prior to execution, TestStand will reload an updated Python module without unloading other modules or restarting TestStand execution.
- Improved Information Displayed — If you install the Jedi package, TestStand can now display additional Python elements used in your code modules. With Jedi, you can configure the step settings for a Python step to use inner classes, methods and attributes from base classes for a selected child class, and classes, attributes, and functions available in the current namespace.
Expression Editor Improvements
- Delimiter Highlighting—The expression editor adds new visual assistance for finding and manipulating nested delimiters such as parentheses, brackets, and braces. Place your cursor to the left of a delimiter and the expression editor makes the matching pair bold. Click <Ctrl + ]> to toggle the cursor between the matching delimiters, or <Ctrl + Shift + ]> to select the matching delimiters and everything between them.
- Fixed Width Font—On machines where Lucida Sans Typewriter is installed, the expression editor uses that font to display text in the expression editor. When the font is absent, the expression editor uses the default TestStand font. One method for obtaining Lucida Sans Typewriter is to install Microsoft Office applications on the machine.
Floating-Point Number Representation in XML Sequence Files
TestStand 2022 Q4 fixes a bug in how floating-point numbers were stored in XML sequence files. Sequence files saved in binary format are unaffected by the bug. The fix for this issue is backwards compatible with existing sequence files but may produce unexpected differences when saving sequence files created with older versions of TestStand.
- Bug Details—TestStand Number objects with the default representation are standard IEEE
double-precision floating point data types, sometimes called float64.
This type corresponds to the double data type in languages such as Java and .NET. In most
cases C/C++ doubles use this format as well.
Float64 is a binary data format. When TestStand stores Number objects in XML sequence files, the binary float64 format is converted to a base-10 (decimal) format. The conversion from binary to decimal format is not exact in all cases. If there is insufficient precision, the round-trip conversion may lead to a different value when the file is read. For IEEE double-precision floating-point numbers, 17 decimal digits are required to guarantee stable round-trip conversion. Previous versions of TestStand stored 16 decimal digits, causing the bug.
Note Binary sequence files are not affected by this issue because binary sequence files store floating point numbers in their raw binary format. - Bug Fix Details—TestStand 2022 Q4 uses 17 decimal digits when storing TestStand Number objects (with the default float64 representation) in XML sequence files.
- Impact—This change impacts saving sequence files. Existing sequence files will continue
to load as before. (There was no issue with the loading code. The issue was purely the
missing digit in the saved file.) Just as before, the value of number of objects read from
an XML sequence file saved using prior versions of TestStand may differ from the value
originally saved.
The value read will match the value read with older versions of TestStand, so this should not cause compatibility issues. However, if you modify an XML sequence file created with an older version of TestStand, save the file with a different name, and then compare it to the original version using a differ, you may notice very small numeric differences in the values of saved numbers. For example, in some cases the original file may contain "3122.55" while the 2022 Q4 (22.0) version of the file contains "3122.5500000000002". This change is a result of the fact that "3122.5500000000002" is actually a more accurate numeric encoding of the underlying binary format in this example.
Note The difference in numeric value will be small even though the length of the decimal encoding may be longer.Once a sequence file has been saved using TestStand 2022 Q4, round-trip conversions between binary and XML format will be stable.
New API and UI Controls
- Enumeration and Constant Values
- UIStyleColor_Background
- UIStyleColor_Background2
- UIStyleColor_Foreground
- UIStyleColor_GridLine
- UIStyleColor_HeaderForeground
- UIStyleColor_SelectedBackground
- UIStyleColor_SelectedForeground
- UIStyleFontType_Proportional
- UIStyleFontType_Monospaced
- UIStyleFontType_SectionHeader
- Properties
- GetColor
- GetFontTypeName
- GetFontTypeSize
- Methods
- ReloadModifiedModulesDuringExecution