diff options
-rw-r--r-- | gdb/testsuite/ChangeLog | 13 | ||||
-rw-r--r-- | gdb/testsuite/gdb.python/py-mi-events-gdb.py | 12 | ||||
-rw-r--r-- | gdb/testsuite/gdb.python/py-mi-events.exp | 21 |
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 |