[pypy-svn] r69995 - pypy/branch/listcopyop/pypy/translator/c/test
fijal at codespeak.net
fijal at codespeak.net
Tue Dec 8 17:43:45 CET 2009
Author: fijal
Date: Tue Dec 8 17:43:44 2009
New Revision: 69995
Modified:
pypy/branch/listcopyop/pypy/translator/c/test/test_newgc.py
Log:
Move the test to base class, that's why...
Modified: pypy/branch/listcopyop/pypy/translator/c/test/test_newgc.py
==============================================================================
--- pypy/branch/listcopyop/pypy/translator/c/test/test_newgc.py (original)
+++ pypy/branch/listcopyop/pypy/translator/c/test/test_newgc.py Tue Dec 8 17:43:44 2009
@@ -835,6 +835,32 @@
res = self.run('hash_varsized')
assert res != 0
+
+ def define_arraycopy_writebarrier(cls):
+ import new
+ ll_arraycopy = new.function(rgc.ll_arraycopy.func_code, {})
+
+ TP = lltype.GcArray(lltype.Signed)
+ S = lltype.GcStruct('S')
+ def fn():
+ l = lltype.malloc(TP, 100)
+ for i in range(100):
+ l[i] = 1
+ l2 = lltype.malloc(TP, 50)
+ ll_arraycopy(l, l2, 50, 0, 50)
+ # force a nursery collect
+ x = []
+ for i in range(20):
+ x.append((1, lltype.malloc(S)))
+ for i in range(50):
+ assert l2[i] == 1
+ return 0
+
+ return fn
+
+ def test_arraycopy_writebarrier(self):
+ self.run("arraycopy_writebarrier")
+
class TestSemiSpaceGC(TestUsingFramework, snippet.SemiSpaceGCTestDefines):
gcpolicy = "semispace"
should_be_moving = True
@@ -1027,32 +1053,6 @@
res = self.run("tagged")
assert res == expected
-
- def define_arraycopy_writebarrier(cls):
- import new
- ll_arraycopy = new.function(rgc.ll_arraycopy.func_code, {})
-
- TP = lltype.GcArray(lltype.Signed)
- S = lltype.GcStruct('S')
- def fn():
- l = lltype.malloc(TP, 100)
- for i in range(100):
- l[i] = 1
- l2 = lltype.malloc(TP, 50)
- ll_arraycopy(l, l2, 50, 0, 50)
- # force a nursery collect
- x = []
- for i in range(20):
- x.append((1, lltype.malloc(S)))
- for i in range(50):
- assert l2[i] == 1
- return 0
-
- return fn
-
- def test_arraycopy_writebarrier(self):
- self.run("arraycopy_writebarrier")
-
from pypy.rlib.objectmodel import UnboxedValue
class TaggedBase(object):
More information about the Pypy-commit
mailing list