[pypy-commit] pypy reverse-debugger: locals. fix tests.

arigo pypy.commits at gmail.com
Mon Jun 20 06:17:58 EDT 2016


Author: Armin Rigo <arigo at tunes.org>
Branch: reverse-debugger
Changeset: r85238:e0198f596958
Date: 2016-06-20 12:19 +0200
http://bitbucket.org/pypy/pypy/changeset/e0198f596958/

Log:	locals. fix tests.

diff --git a/rpython/rlib/revdb.py b/rpython/rlib/revdb.py
--- a/rpython/rlib/revdb.py
+++ b/rpython/rlib/revdb.py
@@ -10,9 +10,10 @@
 from rpython.rtyper.lltypesystem import rffi
 
 
-CMD_PRINT = 1
+CMD_PRINT     = 1
 CMD_BACKTRACE = 2
-ANSWER_TEXT = 20
+CMD_LOCALS    = 3
+ANSWER_TEXT   = 20
 
 
 def stop_point():
diff --git a/rpython/translator/revdb/interact.py b/rpython/translator/revdb/interact.py
--- a/rpython/translator/revdb/interact.py
+++ b/rpython/translator/revdb/interact.py
@@ -116,3 +116,7 @@
         """Show the backtrace"""
         self.pgroup.show_backtrace()
     command_bt = command_backtrace
+
+    def command_locals(self, argument):
+        """Show the locals"""
+        self.pgroup.show_locals()
diff --git a/rpython/translator/revdb/message.py b/rpython/translator/revdb/message.py
--- a/rpython/translator/revdb/message.py
+++ b/rpython/translator/revdb/message.py
@@ -8,6 +8,7 @@
 # by revdb.register_debug_command()
 CMD_PRINT     = 1
 CMD_BACKTRACE = 2
+CMD_LOCALS    = 3
 
 ANSWER_INIT       = -20
 ANSWER_STD        = -21
diff --git a/rpython/translator/revdb/process.py b/rpython/translator/revdb/process.py
--- a/rpython/translator/revdb/process.py
+++ b/rpython/translator/revdb/process.py
@@ -1,4 +1,4 @@
-import os, struct, socket, errno, subprocess
+import sys, os, struct, socket, errno, subprocess
 from rpython.translator.revdb import ancillary
 from rpython.translator.revdb.message import *
 
@@ -104,7 +104,8 @@
         while True:
             msg = self.recv()
             if msg.cmd == ANSWER_TEXT:
-                print msg.extra
+                sys.stdout.write(msg.extra)
+                sys.stdout.flush()
             elif msg.cmd == ANSWER_STD:
                 self.update_times(msg)
                 break
@@ -216,3 +217,9 @@
         """
         self.active.send(Message(CMD_BACKTRACE))
         self.active.print_text_answer()
+
+    def show_locals(self):
+        """Show the locals.
+        """
+        self.active.send(Message(CMD_LOCALS))
+        self.active.print_text_answer()
diff --git a/rpython/translator/revdb/test/test_basic.py b/rpython/translator/revdb/test/test_basic.py
--- a/rpython/translator/revdb/test/test_basic.py
+++ b/rpython/translator/revdb/test/test_basic.py
@@ -360,7 +360,6 @@
 
     def test_interaction_with_forward(self):
         child = self.replay()
-        child.send(Message(1, extra='oops'))
         child.send(Message(CMD_FORWARD, 50))
         child.expect(ANSWER_AT_END)
 
diff --git a/rpython/translator/revdb/test/test_process.py b/rpython/translator/revdb/test/test_process.py
--- a/rpython/translator/revdb/test/test_process.py
+++ b/rpython/translator/revdb/test/test_process.py
@@ -65,6 +65,7 @@
         group = ReplayProcessGroup(str(self.exename), self.rdbname)
         group.active.send(Message(1, 6, extra='set-breakpoint'))
         group.active.expect(42, 1, -43, -44, 'set-breakpoint')
+        group.active.expect(ANSWER_STD, 1, Ellipsis)
         e = py.test.raises(Breakpoint, group.go_forward, 10)
         assert e.value.num == 99
         group._check_current_time(7)


More information about the pypy-commit mailing list