forked from svunit/svunit
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest_example.py
47 lines (33 loc) · 1.7 KB
/
test_example.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import subprocess
import pathlib
import pytest
from utils import *
EXAMPLES_DIR = pathlib.Path(os.environ['SVUNIT_INSTALL']) / 'examples'
@all_files_in_dir((EXAMPLES_DIR / 'modules/apb_slave').as_posix())
@all_available_simulators()
def test_example_modules_apb_slave(datafiles, simulator):
expect_passing_example(datafiles, simulator)
@all_files_in_dir((EXAMPLES_DIR / 'uvm/uvm_report_mock').as_posix())
@all_available_simulators()
def test_example_uvm_report_mock(datafiles, simulator):
expect_passing_example(datafiles, simulator, ['-uvm', '-define', 'RUN_SVUNIT_WITH_UVM_REPORT_MOCK'])
@all_files_in_dir((EXAMPLES_DIR / 'uvm/simple_model').as_posix())
@all_available_simulators()
def test_example_uvm_simple_model(datafiles, simulator):
if simulator == 'dsim':
pytest.skip("Issue when running with 'dsim' that needs to be debugged")
expect_passing_example(datafiles, simulator, ['-uvm'])
# TODO Remove this is the same test as 'simple_model'. Not sure why this exists.
@all_files_in_dir((EXAMPLES_DIR / 'uvm/simple_model').as_posix())
@all_available_simulators()
def test_example_uvm_simple_model_2(datafiles, simulator):
if simulator == 'dsim':
pytest.skip("Issue when running with 'dsim' that needs to be debugged")
expect_passing_example(datafiles, simulator, ['-uvm'])
@all_files_in_dir((EXAMPLES_DIR / 'uvm/uvm_express').as_posix())
@all_available_simulators()
def test_example_uvm_uvm_express(datafiles, simulator):
if simulator == 'irun':
expect_passing_example(datafiles, simulator, ['-U', '--filelist', 'cov.f', '-define', 'CLK_PERIOD=10ns'])
if simulator == 'qverilog':
expect_passing_example(datafiles, simulator, ['-U', '-define', 'CLK_PERIOD=10ns'])