mirror of
https://github.com/python/cpython.git
synced 2025-11-01 18:51:43 +00:00
Some tests in importlib.test.source.test_abc_loader were testing what happens
when a loader is given missing or bad code object bytecode. Unfortunately an exception related to source paths was masking what the proper exception to test should be. Making the test explicitly set the environment fixed the test. The code being test was not affected.
This commit is contained in:
parent
0a49c58fb0
commit
3c2738488a
2 changed files with 21 additions and 9 deletions
|
|
@ -348,19 +348,27 @@ class BadBytecodeFailureTests(unittest.TestCase):
|
|||
# A bad magic number should lead to an ImportError.
|
||||
name = 'mod'
|
||||
bad_magic = b'\x00\x00\x00\x00'
|
||||
mock = PyPycLoaderMock({}, {name: {'path': os.path.join('path', 'to',
|
||||
'mod'),
|
||||
'magic': bad_magic}})
|
||||
bc = {name:
|
||||
{'path': os.path.join('path', 'to', 'mod'),
|
||||
'magic': bad_magic}}
|
||||
mock = PyPycLoaderMock({name: None}, bc)
|
||||
with util.uncache(name), self.assertRaises(ImportError):
|
||||
mock.load_module(name)
|
||||
|
||||
def test_bad_bytecode(self):
|
||||
# Bad code object bytecode should lead to an ImportError.
|
||||
def test_no_bytecode(self):
|
||||
# Missing code object bytecode should lead to an EOFError.
|
||||
name = 'mod'
|
||||
mock = PyPycLoaderMock({}, {name: {'path': os.path.join('path', 'to',
|
||||
'mod'),
|
||||
'bc': b''}})
|
||||
with util.uncache(name), self.assertRaises(ImportError):
|
||||
bc = {name: {'path': os.path.join('path', 'to', 'mod'), 'bc': b''}}
|
||||
mock = PyPycLoaderMock({name: None}, bc)
|
||||
with util.uncache(name), self.assertRaises(EOFError):
|
||||
mock.load_module(name)
|
||||
|
||||
def test_bad_bytecode(self):
|
||||
# Malformed code object bytecode should lead to a ValueError.
|
||||
name = 'mod'
|
||||
bc = {name: {'path': os.path.join('path', 'to', 'mod'), 'bc': b'XXX'}}
|
||||
mock = PyPycLoaderMock({name: None}, bc)
|
||||
with util.uncache(name), self.assertRaises(ValueError):
|
||||
mock.load_module(name)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -88,6 +88,10 @@ Build
|
|||
Tests
|
||||
-----
|
||||
|
||||
- Fixed tests in importlib.test.source.test_abc_loader that were masking
|
||||
the proper exceptions that should be raised for missing or improper code
|
||||
object bytecode.
|
||||
|
||||
- Removed importlib's custom test discovery code and switched to
|
||||
unittest.TestLoader.discover().
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue