* Initial plan * Fix --unroll CLI argument to properly unroll arrays Updated check_is_array() method and all CPUIF implementations to correctly detect and handle unrolled array elements. When unroll=True, each array element is now treated as an individual instance instead of being repeated as an array. Co-authored-by: arnavsacheti <36746504+arnavsacheti@users.noreply.github.com> * Add comprehensive tests for --unroll functionality Created tests to verify that array elements are correctly unrolled into individual instances when --unroll flag is used. Also fixed conftest.py fixture to keep temp files for later reference. Co-authored-by: arnavsacheti <36746504+arnavsacheti@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: arnavsacheti <36746504+arnavsacheti@users.noreply.github.com>
Unit tests
The bus decoder exporter now ships with a small unit test suite built around
pytest. The tests exercise the Python implementation directly and use the
systemrdl-compiler
package to elaborate inline SystemRDL snippets.
Install dependencies
Create an isolated environment if desired and install the minimal requirements:
python -m pip install -r tests/requirements.txt
Running the suite
Invoke pytest from the repository root (or the tests directory) and point it
at the unit tests:
pytest tests/unit
Pytest will automatically discover tests that follow the test_*.py naming
pattern and can make use of the compile_rdl fixture defined in
tests/unit/conftest.py to compile inline SystemRDL sources.