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.6.tar.gz (18.9 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.6-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pytest_fusesoc-0.1.6.tar.gz
  • Upload date:
  • Size: 18.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","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.6.tar.gz
Algorithm Hash digest
SHA256 ab3b185f4a2773bace3ffbe544c7f658df2412630d8fb44a119fca5f02ac889d
MD5 76a1eade60a81d4880770057652b9e3c
BLAKE2b-256 073e6c9066bf4301cf2c51dfb8d13f39bf3cc5933599574c2e86c47ee20513c5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pytest_fusesoc-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 12.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 9759901aec6f63e2c2111301669e6d8c2250c4ac4da1d8ccc82cddb62a5b3781
MD5 2d4141e2aeea97d014be1804782f2f16
BLAKE2b-256 8a79f0b024a8e5a31dcc9e5bdc6b93f132b7defdc0dd70c3828f61e8202f323e

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