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 ("basic1", "basic2", # 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", "fsm", "graycounter", "local_cd", "memory", "namer", "psync", "record", "reslice", "tristate", "two_dividers"): setattr(TestExamplesBasic, "test_" + name, _make_test_method(name, "basic"))