[pypy-commit] pypy reverse-debugger: Test and fix

arigo pypy.commits at gmail.com
Sun Jul 3 11:50:52 EDT 2016


Author: Armin Rigo <arigo at tunes.org>
Branch: reverse-debugger
Changeset: r85525:9fec64697d6b
Date: 2016-07-03 16:46 +0200
http://bitbucket.org/pypy/pypy/changeset/9fec64697d6b/

Log:	Test and fix

diff --git a/rpython/translator/c/node.py b/rpython/translator/c/node.py
--- a/rpython/translator/c/node.py
+++ b/rpython/translator/c/node.py
@@ -497,8 +497,7 @@
 
     def get_declaration(self):
         name = self.name
-        if name.startswith('RPY_RDB_A('):
-            assert name.endswith(')')
+        if name.startswith('RPY_RDB_A(') and name.endswith(')'):
             name = name[len('RPY_RDB_A('):-1]
         if name[-2:] == '.b':
             # xxx fish fish
diff --git a/rpython/translator/revdb/test/test_raw.py b/rpython/translator/revdb/test/test_raw.py
--- a/rpython/translator/revdb/test/test_raw.py
+++ b/rpython/translator/revdb/test/test_raw.py
@@ -29,11 +29,18 @@
         vbar = lltype.malloc(VBAR, 3, flavor='raw', immortal=True)
         vbar[0] = vbar[1] = vbar[2] = foo
 
+        RECBAR = lltype.Struct('RECBAR', ('super', BAR), ('q', lltype.Ptr(FOO)))
+        recbar = lltype.malloc(RECBAR, flavor='raw', immortal=True)
+        recbar.q = foo
+        recbar.super.p = foo
+
         def main(argv):
             assert bar.p == foo
             assert baz.p == foo
             for i in range(3):
                 assert vbar[i] == foo
+            assert recbar.q == foo
+            assert recbar.super.p == foo
             revdb.stop_point()
             return 9
 


More information about the pypy-commit mailing list