Merged revisions 67046 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/trunk

........
  r67046 | thomas.heller | 2008-10-30 21:18:13 +0100 (Do, 30 Okt 2008) | 2 lines

  Fixed a modulefinder crash on certain relative imports.
........
This commit is contained in:
Thomas Heller 2008-10-30 20:29:54 +00:00
parent b74777ed33
commit 68daeb0f85
3 changed files with 22 additions and 1 deletions

View File

@ -309,7 +309,10 @@ class ModuleFinder:
def _add_badmodule(self, name, caller):
if name not in self.badmodules:
self.badmodules[name] = {}
self.badmodules[name][caller.__name__] = 1
if caller:
self.badmodules[name][caller.__name__] = 1
else:
self.badmodules[name]["-"] = 1
def _safe_import_hook(self, name, caller, fromlist, level=-1):
# wrapper for self.import_hook() that won't raise ImportError

View File

@ -190,6 +190,19 @@ a/b/c/e.py
a/b/c/f.py
"""]
relative_import_test_3 = [
"a.module",
["a", "a.module"],
["a.bar"],
[],
"""\
a/__init__.py
def foo(): pass
a/module.py
from . import foo
from . import bar
"""]
def open_file(path):
##print "#", os.path.abspath(path)
dirname = os.path.dirname(path)
@ -256,6 +269,9 @@ class ModuleFinderTest(unittest.TestCase):
def test_relative_imports_2(self):
self._do_test(relative_import_test_2)
def test_relative_imports_3(self):
self._do_test(relative_import_test_3)
def test_main():
distutils.log.set_threshold(distutils.log.WARN)
test_support.run_unittest(ModuleFinderTest)

View File

@ -30,6 +30,8 @@ Core and Builtins
Library
-------
- Fixed a modulefinder crash on certain relative imports.
- Issue #4150: Pdb's "up" command now works for generator frames in post-mortem
debugging.