Source code for edalize.vunit_hooks

# Copyright edalize contributors
# Licensed under the 2-Clause BSD License, see LICENSE for details.
# SPDX-License-Identifier: BSD-2-Clause

"""
This module exports :class:`VUnitHooks` which can be used to implement advanced VUnit test cases.
"""

from vunit.ui import Library
from vunit import VUnit


[docs] class VUnitHooks(object): """ Derive the :class:`VUnitRunner` instance from this class and override its member functions if necessary. """ def __init__(self): pass
[docs] def create(self) -> VUnit: """ Override this function to specify custom instantiation of VUnit. """ return VUnit.from_argv()
[docs] def handle_library(self, logical_name: str, vu_lib: Library): """ Override this to customize each library, e.g. with additional simulator options. """ pass
[docs] def main(self, vu: VUnit): """ Override this for final parametrization of the :class:`~vunit.ui.VUnit` instance, or for custom invocation of VUnit. """ vu.main()
[docs] class VUnitRunner(VUnitHooks): """ The default runner which will be used if no :file:`vunit_runner.py` is specified. """ pass