Exemplo n.º 1
0
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"
Exemplo n.º 2
0
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"
Exemplo n.º 3
0
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)
Exemplo n.º 4
0
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
Exemplo n.º 5
0
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