#18681: Fix a NameError in imp.reload() (noticed by Weizhao Li).
This commit is contained in:
parent
a9e67ad993
commit
056bafe7a6
|
@ -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:
|
||||
|
|
|
@ -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."""
|
||||
|
|
Loading…
Reference in New Issue