Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
0.1.1 - 2026-02-17
Added
Add support for multiple clock domains in the
clksfixture, including incorporating each clock into the generated test name.Add support for background testbenches via the
Testbenchdataclass.CI now tests publishing each commit to TestPyPI.
Package is published to PyPI only if commit is tagged and the TestPyPI step succeeds.
CI now tests Python versions
3.13,3.14, and PyPy versions3.8through3.11.
Changed
The package version is rewritten during build step of CI to conform to PyPI rules of disallowing local versions.
Version-rewriting should have no effect on tags/releases because PDM’s default version formatter is used directly in those cases.
Use Sybil in place of
pytest-sphinxfor checking doctests.testcodedirectives are replaced with thedoctestdirective.
Fixed
The
test_comb_testbench_failtest and its failure modes now more thoroughly tested/described.“How To Use These Fixtures” documentation is improved, with code examples!
There is still room to improve those docs’ prose.
Use
sphinx-autofixtureto explicitly mark Pytest fixtures provided by this plugin.
Removed
Remove
flake8and useruffv0.14.1’s preview mode for the implemented pydoclint subset instead..flake8settings were transferred totool.rufftable ofpyproject.tomlon a best-effort basis.
0.1.0 - 2024-09-21
Initial release.
Added
Add pytest plugin for running simulations of digital logic using Amaranth’s Python simulator. The plugin does the following:
Add fixtures for interacting with the Amaranth simulator. As this targets Amaranth 0.5, both the deprecated generator-based and
async-based testbenches are supported.Add pytest configuration options to work around a GTKWave quirk, create VCD files, and configure how VCD files are named.
All plugin functionality is documented, and tested against Python versions
3.8through3.12.