The BNL CA-D controls environment has recently been adopting modern programming languages such as Python. A new framework has been created to instantiate setting and measurement parameters in Python as an alternative to C++ and Java process-variable-like objects. With the help of automated testing tools such as pyTest and Coverage, a test suite is generated and executed before the release of Python-based accelerator device objects (ADO) to assure quality as well as compatibility. This suite allows developers to add custom tests, repeat failed tests, create random inputs, and log failures.
Proceedings of the 17th International Conference on Accelerator and Large Experimental Physics Control Systems, ICALEPCS2019, New York, NY, USA