aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/testsuite/ChangeLog13
-rw-r--r--gdb/testsuite/gdb.python/py-mi-events-gdb.py12
-rw-r--r--gdb/testsuite/gdb.python/py-mi-events.exp21
3 files changed, 33 insertions, 13 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index e5f1c54..b33e1be 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,16 @@
+2016-06-21 Pedro Alves <palves@redhat.com>
+
+ * gdb.python/py-mi-events-gdb.py (stop_handler_str)
+ (cont_handler_str): New.
+ (signal_stop_handler): Set stop_handler_str instead of printing to
+ stdout.
+ (continue_handler): Set cont_handler_str instead of printing to
+ stdout.
+ * gdb.python/py-mi-events.exp: Ues mi_execute_to instead of
+ mi_send_resuming_command. Print stop_handler_str and
+ cont_handler_str instead of expecting the python events print
+ directly.
+
2016-06-17 Sanjoy Das <sanjoy@playingwithpointers.com>
* gdb.base/jit-reader.exp: New file.
diff --git a/gdb/testsuite/gdb.python/py-mi-events-gdb.py b/gdb/testsuite/gdb.python/py-mi-events-gdb.py
index 975ff2f..2bcb1fa 100644
--- a/gdb/testsuite/gdb.python/py-mi-events-gdb.py
+++ b/gdb/testsuite/gdb.python/py-mi-events-gdb.py
@@ -19,19 +19,23 @@
import gdb
+stop_handler_str = ""
+cont_handler_str = ""
def signal_stop_handler (event):
"""Stop event handler"""
assert (isinstance (event, gdb.StopEvent))
- print ("stop_handler")
- print (gdb.execute("info break", False, True))
+ global stop_handler_str
+ stop_handler_str = "stop_handler\n"
+ stop_handler_str += gdb.execute("info break", False, True)
def continue_handler (event):
"""Continue event handler"""
assert (isinstance (event, gdb.ContinueEvent))
- print ("continue_handler")
- print (gdb.execute("info break", False, True))
+ global cont_handler_str
+ cont_handler_str = "continue_handler\n"
+ cont_handler_str += gdb.execute("info break", False, True)
class test_events (gdb.Command):
diff --git a/gdb/testsuite/gdb.python/py-mi-events.exp b/gdb/testsuite/gdb.python/py-mi-events.exp
index 6f063e1..d20ae98 100644
--- a/gdb/testsuite/gdb.python/py-mi-events.exp
+++ b/gdb/testsuite/gdb.python/py-mi-events.exp
@@ -58,14 +58,16 @@ mi_gdb_test "test-events" \
"register events"
+set lineno [gdb_get_line_number "i++;"]
+
# set a breakpoint into the for loop
-mi_gdb_test "break ${srcfile}:[gdb_get_line_number "i++;"]" \
+mi_gdb_test "break ${srcfile}:$lineno" \
".*Breakpoint $decimal at 0x\[0-9a-fA-F\]+: file .*${srcfile}.*\\\.*\\^done" \
"set the breakpoint"
# resume the program
-mi_send_resuming_command "exec-continue" "continue"
+mi_execute_to "exec-continue" "breakpoint-hit" "main" "" ".*$srcfile" "$lineno" { "" "disp=\"keep\"" } "continue"
# test the python event handlers execution. The following checks are performed:
@@ -73,12 +75,13 @@ mi_send_resuming_command "exec-continue" "continue"
# - the continue handler prints "info breakpoints" output in console format
# - breakpoint is hit and python stop handler is executed
# - the stop handler prints "info breakpoints" output in console format
-mi_gdb_test "" ".*continue_handler.*
-.*Num.*Type.*Disp.*Enb.*Address.*\
-.*$decimal.*breakpoint.*keep.*y.* 0x\[0-9a-fA-F\]+.*${srcfile}.*
-.*stop_handler.*
-.*Num.*Type.*Disp.*Enb.*Address.*\
-.*$decimal.*breakpoint.*keep.*y.* 0x\[0-9a-fA-F\]+.*${srcfile}.*" \
-"check python continue and stop handlers"
+
+mi_gdb_test "python print (stop_handler_str)" \
+".*stop_handler.*Num.*Type.*Disp.*Enb.*Address.*$decimal.*breakpoint.*keep.*y.* 0x\[0-9a-fA-F\]+.*${srcfile}.*" \
+"python stop handler ran"
+
+mi_gdb_test "python print (cont_handler_str)" \
+".*continue_handler.*Num.*Type.*Disp.*Enb.*Address.*$decimal.*breakpoint.*keep.*y.* 0x\[0-9a-fA-F\]+.*${srcfile}.*" \
+"python continue handler ran"
mi_gdb_exit