def test_sim(capsys): class Args(): sim = None testbench = None target = None keep = False backendargs = None setup = True build_only = False no_export = False def __init__(self, system): self.system = system from fusesoc.config import Config from fusesoc.coremanager import CoreManager build_root = os.path.join(tests_dir, 'build') config = Config() config.build_root = build_root config.cache_root = cache_root common_cm = CoreManager(config) common_cm.add_cores_root(cores_root) args = Args(system="wb_common") with pytest.raises(SystemExit): sim(common_cm, args) out, err = capsys.readouterr() assert out == "" #Workaround since this test fails with Travis on Python2.7. No idea why import sys if sys.version_info[0] > 2: assert err == "No tool was supplied on command line or found in 'wb_common' core description\n"
def get_core(core): from fusesoc.coremanager import CoreManager from fusesoc.config import Config from fusesoc.main import _get_core config = Config() config.build_root = build_root config.cache_root = cache_root cm = CoreManager(config) cm.add_cores_root(cores_root) return _get_core(cm, core)
def test_eda_api_vpi(): import os.path import tempfile from fusesoc.config import Config from fusesoc.coremanager import CoreManager from fusesoc.vlnv import Vlnv tests_dir = os.path.dirname(__file__) build_root = tempfile.mkdtemp() cache_root = os.path.join(tests_dir, 'cache') cores_root = os.path.join(tests_dir, 'capi2_cores') work_root = os.path.join(build_root, 'work') export_root = os.path.join(build_root, 'src') config = Config() config.build_root = build_root config.cache_root = cache_root cm = CoreManager(config) cm.add_cores_root(cores_root) eda_api = cm.setup(Vlnv("vpi"), {'tool': 'icarus'}, work_root, export_root) expected = { 'files': [], 'hooks': {}, 'name': 'vpi_0', 'parameters': [], 'tool_options': { 'icarus': {} }, 'toplevel': 'not_used', 'version': '0.1.2', 'vpi': [{ 'src_files': ['../src/vpi_0/f1', '../src/vpi_0/f3'], 'include_dirs': ['../src/vpi_0/'], 'libs': ['some_lib'], 'name': 'vpi1' }, { 'src_files': ['../src/vpi_0/f4'], 'include_dirs': [], 'libs': [], 'name': 'vpi2' }] } assert eda_api == expected
import os tests_dir = os.path.dirname(__file__) build_root = os.path.join(tests_dir, 'build') cache_root = os.path.join(tests_dir, 'cache') cores_root = os.path.join(tests_dir, 'cores') library_root = os.path.join(tests_dir, 'libraries') from fusesoc.config import Config from fusesoc.coremanager import CoreManager config = Config() config.build_root = build_root config.cache_root = cache_root common_cm = CoreManager(config) common_cm.add_cores_root(cores_root) def compare_files(ref_dir, work_root, files): import difflib for f in files: reference_file = os.path.join(ref_dir, f) generated_file = os.path.join(work_root, f) assert os.path.exists(generated_file) with open(reference_file) as fref, open(generated_file) as fgen: assert fref.read() == fgen.read(), f