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
-
Properly install toffee and its dependencies.
-
Install toffee-test
To install toffee-test via pip:
pip install toffee-testOr install the development version:
pip install toffee-test@git+https://github.com/XS-MLVP/toffee-test@masterOr install from source:
git clone https://github.com/XS-MLVP/toffee-test.git
cd toffee-test
pip install .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 DUTdut_cls: DUT classclock_name: Clock namewaveform_filename: Waveform file namecoverage_filename: Coverage file name
add_cov_groups: Adds coverage groupscov_groups: Coverage groupsperiodic_sample: Periodic sampling option
Use the @toffee_test.testcase decorator to mark test functions, making them recognizable and executable by the toffee framework.
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.
More resources are available at toffee and UnityChip Website.