mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
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
3 changed files with 22 additions and 1 deletions
|
@ -309,7 +309,10 @@ class ModuleFinder:
|
||||||
def _add_badmodule(self, name, caller):
|
def _add_badmodule(self, name, caller):
|
||||||
if name not in self.badmodules:
|
if name not in self.badmodules:
|
||||||
self.badmodules[name] = {}
|
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):
|
def _safe_import_hook(self, name, caller, fromlist, level=-1):
|
||||||
# wrapper for self.import_hook() that won't raise ImportError
|
# wrapper for self.import_hook() that won't raise ImportError
|
||||||
|
|
|
@ -190,6 +190,19 @@ a/b/c/e.py
|
||||||
a/b/c/f.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):
|
def open_file(path):
|
||||||
##print "#", os.path.abspath(path)
|
##print "#", os.path.abspath(path)
|
||||||
dirname = os.path.dirname(path)
|
dirname = os.path.dirname(path)
|
||||||
|
@ -256,6 +269,9 @@ class ModuleFinderTest(unittest.TestCase):
|
||||||
def test_relative_imports_2(self):
|
def test_relative_imports_2(self):
|
||||||
self._do_test(relative_import_test_2)
|
self._do_test(relative_import_test_2)
|
||||||
|
|
||||||
|
def test_relative_imports_3(self):
|
||||||
|
self._do_test(relative_import_test_3)
|
||||||
|
|
||||||
def test_main():
|
def test_main():
|
||||||
distutils.log.set_threshold(distutils.log.WARN)
|
distutils.log.set_threshold(distutils.log.WARN)
|
||||||
test_support.run_unittest(ModuleFinderTest)
|
test_support.run_unittest(ModuleFinderTest)
|
||||||
|
|
|
@ -30,6 +30,8 @@ Core and Builtins
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Fixed a modulefinder crash on certain relative imports.
|
||||||
|
|
||||||
- Issue #4150: Pdb's "up" command now works for generator frames in post-mortem
|
- Issue #4150: Pdb's "up" command now works for generator frames in post-mortem
|
||||||
debugging.
|
debugging.
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue