66 lines
1.6 KiB
Python
66 lines
1.6 KiB
Python
import unittest
|
|
import os.path
|
|
import sys
|
|
import subprocess
|
|
|
|
|
|
def _make_test_method(name, foldername):
|
|
def test_method(self):
|
|
filename = name + ".py"
|
|
example_path = os.path.abspath(
|
|
os.path.join(os.path.dirname(__file__), "..", "..", "examples"))
|
|
filepath = os.path.join(example_path, foldername, filename)
|
|
subprocess.check_call(
|
|
[sys.executable, filepath],
|
|
stdout=subprocess.DEVNULL
|
|
)
|
|
|
|
return test_method
|
|
|
|
|
|
class TestExamplesSim(unittest.TestCase):
|
|
pass
|
|
|
|
for name in ("abstract_transactions_wb",
|
|
"basic1",
|
|
"basic2",
|
|
"dataflow",
|
|
# skip "fir" as it depends on SciPy
|
|
# "fir",
|
|
"memory"):
|
|
setattr(TestExamplesSim, "test_" + name,
|
|
_make_test_method(name, "sim"))
|
|
|
|
|
|
class TestExamplesBasic(unittest.TestCase):
|
|
pass
|
|
|
|
for name in ("arrays",
|
|
"complex",
|
|
"fsm",
|
|
"graycounter",
|
|
"hamming",
|
|
"local_cd",
|
|
"memory",
|
|
"namer",
|
|
"psync",
|
|
"record",
|
|
"reslice",
|
|
"simple_gpio",
|
|
"tristate",
|
|
"two_dividers"):
|
|
setattr(TestExamplesBasic, "test_" + name,
|
|
_make_test_method(name, "basic"))
|
|
|
|
|
|
class TestDataflow(unittest.TestCase):
|
|
pass
|
|
|
|
for name in ("dma",
|
|
"misc",
|
|
# skip "structuring" as it depends on networkx, SciPy
|
|
# "structuring",
|
|
):
|
|
setattr(TestDataflow, "test_" + name,
|
|
_make_test_method(name, "dataflow"))
|