[pypy-commit] pypy gc_no_cleanup_nursery: Write this test
arigo
noreply at buildbot.pypy.org
Wed Sep 24 15:47:57 CEST 2014
Author: Armin Rigo <arigo at tunes.org>
Branch: gc_no_cleanup_nursery
Changeset: r73673:419bb943f8e2
Date: 2014-09-24 15:46 +0200
http://bitbucket.org/pypy/pypy/changeset/419bb943f8e2/
Log: Write this test
diff --git a/rpython/jit/backend/test/runner_test.py b/rpython/jit/backend/test/runner_test.py
--- a/rpython/jit/backend/test/runner_test.py
+++ b/rpython/jit/backend/test/runner_test.py
@@ -4480,7 +4480,24 @@
assert not s.x
def test_zero_ptr_field(self):
- XXX # write me!
+ from rpython.jit.backend.llsupport import symbolic
+ S = lltype.GcStruct('S', ('x', lltype.Signed),
+ ('p', llmemory.GCREF),
+ ('y', lltype.Signed))
+ s = lltype.malloc(S)
+ s.x = -1296321
+ s.y = -4398176
+ s_ref = lltype.cast_opaque_ptr(llmemory.GCREF, s)
+ s.p = s_ref
+ ofs_p, _ = symbolic.get_field_token(S, 'p', False)
+ #
+ self.execute_operation(rop.ZERO_PTR_FIELD, [
+ BoxPtr(s_ref), ConstInt(ofs_p)], # OK for now to assume that the
+ 'void') # 2nd argument is a constant
+ #
+ assert s.x == -1296321
+ assert s.p == lltype.nullptr(llmemory.GCREF.TO)
+ assert s.y == -4398176
def test_zero_array(self):
PAIR = lltype.Struct('PAIR', ('a', lltype.Signed), ('b', lltype.Signed))
More information about the pypy-commit
mailing list