summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorEzio Melotti <ezio.melotti@gmail.com>2013-08-10 16:59:36 (GMT)
committerEzio Melotti <ezio.melotti@gmail.com>2013-08-10 16:59:36 (GMT)
commit056bafe7a663e890594a11eec99c78f742452fff (patch)
tree0982dd869f5febfca0088f0104ae5745cebc7324 /Lib
parenta9e67ad993f672b44341a110f4a71b746dd066bf (diff)
downloadcpython-056bafe7a663e890594a11eec99c78f742452fff.zip
cpython-056bafe7a663e890594a11eec99c78f742452fff.tar.gz
cpython-056bafe7a663e890594a11eec99c78f742452fff.tar.bz2
#18681: Fix a NameError in imp.reload() (noticed by Weizhao Li).
Diffstat (limited to 'Lib')
-rw-r--r--Lib/imp.py2
-rw-r--r--Lib/test/test_imp.py9
2 files changed, 10 insertions, 1 deletions
diff --git a/Lib/imp.py b/Lib/imp.py
index 40869f5..34b6c54 100644
--- a/Lib/imp.py
+++ b/Lib/imp.py
@@ -267,7 +267,7 @@ def reload(module):
parent_name = name.rpartition('.')[0]
if parent_name and parent_name not in sys.modules:
msg = "parent {!r} not in sys.modules"
- raise ImportError(msg.format(parentname), name=parent_name)
+ raise ImportError(msg.format(parent_name), name=parent_name)
return module.__loader__.load_module(name)
finally:
try:
diff --git a/Lib/test/test_imp.py b/Lib/test/test_imp.py
index fe436f3..ade3e25 100644
--- a/Lib/test/test_imp.py
+++ b/Lib/test/test_imp.py
@@ -275,6 +275,15 @@ class ReloadTests(unittest.TestCase):
import marshal
imp.reload(marshal)
+ def test_with_deleted_parent(self):
+ # see #18681
+ from html import parser
+ del sys.modules['html']
+ def cleanup(): del sys.modules['html.parser']
+ self.addCleanup(cleanup)
+ with self.assertRaisesRegex(ImportError, 'html'):
+ imp.reload(parser)
+
class PEP3147Tests(unittest.TestCase):
"""Tests of PEP 3147."""