cpython: 88c3a1a3c2ff (original) (raw)

--- a/Lib/importlib/init.py +++ b/Lib/importlib/init.py @@ -107,7 +107,7 @@ def reload(module): if not module or not isinstance(module, types.ModuleType): raise TypeError("reload() argument must be module") name = module.name

--- a/Lib/importlib/_bootstrap.py +++ b/Lib/importlib/_bootstrap.py @@ -1510,15 +1510,19 @@ def _find_module(name, path): """Find a module's loader.""" if not sys.meta_path: _warnings.warn('sys.meta_path is empty', ImportWarning)

--- a/Lib/test/test_importlib/test_api.py +++ b/Lib/test/test_importlib/test_api.py @@ -1,8 +1,10 @@ from . import util frozen_init, source_init = util.import_importlib('importlib') +frozen_util, source_util = util.import_importlib('importlib.util') frozen_machinery, source_machinery = util.import_importlib('importlib.machinery') +import os.path import sys from test import support import types @@ -190,11 +192,129 @@ class ReloadTests: self.assertEqual(actual.spam, 3) self.assertEqual(reloaded.spam, 3)

+

+

+

+

+

+

+

+ + class Frozen_ReloadTests(ReloadTests, unittest.TestCase): init = frozen_init

class Source_ReloadTests(ReloadTests, unittest.TestCase): init = source_init

class InvalidateCacheTests:

--- a/Misc/NEWS +++ b/Misc/NEWS @@ -127,6 +127,8 @@ Library

--- a/Python/importlib.h +++ b/Python/importlib.h @@ -2932,510 +2932,515 @@ const unsigned char _Py_M__importlib[] = 0,114,5,0,0,0,218,13,95,114,101,115,111,108,118,101, 95,110,97,109,101,220,5,0,0,115,10,0,0,0,0,2, 22,1,18,1,15,1,10,1,114,59,1,0,0,99,2,0,

};