コード例 #1
0
ファイル: libmgr_cfg.py プロジェクト: simontoens/amitools
def libmgr_cfg_mgr_from_dict_default_test():
  cfg = ConfigDict({
      'libs': ConfigDict({
          '*.library': ConfigDict({
              'mode': 'fake',
              'version': 23,
              'expunge': 'shutdown',
              'num_fake_funcs': 1
          })
      }),
      'devs': ConfigDict({
          '*.device': ConfigDict({
              'mode': 'amiga',
              'version': 42,
              'expunge': 'last_close',
              'num_fake_funcs': 2
          })
      })
  })
  mgr = LibMgrCfg.from_dict(cfg)
  assert mgr
  lib_default = mgr.get_lib_default()
  assert lib_default
  assert lib_default.get_create_mode() == LibCfg.CREATE_MODE_FAKE
  assert lib_default.get_force_version() == 23
  assert lib_default.get_expunge_mode() == LibCfg.EXPUNGE_MODE_SHUTDOWN
  assert lib_default.get_num_fake_funcs() == 1
  dev_default = mgr.get_dev_default()
  assert dev_default
  assert dev_default.get_create_mode() == LibCfg.CREATE_MODE_AMIGA
  assert dev_default.get_force_version() == 42
  assert dev_default.get_expunge_mode() == LibCfg.EXPUNGE_MODE_LAST_CLOSE
  assert dev_default.get_num_fake_funcs() == 2
コード例 #2
0
ファイル: libmgr_cfg.py プロジェクト: simontoens/amitools
def libmgr_cfg_mgr_auto_test():
  cfg = get_custom_cfg()
  mgr = LibMgrCfg.from_dict(cfg)
  assert mgr
  lib_cfg = mgr.get_cfg('foo.library')
  assert lib_cfg
  assert lib_cfg.get_create_mode() == LibCfg.CREATE_MODE_AMIGA
  assert lib_cfg.get_force_version() == 42
  assert lib_cfg.get_expunge_mode() == LibCfg.EXPUNGE_MODE_LAST_CLOSE
  assert lib_cfg.get_num_fake_funcs() == 2
  lib_default = mgr.get_cfg(['bla.library'])
  assert lib_default
  assert lib_default.get_create_mode() == LibCfg.CREATE_MODE_FAKE
  assert lib_default.get_force_version() == 23
  assert lib_default.get_expunge_mode() == LibCfg.EXPUNGE_MODE_SHUTDOWN
  assert lib_default.get_num_fake_funcs() == 1
  dev_cfg = mgr.get_cfg('bar.device')
  assert dev_cfg
  assert dev_cfg.get_create_mode() == LibCfg.CREATE_MODE_FAKE
  assert dev_cfg.get_force_version() == 23
  assert dev_cfg.get_expunge_mode() == LibCfg.EXPUNGE_MODE_SHUTDOWN
  assert dev_cfg.get_num_fake_funcs() == 4
  dev_default = mgr.get_cfg(['bla.device'])
  assert dev_default
  assert dev_default.get_create_mode() == LibCfg.CREATE_MODE_AMIGA
  assert dev_default.get_force_version() == 42
  assert dev_default.get_expunge_mode() == LibCfg.EXPUNGE_MODE_LAST_CLOSE
  assert dev_default.get_num_fake_funcs() == 3
コード例 #3
0
ファイル: libmgr_cfg.py プロジェクト: simontoens/amitools
def libmgr_cfg_mgr_base_name_test():
  cfg = get_custom_cfg()
  mgr = LibMgrCfg.from_dict(cfg)
  assert mgr
  # fall back to 'foo.library' not the default
  lib_cfg = mgr.get_cfg('bla/foo.library')
  assert lib_cfg
  assert lib_cfg.get_create_mode() == LibCfg.CREATE_MODE_AMIGA
  assert lib_cfg.get_force_version() == 42
  assert lib_cfg.get_expunge_mode() == LibCfg.EXPUNGE_MODE_LAST_CLOSE
  assert lib_cfg.get_num_fake_funcs() == 2
  # use exact match
  lib_cfg = mgr.get_cfg('libs/foo.library')
  assert lib_cfg
  assert lib_cfg.get_create_mode() == LibCfg.CREATE_MODE_VAMOS
  assert lib_cfg.get_force_version() == 43
  assert lib_cfg.get_expunge_mode() == LibCfg.EXPUNGE_MODE_LAST_CLOSE
  assert lib_cfg.get_num_fake_funcs() == 10
  # fall back to 'bar.device' not the default
  dev_cfg = mgr.get_cfg('baz/bar.device')
  assert dev_cfg
  assert dev_cfg.get_create_mode() == LibCfg.CREATE_MODE_FAKE
  assert dev_cfg.get_force_version() == 23
  assert dev_cfg.get_expunge_mode() == LibCfg.EXPUNGE_MODE_SHUTDOWN
  assert dev_cfg.get_num_fake_funcs() == 4
  # use exact match
  dev_cfg = mgr.get_cfg('devs/bar.device')
  assert dev_cfg
  assert dev_cfg.get_create_mode() == LibCfg.CREATE_MODE_VAMOS
  assert dev_cfg.get_force_version() == 43
  assert dev_cfg.get_expunge_mode() == LibCfg.EXPUNGE_MODE_LAST_CLOSE
  assert dev_cfg.get_num_fake_funcs() == 11
コード例 #4
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
コード例 #5
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
コード例 #6
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
コード例 #7
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
コード例 #8
0
def libmgr_cfg_dump_test(capsys):
    cfg = get_custom_cfg()
    mgr = LibMgrCfg.from_dict(cfg)
    mgr.dump()
    captured = capsys.readouterr()
    assert captured.out.splitlines() == [
        "libs config:",
        "  default: LibCfg(create_mode=fake, force_version=23, expunge_mode=shutdown)",
        "  lib 'foo.library': LibCfg(create_mode=amiga, force_version=42, expunge_mode=last_close)",
        "devs config:",
        "  default: LibCfg(create_mode=amiga, force_version=42, expunge_mode=last_close)",
        "  dev 'bar.device': LibCfg(create_mode=fake, force_version=23, expunge_mode=shutdown)"
    ]
コード例 #9
0
def libmgr_cfg_mgr_from_dict_custom_test():
    cfg = get_custom_cfg()
    mgr = LibMgrCfg.from_dict(cfg)
    assert mgr
    lib_cfg = mgr.get_lib_cfg('foo.library')
    assert lib_cfg
    assert lib_cfg.get_create_mode() == LibCfg.CREATE_MODE_AMIGA
    assert lib_cfg.get_force_version() == 42
    assert lib_cfg.get_expunge_mode() == LibCfg.EXPUNGE_MODE_LAST_CLOSE
    dev_cfg = mgr.get_dev_cfg('bar.device')
    assert dev_cfg
    assert dev_cfg.get_create_mode() == LibCfg.CREATE_MODE_FAKE
    assert dev_cfg.get_force_version() == 23
    assert dev_cfg.get_expunge_mode() == LibCfg.EXPUNGE_MODE_SHUTDOWN
コード例 #10
0
def setup(path_mgr=None):
    log_libmgr.setLevel(logging.INFO)
    log_exec.setLevel(logging.INFO)
    machine = Machine()
    # machine.show_instr(True)
    sp = machine.get_ram_begin() - 4
    alloc = MemoryAlloc.for_machine(machine)
    segloader = SegmentLoader(alloc, path_mgr)
    cfg = LibMgrCfg()
    mgr = LibManager(machine, alloc, segloader, cfg)
    # setup ctx map
    cpu = machine.get_cpu()
    mem = machine.get_mem()
    cpu_type = machine.get_cpu_type()
    exec_ctx = ExecLibCtx(machine, alloc, segloader, path_mgr, mgr)
    mgr.add_ctx("exec.library", exec_ctx)
    mgr.add_impl_cls("exec.library", ExecLibrary)
    dos_ctx = DosLibCtx(machine, alloc, segloader, path_mgr, None, None)
    mgr.add_ctx("dos.library", dos_ctx)
    mgr.add_impl_cls("dos.library", DosLibrary)
    mgr.add_impl_cls("vamostest.library", VamosTestLibrary)
    mgr.add_impl_cls("vamostestdev.device", VamosTestDevice)
    return machine, alloc, mgr, sp, cfg
コード例 #11
0
def libmgr_cfg_mgr_from_dict_default_test():
    cfg = ConfigDict({
        "libs":
        ConfigDict({
            "*.library":
            ConfigDict({
                "mode": "fake",
                "version": 23,
                "expunge": "shutdown",
                "num_fake_funcs": 1,
            })
        }),
        "devs":
        ConfigDict({
            "*.device":
            ConfigDict({
                "mode": "amiga",
                "version": 42,
                "expunge": "last_close",
                "num_fake_funcs": 2,
            })
        }),
    })
    mgr = LibMgrCfg.from_dict(cfg)
    assert mgr
    lib_default = mgr.get_lib_default()
    assert lib_default
    assert lib_default.get_create_mode() == LibCfg.CREATE_MODE_FAKE
    assert lib_default.get_force_version() == 23
    assert lib_default.get_expunge_mode() == LibCfg.EXPUNGE_MODE_SHUTDOWN
    assert lib_default.get_num_fake_funcs() == 1
    dev_default = mgr.get_dev_default()
    assert dev_default
    assert dev_default.get_create_mode() == LibCfg.CREATE_MODE_AMIGA
    assert dev_default.get_force_version() == 42
    assert dev_default.get_expunge_mode() == LibCfg.EXPUNGE_MODE_LAST_CLOSE
    assert dev_default.get_num_fake_funcs() == 2
コード例 #12
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"]
コード例 #13
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"]