aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Lib/importlib/test
diff options
context:
space:
mode:
authorBrett Cannon <bcannon@gmail.com>2009-08-30 04:29:47 +0000
committerBrett Cannon <bcannon@gmail.com>2009-08-30 04:29:47 +0000
commit8a1a59f0eced3327ccf095a3de05701cdf379ab5 (patch)
treee9e6b7c1fae671e3eb3da088b07406498983f9d7 /Lib/importlib/test
parentaf0312af7a279ca1ec067728cd71cf8269b4f597 (diff)
downloadcpython-8a1a59f0eced3327ccf095a3de05701cdf379ab5.tar.gz
cpython-8a1a59f0eced3327ccf095a3de05701cdf379ab5.zip
Merged revisions 74584 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k ........ r74584 | brett.cannon | 2009-08-29 20:47:36 -0700 (Sat, 29 Aug 2009) | 3 lines Have importlib raise ImportError if None is found in sys.modules. This matches current import semantics. ........
Diffstat (limited to 'Lib/importlib/test')
-rw-r--r--Lib/importlib/test/import_/test_caching.py18
1 files changed, 14 insertions, 4 deletions
diff --git a/Lib/importlib/test/import_/test_caching.py b/Lib/importlib/test/import_/test_caching.py
index cf65b233b63..530b1a06dfb 100644
--- a/Lib/importlib/test/import_/test_caching.py
+++ b/Lib/importlib/test/import_/test_caching.py
@@ -17,15 +17,25 @@ class UseCache(unittest.TestCase):
loader returns) [from cache on return]. This also applies to imports of
things contained within a package and thus get assigned as an attribute
[from cache to attribute] or pulled in thanks to a fromlist import
- [from cache for fromlist].
+ [from cache for fromlist]. But if sys.modules contains None then
+ ImportError is raised [None in cache].
"""
def test_using_cache(self):
# [use cache]
module_to_use = "some module found!"
- sys.modules['some_module'] = module_to_use
- module = import_util.import_('some_module')
- self.assertEqual(id(module_to_use), id(module))
+ with util.uncache(module_to_use):
+ sys.modules['some_module'] = module_to_use
+ module = import_util.import_('some_module')
+ self.assertEqual(id(module_to_use), id(module))
+
+ def test_None_in_cache(self):
+ #[None in cache]
+ name = 'using_None'
+ with util.uncache(name):
+ sys.modules[name] = None
+ with self.assertRaises(ImportError):
+ import_util.import_(name)
def create_mock(self, *names, return_=None):
mock = util.mock_modules(*names)