ROAST – Randomized Okaying Across System Topologies
ROAST is an open-source Python framework that simplifies the development of complex validation test suites. To accomplish this, ROAST provides a collection of interfaces that allows test developers to build test suites in a highly structured manner.
Key features:
Compose systems from Xilinx or custom components
Define systems composed from various configuration sources
Heirarchical configuration system
Randomized data provider for randomized testing
Generic APIs for simplified usage and access
Plugin system for extensibility
ROAST consists of three packages:
roast: Core functionality that includes interfaces, plugin framework, configuration management, and more
roast-xilinx (recommended): plugin for roast that includes Xilinx specific functionality such as board acquisition, PetaLinux building, Vitis wrapper, and more.
pytest-roast (optional): plugin for pytest that includes pytest fixtures for accelerated test development when using pytest as a test runner. Features includes board automation, scenario generation, and configuration generation.
Example test flow with package breakdown: