def test_library_location(): from fusesoc.main import _get_core, init_coremanager tcf = tempfile.TemporaryFile(mode="w+") tcf.write( EXAMPLE_CONFIG.format(build_root=build_root, cache_root=cache_root, cores_root=cores_root, library_root=library_root, auto_sync='false', sync_uri=sync_uri)) tcf.seek(0) conf = Config(file=tcf) cm = init_coremanager(conf, []) _get_core(cm, 'mor1kx-generic') _get_core(cm, 'atlys')
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 get_core(core): import os from fusesoc.config import Config from fusesoc.coremanager import CoreManager from fusesoc.main import _get_core tests_dir = os.path.dirname(__file__) Config().build_root = os.path.join(tests_dir, 'build') Config().cache_root = os.path.join(tests_dir, 'cache') cores_root = os.path.join(tests_dir, 'cores') CoreManager().add_cores_root(cores_root) return _get_core(core)
def test_verilator(): tests_dir = os.path.dirname(__file__) params = '--vlogparam_bool --vlogparam_int=42 --vlogparam_str=hello' params += ' --vlogdefine_bool --vlogdefine_int=42 --vlogdefine_str=hello' Config().build_root = os.path.join(tests_dir, 'build') Config().cache_root = os.path.join(tests_dir, 'cache') cores_root = os.path.join(tests_dir, 'cores') CoreManager().add_cores_root(cores_root) core = _get_core("mor1kx-generic") sim_name = 'verilator' CoreManager().tool = sim_name backend = _import('simulator', sim_name)(core, export=False) backend.configure(params.split()) ref_dir = os.path.join(tests_dir, __name__) work_root = backend.work_root assert '' == compare_file(ref_dir, work_root, 'config.mk') assert '' == compare_file(ref_dir, work_root, 'Makefile') assert '' == compare_file(ref_dir, work_root, core.sanitized_name + '.vc')
def test_ise(): tests_dir = os.path.dirname(__file__) params = '--vlogparam_bool --vlogparam_int=42 --vlogparam_str=hello' params += ' --vlogdefine_bool --vlogdefine_int=42 --vlogdefine_str=hello' Config().build_root = os.path.join(tests_dir, 'build') Config().cache_root = os.path.join(tests_dir, 'cache') cores_root = os.path.join(tests_dir, 'cores') CoreManager().add_cores_root(cores_root) core = _get_core("atlys") backend = _import('build', core.main.backend)(core, export=False) backend.configure(params.split()) tcl_file = core.name.sanitized_name + '.tcl' reference_tcl = os.path.join(tests_dir, __name__, tcl_file) generated_tcl = os.path.join(backend.work_root, tcl_file) assert os.path.exists(generated_tcl) with open(reference_tcl) as f1, open(generated_tcl) as f2: diff = ''.join(difflib.unified_diff(f1.readlines(), f2.readlines())) assert diff == ''
def get_core(core): from fusesoc.main import _get_core return _get_core(common_cm, core)
def _run_test_util(cm, args): from fusesoc.main import _get_core _get_core(cm, 'mor1kx-generic') _get_core(cm, 'atlys')