Author: Armin Rigo <[email protected]>
Branch: 
Changeset: r172:0d47af9a8ec0
Date: 2013-06-17 14:35 +0200
http://bitbucket.org/pypy/stmgc/changeset/0d47af9a8ec0/

Log:    Next test

diff --git a/c4/test/support.py b/c4/test/support.py
--- a/c4/test/support.py
+++ b/c4/test/support.py
@@ -337,9 +337,11 @@
                         acquire_lock(_lck1)
                         _lck1.release()
                     #
-                    fn(self)
+                    set_value = fn(self)
                 finally:
                     lib.stm_finalize()
+                if set_value is not None:
+                    self.set_afterwards(set_value)
             except Interrupted:
                 pass
             except:
@@ -378,6 +380,14 @@
             print 'set(%d)' % num
             self._get_lock(num).release()
 
+    def set_afterwards(self, num):
+        # Set the value of 'self.step' to 'num'.
+        with self.settinglock:
+            self._get_lock(self.step).acquire()
+            self.step = num
+            print 'set_afterwards(%d)' % num
+            self._get_lock(num).release()
+
     def set_interrupted(self):
         with self.settinglock:
             self.step = Interrupted
diff --git a/c4/test/test_gcpage.py b/c4/test/test_gcpage.py
--- a/c4/test/test_gcpage.py
+++ b/c4/test/test_gcpage.py
@@ -72,3 +72,18 @@
     lib.stm_initialize_and_set_max_abort(0)    # reuse the same
     assert count_global_pages() == 0
     assert count_pages() == 1
+
+def test_move_away_as_full_pages_2():
+    def f1(r):
+        assert count_global_pages() == 0
+        oalloc(HDR)
+        assert count_pages() == 1
+        return 2
+    def f2(r):
+        r.wait(2)
+        assert count_global_pages() == 1
+        assert count_pages() == 0
+        oalloc(HDR)
+        assert count_global_pages() == 1
+        assert count_pages() == 1
+    run_parallel(f1, f2)
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to