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

Uploaded Python 3

File details

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

File metadata

  • Download URL: pytest_fusesoc-0.1.7.tar.gz
  • Upload date:
  • Size: 19.5 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.7.tar.gz
Algorithm Hash digest
SHA256 decb06ebd5d56eeeee54d77dce41a89906851e51b1e82bd97f13192a0a883ad1
MD5 223ec606182dc96fdc5073b5e4daec4c
BLAKE2b-256 e43968326ffa912ae95777dbf9ec08d16e2a2e1c06dcb863c1ee2b618b98e646

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pytest_fusesoc-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 13.1 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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 c4f883c67f5d312755a6220a4841249622924dd85a8dba9609966a9cf03b7b1f
MD5 a27991b44181b9c78c812096cf4b1a9e
BLAKE2b-256 6abd97d44b43165c8c5143f0126015b0f639296d1c9ed2a151021e5d5db32143

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