Is **kwargs Available in the Python Step Types for TestStand?

Updated Oct 18, 2024

Reported In

Software

  • TestStand
  • Python Step Types for TestStand

Programming Language

  • Python

Issue Details

I have a function in python that has **kwargs as argument, however, I am not seeing it available in the python step type. Is this option even available?
 

Solution

Python Step Types as a Python Adapter has some limitations; one of them is that you cannot pass parameters using a keyword argument.
Since **kwargs is a special kind of optional keyword parameter in Python, actually a keyword argument, this option is not available because is not yet supported by the Python Step Types.
 

Additional Information

The Python Step Types are a set of custom step types for TestStand 2014 and newer, that features the ability to:
  • Execute Python Scripts in TestStand – The Python Step Types for TestStand bring the familiar experience of TestStand Action, Pass/Fail, Numeric Limit, Multiple Numeric Limit, and String Value Test steps to Python code. These step types support calls into module functions, getting/setting module attributes, creating class instances, calls into class member or static functions, and getting/setting class member or static attributes.
  • Interpreter Session Management – Python scripts will run outside the TestStand process, in a separate process that hosts the CPython interpreter. Use the advanced session management options to support running multiple instances of the interpreter to enable parallel testing with Python.
  • Support for Python 2.7 and 3.6 – You have the freedom to use either Python 2.7 or 3.6 with these step types. Combined with the interpreter session management features, you can run scripts in Python 2.7 and 3.6 simultaneously.
  • Convert Data Between Python and TestStand – The Python Step Types support passing numeric, enum, boolean, string, container, and array data between Python and TestStand. Data is converted to each environment's native structures, such as mapping Python tuples to TestStand containers. You can also store and reuse Python objects in TestStand object reference variables.