コード例 #1
0
ファイル: libmgr_cfg.py プロジェクト: simontoens/amitools
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
コード例 #2
0
ファイル: libmgr_cfg.py プロジェクト: simontoens/amitools
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
コード例 #3
0
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)"
コード例 #4
0
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)"
コード例 #5
0
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
コード例 #6
0
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
コード例 #7
0
ファイル: libmgr_cfg.py プロジェクト: kowoba/amitools
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"]
コード例 #8
0
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()
コード例 #9
0
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()
コード例 #10
0
ファイル: libmgr_cfg.py プロジェクト: kowoba/amitools
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"]
コード例 #11
0
 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')
コード例 #12
0
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()
コード例 #13
0
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)"
    )
コード例 #14
0
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()
コード例 #15
0
ファイル: libmgr_cfg.py プロジェクト: simontoens/amitools
def libmgr_cfg_lib_eq_test():
  lc1 = LibCfg()
  lc2 = LibCfg()
  assert lc1 == lc2
  lc3 = LibCfg(force_version=1)
  assert lc1 != lc3
コード例 #16
0
ファイル: libmgr_cfg.py プロジェクト: simontoens/amitools
def libmgr_cfg_lib_fail_test():
  with pytest.raises(ValueError):
    lc = LibCfg(create_mode="bla")
  with pytest.raises(ValueError):
    lc = LibCfg(expunge_mode="foo")