def libmgr_cfg_mgr_lib_default_test(): lcd = LibCfg(LibCfg.CREATE_MODE_OFF, 1, LibCfg.EXPUNGE_MODE_NO_MEM) lmc = LibMgrCfg(lib_default=lcd) assert lmc.get_lib_cfg("bla.library") == lcd lc = LibCfg(LibCfg.CREATE_MODE_OFF, 1, LibCfg.EXPUNGE_MODE_NO_MEM) lmc.add_lib_cfg("bla.library", lc) assert lmc.get_lib_cfg("bla.library") == lc
def libmgr_cfg_mgr_dev_default_test(): lcd = LibCfg(LibCfg.CREATE_MODE_OFF, 1, LibCfg.EXPUNGE_MODE_NO_MEM) lmc = LibMgrCfg(dev_default=lcd) assert lmc.get_dev_cfg("bla.device") == lcd lc = LibCfg(LibCfg.CREATE_MODE_OFF, 1, LibCfg.EXPUNGE_MODE_NO_MEM) lmc.add_dev_cfg("bla.device", lc) assert lmc.get_dev_cfg("bla.device") == lc
def libmgr_cfg_lib_default_test(): lc = LibCfg() assert lc.get_create_mode() == LibCfg.CREATE_MODE_AUTO assert lc.get_force_version() is None assert lc.get_expunge_mode() == LibCfg.EXPUNGE_MODE_LAST_CLOSE txt = str(lc) assert txt == "LibCfg(create_mode=auto, force_version=None, expunge_mode=last_close)"
def libmgr_cfg_lib_custom_test(): lc = LibCfg(LibCfg.CREATE_MODE_OFF, 1, LibCfg.EXPUNGE_MODE_NO_MEM) assert lc.get_create_mode() == LibCfg.CREATE_MODE_OFF assert lc.get_force_version() is 1 assert lc.get_expunge_mode() == LibCfg.EXPUNGE_MODE_NO_MEM txt = str(lc) assert txt == "LibCfg(create_mode=off, force_version=1, expunge_mode=no_mem)"
def libmgr_cfg_mgr_dev_test(): lmc = LibMgrCfg() lc = LibCfg(LibCfg.CREATE_MODE_OFF, 1, LibCfg.EXPUNGE_MODE_NO_MEM) lmc.add_dev_cfg("bla.device", lc) assert lmc.get_dev_cfg("bla.device") == lc assert lmc.get_dev_cfg("foo.device") == LibCfg() lc2 = LibCfg(LibCfg.CREATE_MODE_AMIGA, 11, LibCfg.EXPUNGE_MODE_NO_MEM) lmc.add_dev_cfg("foo.device", lc2) assert lmc.get_dev_cfg("foo.device") == lc2
def libmgr_cfg_mgr_lib_test(): lmc = LibMgrCfg() lc = LibCfg(LibCfg.CREATE_MODE_OFF, 1, LibCfg.EXPUNGE_MODE_NO_MEM) lmc.add_lib_cfg("bla.library", lc) assert lmc.get_lib_cfg("bla.library") == lc assert lmc.get_lib_cfg("foo.library") == LibCfg() lc2 = LibCfg(LibCfg.CREATE_MODE_AMIGA, 11, LibCfg.EXPUNGE_MODE_NO_MEM) lmc.add_lib_cfg("foo.library", lc2) assert lmc.get_lib_cfg("foo.library") == lc2
def libmgr_cfg_mgr_custom_test(): lcd = LibCfg(LibCfg.CREATE_MODE_OFF, True, 1, LibCfg.EXPUNGE_MODE_NO_MEM) lmc = LibMgrCfg(do_profile_all=True, profile_add_samples=True, def_cfg=lcd) assert lmc.get_do_profile_all() assert lmc.get_profile_add_samples() assert lmc.get_def_cfg() == lcd assert lmc.get_all_names() == [] assert lmc.get_cfg("bla.library") == lcd lc = LibCfg(LibCfg.CREATE_MODE_OFF, True, 1, LibCfg.EXPUNGE_MODE_NO_MEM) lmc.add_cfg("bla.library", lc) assert lmc.get_cfg("bla.library") == lc assert lmc.get_all_names() == ["bla.library"]
def libmgr_mgr_open_vlib_fake_no_fd_test(): machine, alloc, mgr, sp, cfg = setup() exec_vlib = mgr.bootstrap_exec() # make vamos test lib cfg.add_lib_cfg( "foo.library", LibCfg(create_mode=LibCfg.CREATE_MODE_FAKE, force_version=40, num_fake_funcs=10), ) test_base = mgr.open_lib("foo.library", 36) assert test_base > 0 vmgr = mgr.vlib_mgr test_vlib = vmgr.get_vlib_by_addr(test_base) assert test_vlib assert vmgr.get_vlib_by_name("foo.library") == test_vlib impl = test_vlib.get_impl() assert impl is None lib = test_vlib.get_library() assert lib.version.val == 40 assert lib.neg_size.val == 68 mgr.close_lib(test_base) # shutdown left = mgr.shutdown() assert left == 0 assert alloc.is_all_free()
def open_alib(lib_file, lib_name, ok=True, version=0, mode=None): h = ALibHelper(lib_file, lib_name) mgr = h.mgr # setup config if mode: h.cfg.add_lib_cfg(lib_name, LibCfg(create_mode=mode)) # open_lib lib_base = mgr.open_lib(lib_name, run_sp=h.sp, version=version) if not ok: assert lib_base == 0 h.shutdown() return assert lib_base > 0 amgr = mgr.alib_mgr assert amgr.is_base_addr(lib_base) lib_info = amgr.get_lib_info_for_name(lib_name) assert lib_info assert lib_info.is_base_addr(lib_base) # close lib seglist = mgr.close_lib(lib_base, run_sp=h.sp) assert not amgr.is_base_addr(lib_base) assert seglist == 0 lib_info = amgr.get_lib_info_for_name(lib_name) assert lib_info assert not lib_info.is_base_addr(lib_base) # expunge lib load_addr = lib_info.get_load_addr() seglist = mgr.expunge_lib(load_addr, run_sp=h.sp) assert seglist > 0 assert not amgr.is_load_addr(lib_base) lib_info = amgr.get_lib_info_for_name(lib_name) assert not lib_info # shutdown h.shutdown()
def libmgr_cfg_mgr_default_test(): lmc = LibMgrCfg() assert not lmc.get_do_profile_all() assert not lmc.get_profile_add_samples() assert lmc.get_def_cfg() == LibCfg() assert lmc.get_all_names() == [] assert lmc.get_cfg("bla.library") == LibCfg() lc = LibCfg(LibCfg.CREATE_MODE_OFF, True, 1, LibCfg.EXPUNGE_MODE_NO_MEM) lmc.add_cfg("bla.library", lc) assert lmc.get_cfg("bla.library") == lc assert lmc.get_all_names() == ["bla.library"] assert lmc.get_cfg("foo.library") == LibCfg() lc2 = LibCfg(LibCfg.CREATE_MODE_AMIGA, False, 11, LibCfg.EXPUNGE_MODE_NO_MEM) lmc.add_cfg("foo.library", lc2) assert lmc.get_cfg("foo.library") == lc2 assert lmc.get_all_names() == ["bla.library", "foo.library"]
def __init__(self, lib_file, lib_name): class PathMgrMock: def ami_to_sys_path(self, lock, ami_path, mustExist=True): if ami_path == 'LIBS:' + lib_name: return lib_file pm = PathMgrMock() self.machine, self.alloc, self.mgr, self.sp, self.cfg = setup(path_mgr=pm) self.mgr.bootstrap_exec() self.cfg.add_lib_cfg('dos.library', LibCfg(create_mode=LibCfg.CREATE_MODE_FAKE, force_version=40)) self.dos_base = self.mgr.open_lib('dos.library')
def libmgr_mgr_open_vlib_too_new_test(): machine, alloc, mgr, sp, cfg = setup() exec_vlib = mgr.bootstrap_exec() # make vamos test lib cfg.add_lib_cfg( "dos.library", LibCfg(create_mode=LibCfg.CREATE_MODE_FAKE, force_version=40)) test_base = mgr.open_lib("dos.library", 41) assert test_base == 0 # shutdown left = mgr.shutdown() assert left == 0 assert alloc.is_all_free()
def libmgr_cfg_lib_custom_test(): lc = LibCfg(LibCfg.CREATE_MODE_OFF, 1, LibCfg.EXPUNGE_MODE_NO_MEM, 42) assert lc.get_create_mode() == LibCfg.CREATE_MODE_OFF assert lc.get_force_version() is 1 assert lc.get_expunge_mode() == LibCfg.EXPUNGE_MODE_NO_MEM assert lc.get_num_fake_funcs() == 42 txt = str(lc) assert ( txt == "LibCfg(create_mode=off, force_version=1, expunge_mode=no_mem, num_fake_funcs=42)" )
def libmgr_mgr_open_vlib_fake_test(): machine, alloc, mgr, sp, cfg = setup() exec_vlib = mgr.bootstrap_exec() # make vamos test lib cfg.add_lib_cfg('dos.library', LibCfg(create_mode=LibCfg.CREATE_MODE_FAKE, force_version=40)) test_base = mgr.open_lib('dos.library', 36) assert test_base > 0 vmgr = mgr.vlib_mgr test_vlib = vmgr.get_vlib_by_addr(test_base) assert test_vlib assert vmgr.get_vlib_by_name('dos.library') == test_vlib impl = test_vlib.get_impl() assert impl is None lib = test_vlib.get_library() assert lib.version == 40 mgr.close_lib(test_base) # shutdown left = mgr.shutdown() assert left == 0 assert alloc.is_all_free()
def libmgr_cfg_lib_eq_test(): lc1 = LibCfg() lc2 = LibCfg() assert lc1 == lc2 lc3 = LibCfg(force_version=1) assert lc1 != lc3
def libmgr_cfg_lib_fail_test(): with pytest.raises(ValueError): lc = LibCfg(create_mode="bla") with pytest.raises(ValueError): lc = LibCfg(expunge_mode="foo")