Skip to content

XS-MLVP/toffee-test

Repository files navigation

toffee-test

PyPI version

English Version | 中文版本

toffee-test is a pytest plugin that provides testing support for the toffee framework. It includes several features to assist users in writing test cases for toffee:

  • Identifies test functions as toffee test case objects, making them recognizable and executable by the toffee framework
  • Offers resource management for test cases, such as DUT creation and destruction
  • Provides test report generation

Installation

  • Properly install toffee and its dependencies.

  • Install toffee-test

To install toffee-test via pip:

pip install toffee-test

Or install the development version:

pip install toffee-test@git+https://github.com/XS-MLVP/toffee-test@master

Or install from source:

git clone https://github.com/XS-MLVP/toffee-test.git
cd toffee-test
pip install .

Usage

Managing Test Case Resources

toffee-test provides the toffee_request fixture for managing test case resources. Use toffee_request to create your own fixture, which can then be used within test cases.

For example, the following code creates a fixture to manage DUT creation and destruction.

import toffee_test


@toffee_test.fixture
def my_fixture(toffee_request: toffee_test.ToffeeRequest):
    return toffee_request.create_dut(MyDUT, "clock_pin_name")

Interfaces provided in toffee_request include:

  • create_dut: Creates a DUT
    • dut_cls: DUT class
    • clock_name: Clock name
    • waveform_filename: Waveform file name
    • coverage_filename: Coverage file name
  • add_cov_groups: Adds coverage groups
    • cov_groups: Coverage groups
    • periodic_sample: Periodic sampling option

Marking Test Cases

Use the @toffee_test.testcase decorator to mark test functions, making them recognizable and executable by the toffee framework.

Generating Test Reports

By adding the --toffee-report parameter to the pytest command line, you can generate a toffee test report.

Additionally, the --report-name parameter can specify the report name, and --report-dir can specify the report directory.

Additional Resources

More resources are available at toffee and UnityChip Website.

About

pytest plugin for toffee testing

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 5