Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions vunit/ghdl_interface.py
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,13 @@ def determine_backend(cls, prefix):
print("=============================" + ("=" * 60))
raise AssertionError("No known GHDL back-end could be detected from running 'ghdl --version'")

@classmethod
def supports_vhpi(cls):
"""
Return if the simulator supports VHPI
"""
return cls.determine_backend(cls.find_prefix_from_path()) != "mcode"

def _has_output_flag(self):
"""
Returns if backend supports output flag
Expand Down
9 changes: 8 additions & 1 deletion vunit/simulator_interface.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
from vunit.color_printer import NO_COLOR_PRINTER


class SimulatorInterface(object):
class SimulatorInterface(object): # pylint: disable=too-many-public-methods
"""
Generic simulator interface
"""
Expand Down Expand Up @@ -145,6 +145,13 @@ def has_valid_exit_code():
"""
return False

@staticmethod
def supports_vhpi():
"""
Return if the simulator supports VHPI
"""
return False

def merge_coverage(self, file_name, args): # pylint: disable=unused-argument, no-self-use
"""
Hook for simulator interface to creating coverage reports
Expand Down
10 changes: 10 additions & 0 deletions vunit/test/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,16 @@ def simulator_is(*names):
return SIMULATOR_FACTORY.select_simulator().name in names


def simulator_check(func):
"""
Check some method of the selected simulator
"""
simif = SIMULATOR_FACTORY.select_simulator()
if simif is None:
return False
return func(simif)


def check_report(report_file, tests=None):
"""
Check an XML report_file for the exact occurrence of specific test results
Expand Down