[pypy-svn] r68940 - in pypy/trunk/pypy/interpreter: . test

cfbolz at codespeak.net cfbolz at codespeak.net
Tue Nov 3 16:09:32 CET 2009


Author: cfbolz
Date: Tue Nov  3 16:09:32 2009
New Revision: 68940

Modified:
   pypy/trunk/pypy/interpreter/executioncontext.py
   pypy/trunk/pypy/interpreter/test/test_executioncontext.py
Log:
fix Maciek's test


Modified: pypy/trunk/pypy/interpreter/executioncontext.py
==============================================================================
--- pypy/trunk/pypy/interpreter/executioncontext.py	(original)
+++ pypy/trunk/pypy/interpreter/executioncontext.py	Tue Nov  3 16:09:32 2009
@@ -178,6 +178,9 @@
         while frame is not None and not frame.f_back_forced:
             frame.f_back_some = f_back = ExecutionContext._extract_back_from_frame(frame)
             frame.f_back_forced = True
+            # now that we force the whole chain, we also have to set the
+            # forward links to None
+            frame.f_forward = None
             frame = f_back
         return orig_frame.f_back_some
 

Modified: pypy/trunk/pypy/interpreter/test/test_executioncontext.py
==============================================================================
--- pypy/trunk/pypy/interpreter/test/test_executioncontext.py	(original)
+++ pypy/trunk/pypy/interpreter/test/test_executioncontext.py	Tue Nov  3 16:09:32 2009
@@ -742,7 +742,6 @@
         assert not frame2.escaped
 
     def test_frame_top_is_virtualizable(self):
-        skip("crash!")
         ec, frame, frame2 = self.enter_two_jitted_levels()
         frame3 = self.Frame(ec, frame2)
         ec.jitted = False
@@ -751,7 +750,10 @@
         frame3.force_f_back()
         ec._unchain(frame3)
         assert not frame2.f_forward
+        assert ec.gettopframe() is frame2
         ec.jitted = True
         ec._unchain(frame2)
         assert not frame.f_forward
         assert ec.gettopframe() is frame
+        ec._unchain(frame)
+        assert ec.gettopframe() is None



More information about the Pypy-commit mailing list