diff options
| author | Joe Friedl <joe@joefriedl.net> | 2013-03-30 21:26:29 -0400 |
|---|---|---|
| committer | Simon Charette <charette.s@gmail.com> | 2013-03-31 23:00:06 -0400 |
| commit | 2d0db67813d457dc890a2287d9e98593565d650f (patch) | |
| tree | 989a45f429b51ade52aec89f45493765bd74b386 /tests/utils_tests/module_loading.py | |
| parent | 3ff3212713403c5bb8c5b067d2f00d62cf111036 (diff) | |
Fixed #20167 -- Preserve the traceback of `ImportError`s in `import_by_path`.
Thanks @carljm for the review.
Diffstat (limited to 'tests/utils_tests/module_loading.py')
| -rw-r--r-- | tests/utils_tests/module_loading.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/tests/utils_tests/module_loading.py b/tests/utils_tests/module_loading.py index cd97e1436d..0a905ef2f1 100644 --- a/tests/utils_tests/module_loading.py +++ b/tests/utils_tests/module_loading.py @@ -120,6 +120,16 @@ class ModuleImportTestCase(unittest.TestCase): import_by_path('unexistent.module.path', error_prefix="Foo") self.assertTrue(str(cm.exception).startswith('Foo')) + def test_import_error_traceback(self): + """Test preserving the original traceback on an ImportError.""" + try: + import_by_path('test_module.bad_module.content') + except ImproperlyConfigured: + traceback = sys.exc_info()[2] + + self.assertIsNotNone(traceback.tb_next.tb_next, + 'Should have more than the calling frame in the traceback.') + class ProxyFinder(object): def __init__(self): |
