Skip to main content

Pytest plugin to run FuseSoC simulation targets.

Project description

pytest-fusesoc

Why pytest-fusesoc plugin?

The pytest-fusesoc plugin allows you to use pytest to discover and run simulation targets defined in FuseSoC *.core files. Furthermore, testing capabilities can be greatly enhanced with existing pytest plugins, built-in pytest features like fixtures, test parametrization @pytest.mark.parametrize, test reporting, and more.

How the pytest-fusesoc plugin works?

To begin, it recursively collects all FuseSoC *.core files from the directory where pytest was invoked. Then, it collects all simulation targets from each collected FuseSoC core. Each collected simulation target is represented as a standalone pytest test that invokes the fusesoc command with the required arguments during test execution.

Example output from the pytest --collect-only command:

<Dir my-awesome-hdl-project>
  <Dir rtl>
    <Dir adder>
      <File adder.core>
        <Target testbench-1>
        <Target testbench-2>
    <Dir alu>
      <File alu.core>
        <Target testbench-1>
        <Target testbench-2>

Example pytest command to run specific testbench:

pytest -k 'adder.core and testbench-1'

Alternatively when using VLN (<vendor>:<library>:<name>) of FuseSoC core:

pytest -k 'john:mylib:adder and testbench-1'

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pytest_fusesoc-0.1.8.tar.gz (23.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pytest_fusesoc-0.1.8-py3-none-any.whl (14.5 kB view details)

Uploaded Python 3

File details

Details for the file pytest_fusesoc-0.1.8.tar.gz.

File metadata

  • Download URL: pytest_fusesoc-0.1.8.tar.gz
  • Upload date:
  • Size: 23.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pytest_fusesoc-0.1.8.tar.gz
Algorithm Hash digest
SHA256 66dfe91d555aa648aadc8c292a8396636a8963adec415000ac5577861cd7354f
MD5 3117019d5aa6456674ad684aada039ea
BLAKE2b-256 782643bf9499bebe3b3af4effc1c41d7fd4628278f2aca141b13b4422e4ab563

See more details on using hashes here.

File details

Details for the file pytest_fusesoc-0.1.8-py3-none-any.whl.

File metadata

  • Download URL: pytest_fusesoc-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 14.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pytest_fusesoc-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 b6e854a60033c41106613a6a0063fe33b2ab60725085b90edc30ab12cfe6d852
MD5 50663af486b883367a54db102bb18fac
BLAKE2b-256 d460085c6a6c0cb0acca8f2d65afedfeb6fd483883e01ca8420f6ee45593dc85

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page