Author: Armin Rigo <[email protected]>
Branch: py3.5
Changeset: r89346:05c795ec40f6
Date: 2017-01-03 19:42 +0100
http://bitbucket.org/pypy/pypy/changeset/05c795ec40f6/

Log:    Need to remove frames from both importlib._bootstrap and
        importlib._bootstrap_external

diff --git a/pypy/interpreter/error.py b/pypy/interpreter/error.py
--- a/pypy/interpreter/error.py
+++ b/pypy/interpreter/error.py
@@ -327,11 +327,11 @@
         """Set the current traceback."""
         self._application_traceback = traceback
 
-    def remove_traceback_module_frames(self, module_name):
+    def remove_traceback_module_frames(self, *module_names):
         from pypy.interpreter.pytraceback import PyTraceback
         tb = self._application_traceback
         while tb is not None and isinstance(tb, PyTraceback):
-            if tb.frame.pycode.co_filename != module_name:
+            if tb.frame.pycode.co_filename not in module_names:
                 break
             tb = tb.next
         self._application_traceback = tb
diff --git a/pypy/module/_frozen_importlib/interp_import.py 
b/pypy/module/_frozen_importlib/interp_import.py
--- a/pypy/module/_frozen_importlib/interp_import.py
+++ b/pypy/module/_frozen_importlib/interp_import.py
@@ -15,7 +15,9 @@
         return space.call_args(
             space.fromcache(FrozenCache).w_frozen_import, __args__)
     except OperationError as e:
-        e.remove_traceback_module_frames('<frozen importlib._bootstrap>')
+        e.remove_traceback_module_frames(
+              '<frozen importlib._bootstrap>',
+              '<frozen importlib._bootstrap_external>')
         raise
 import_with_frames_removed = interp2app(import_with_frames_removed,
                                         app_name='__import__')
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to