コード例 #1
0
ファイル: test_windows.py プロジェクト: za/cpython
def setup_module(machinery, name, path=None):
    if machinery.WindowsRegistryFinder.DEBUG_BUILD:
        root = machinery.WindowsRegistryFinder.REGISTRY_KEY_DEBUG
    else:
        root = machinery.WindowsRegistryFinder.REGISTRY_KEY
    key = root.format(fullname=name,
                      sys_version='%d.%d' % sys.version_info[:2])
    base_key = "Software\\Python\\PythonCore\\{}.{}".format(
        sys.version_info.major, sys.version_info.minor)
    assert key.casefold().startswith(base_key.casefold()), (
        "expected key '{}' to start with '{}'".format(key, base_key))
    try:
        with temp_module(name, "a = 1") as location:
            try:
                OpenKey(HKEY_CURRENT_USER, base_key)
                if machinery.WindowsRegistryFinder.DEBUG_BUILD:
                    delete_key = os.path.dirname(key)
                else:
                    delete_key = key
            except OSError:
                delete_key = base_key
            subkey = CreateKey(HKEY_CURRENT_USER, key)
            if path is None:
                path = location + ".py"
            SetValue(subkey, "", REG_SZ, path)
            yield
    finally:
        if delete_key:
            delete_registry_tree(HKEY_CURRENT_USER, delete_key)
コード例 #2
0
 def test_reload_submodule(self):
     # See #19851.
     name = 'spam'
     subname = 'ham'
     with test_util.temp_module(name, pkg=True) as pkg_dir:
         fullname, _ = test_util.submodule(name, subname, pkg_dir)
         ham = self.init.import_module(fullname)
         reloaded = self.init.reload(ham)
         self.assertIs(reloaded, ham)
コード例 #3
0
ファイル: test_util.py プロジェクト: za/cpython
 def test_find_relative_module_missing_package(self):
     name = 'spam'
     subname = 'ham'
     with util.temp_module(name, pkg=True) as pkg_dir:
         fullname, _ = util.submodule(name, subname, pkg_dir)
         relname = '.' + subname
         with self.assertRaises(ImportError):
             self.util.find_spec(relname)
         self.assertNotIn(name, sorted(sys.modules))
         self.assertNotIn(fullname, sorted(sys.modules))
コード例 #4
0
ファイル: test_util.py プロジェクト: za/cpython
 def test_find_submodule(self):
     name = 'spam'
     subname = 'ham'
     with util.temp_module(name, pkg=True) as pkg_dir:
         fullname, _ = util.submodule(name, subname, pkg_dir)
         spec = self.util.find_spec(fullname)
         self.assertIsNot(spec, None)
         self.assertIn(name, sorted(sys.modules))
         self.assertNotIn(fullname, sorted(sys.modules))
         # Ensure successive calls behave the same.
         spec_again = self.util.find_spec(fullname)
         self.assertEqual(spec_again, spec)
コード例 #5
0
ファイル: test_windows.py プロジェクト: xdegaye/cpython
def setup_module(machinery, name, path=None):
    if machinery.WindowsRegistryFinder.DEBUG_BUILD:
        root = machinery.WindowsRegistryFinder.REGISTRY_KEY_DEBUG
    else:
        root = machinery.WindowsRegistryFinder.REGISTRY_KEY
    key = root.format(fullname=name,
                      sys_version='%d.%d' % sys.version_info[:2])
    try:
        with temp_module(name, "a = 1") as location:
            subkey = CreateKey(HKEY_CURRENT_USER, key)
            if path is None:
                path = location + ".py"
            SetValue(subkey, "", REG_SZ, path)
            yield
    finally:
        if machinery.WindowsRegistryFinder.DEBUG_BUILD:
            key = os.path.dirname(key)
        delete_registry_tree(HKEY_CURRENT_USER, key)