mirror of
https://github.com/python/cpython.git
synced 2025-10-22 17:33:55 +00:00
gh-74185: repr() of ImportError now contains attributes name and path (#136770)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com> Co-authored-by: Oleg Iarygin <oleg@arhadthedev.net> Co-authored-by: ynir3 <ynir3@bloomberg.net>
This commit is contained in:
parent
c47ffbf1a3
commit
c87b66bc7c
4 changed files with 128 additions and 6 deletions
|
@ -2079,6 +2079,50 @@ def test_copy_pickle(self):
|
|||
self.assertEqual(exc.name, orig.name)
|
||||
self.assertEqual(exc.path, orig.path)
|
||||
|
||||
def test_repr(self):
|
||||
exc = ImportError()
|
||||
self.assertEqual(repr(exc), "ImportError()")
|
||||
|
||||
exc = ImportError('test')
|
||||
self.assertEqual(repr(exc), "ImportError('test')")
|
||||
|
||||
exc = ImportError('test', 'case')
|
||||
self.assertEqual(repr(exc), "ImportError('test', 'case')")
|
||||
|
||||
exc = ImportError(name='somemodule')
|
||||
self.assertEqual(repr(exc), "ImportError(name='somemodule')")
|
||||
|
||||
exc = ImportError('test', name='somemodule')
|
||||
self.assertEqual(repr(exc), "ImportError('test', name='somemodule')")
|
||||
|
||||
exc = ImportError(path='somepath')
|
||||
self.assertEqual(repr(exc), "ImportError(path='somepath')")
|
||||
|
||||
exc = ImportError('test', path='somepath')
|
||||
self.assertEqual(repr(exc), "ImportError('test', path='somepath')")
|
||||
|
||||
exc = ImportError(name='somename', path='somepath')
|
||||
self.assertEqual(repr(exc),
|
||||
"ImportError(name='somename', path='somepath')")
|
||||
|
||||
exc = ImportError('test', name='somename', path='somepath')
|
||||
self.assertEqual(repr(exc),
|
||||
"ImportError('test', name='somename', path='somepath')")
|
||||
|
||||
exc = ModuleNotFoundError('test', name='somename', path='somepath')
|
||||
self.assertEqual(repr(exc),
|
||||
"ModuleNotFoundError('test', name='somename', path='somepath')")
|
||||
|
||||
def test_ModuleNotFoundError_repr_with_failed_import(self):
|
||||
with self.assertRaises(ModuleNotFoundError) as cm:
|
||||
import does_not_exist # type: ignore[import] # noqa: F401
|
||||
|
||||
self.assertEqual(cm.exception.name, "does_not_exist")
|
||||
self.assertIsNone(cm.exception.path)
|
||||
|
||||
self.assertEqual(repr(cm.exception),
|
||||
"ModuleNotFoundError(\"No module named 'does_not_exist'\", name='does_not_exist')")
|
||||
|
||||
|
||||
def run_script(source):
|
||||
if isinstance(source, str):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue