mirror of https://github.com/python/cpython
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:
parent
b74777ed33
commit
68daeb0f85
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue