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:

_images/roast_packages.png

Contents