mirror of
https://github.com/python/cpython.git
synced 2025-08-04 17:08:35 +00:00
Update importlib.test.source.test_abc_loader to new features added in Python 3.1.
This commit is contained in:
parent
9ab0731f76
commit
0a49c58fb0
1 changed files with 19 additions and 17 deletions
|
@ -183,7 +183,8 @@ class PyLoaderTests(testing_abc.LoaderTests):
|
|||
mock.source = b"1/0"
|
||||
with util.uncache(name):
|
||||
sys.modules[name] = module
|
||||
self.assertRaises(ZeroDivisionError, mock.load_module, name)
|
||||
with self.assertRaises(ZeroDivisionError):
|
||||
mock.load_module(name)
|
||||
self.assertTrue(sys.modules[name] is module)
|
||||
self.assertTrue(hasattr(module, 'blah'))
|
||||
return mock
|
||||
|
@ -193,7 +194,8 @@ class PyLoaderTests(testing_abc.LoaderTests):
|
|||
mock = self.mocker({name: os.path.join('path', 'to', 'mod')})
|
||||
mock.source = b"1/0"
|
||||
with util.uncache(name):
|
||||
self.assertRaises(ZeroDivisionError, mock.load_module, name)
|
||||
with self.assertRaises(ZeroDivisionError):
|
||||
mock.load_module(name)
|
||||
self.assertTrue(name not in sys.modules)
|
||||
return mock
|
||||
|
||||
|
@ -207,14 +209,14 @@ class PyLoaderInterfaceTests(unittest.TestCase):
|
|||
# No source path should lead to ImportError.
|
||||
name = 'mod'
|
||||
mock = PyLoaderMock({})
|
||||
with util.uncache(name):
|
||||
self.assertRaises(ImportError, mock.load_module, name)
|
||||
with util.uncache(name), self.assertRaises(ImportError):
|
||||
mock.load_module(name)
|
||||
|
||||
def test_source_path_is_None(self):
|
||||
name = 'mod'
|
||||
mock = PyLoaderMock({name: None})
|
||||
with util.uncache(name):
|
||||
self.assertRaises(ImportError, mock.load_module, name)
|
||||
with util.uncache(name), self.assertRaises(ImportError):
|
||||
mock.load_module(name)
|
||||
|
||||
|
||||
class PyLoaderGetSourceTests(unittest.TestCase):
|
||||
|
@ -349,17 +351,17 @@ class BadBytecodeFailureTests(unittest.TestCase):
|
|||
mock = PyPycLoaderMock({}, {name: {'path': os.path.join('path', 'to',
|
||||
'mod'),
|
||||
'magic': bad_magic}})
|
||||
with util.uncache(name):
|
||||
self.assertRaises(ImportError, mock.load_module, name)
|
||||
with util.uncache(name), self.assertRaises(ImportError):
|
||||
mock.load_module(name)
|
||||
|
||||
def test_bad_bytecode(self):
|
||||
# Bad code object bytecode should elad to an ImportError.
|
||||
# Bad code object bytecode should lead to an ImportError.
|
||||
name = 'mod'
|
||||
mock = PyPycLoaderMock({}, {name: {'path': os.path.join('path', 'to',
|
||||
'mod'),
|
||||
'bc': b''}})
|
||||
with util.uncache(name):
|
||||
self.assertRaises(ImportError, mock.load_module, name)
|
||||
with util.uncache(name), self.assertRaises(ImportError):
|
||||
mock.load_module(name)
|
||||
|
||||
|
||||
def raise_ImportError(*args, **kwargs):
|
||||
|
@ -387,16 +389,16 @@ class MissingPathsTests(unittest.TestCase):
|
|||
# If all *_path methods return None, raise ImportError.
|
||||
name = 'mod'
|
||||
mock = PyPycLoaderMock({name: None})
|
||||
with util.uncache(name):
|
||||
self.assertRaises(ImportError, mock.load_module, name)
|
||||
with util.uncache(name), self.assertRaises(ImportError):
|
||||
mock.load_module(name)
|
||||
|
||||
def test_source_path_ImportError(self):
|
||||
# An ImportError from source_path should trigger an ImportError.
|
||||
name = 'mod'
|
||||
mock = PyPycLoaderMock({}, {name: {'path': os.path.join('path', 'to',
|
||||
'mod')}})
|
||||
with util.uncache(name):
|
||||
self.assertRaises(ImportError, mock.load_module, name)
|
||||
with util.uncache(name), self.assertRaises(ImportError):
|
||||
mock.load_module(name)
|
||||
|
||||
def test_bytecode_path_ImportError(self):
|
||||
# An ImportError from bytecode_path should trigger an ImportError.
|
||||
|
@ -404,8 +406,8 @@ class MissingPathsTests(unittest.TestCase):
|
|||
mock = PyPycLoaderMock({name: os.path.join('path', 'to', 'mod')})
|
||||
bad_meth = types.MethodType(raise_ImportError, mock)
|
||||
mock.bytecode_path = bad_meth
|
||||
with util.uncache(name):
|
||||
self.assertRaises(ImportError, mock.load_module, name)
|
||||
with util.uncache(name), self.assertRaises(ImportError):
|
||||
mock.load_module(name)
|
||||
|
||||
|
||||
def test_main():
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue