diff options
Diffstat (limited to 'gdb/testsuite')
-rw-r--r-- | gdb/testsuite/ChangeLog | 7 | ||||
-rw-r--r-- | gdb/testsuite/gdb.gdb/python-interrupts.exp | 35 | ||||
-rw-r--r-- | gdb/testsuite/gdb.python/py-breakpoint.exp | 4 |
3 files changed, 44 insertions, 2 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 480732a..8c846b8 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2014-02-06 Doug Evans <xdje42@gmail.com> + + * gdb.python/py-breakpoint.exp (test_bkpt_eval_funcs): Update expected + output. + + * gdb.gdb/python-interrupts.exp: New file. + 2014-02-05 Yao Qi <yao@codesourcery.com> * gdb.trace/report.exp (use_collected_data): Test the output diff --git a/gdb/testsuite/gdb.gdb/python-interrupts.exp b/gdb/testsuite/gdb.gdb/python-interrupts.exp new file mode 100644 index 0000000..c1210c6 --- /dev/null +++ b/gdb/testsuite/gdb.gdb/python-interrupts.exp @@ -0,0 +1,35 @@ +# Copyright 2013 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +# Test Python SIGINT handling. +# This is easiest if we can send SIGINT when gdb is at particular points. + +load_lib selftest-support.exp +load_lib gdb-python.exp + +proc test_python_interrupts {} { + if {[skip_python_tests]} { + return -1 + } + + gdb_breakpoint set_active_ext_lang temporary + gdb_test "call catch_command_errors(execute_command, \"python print 5\", 0, RETURN_MASK_ALL)" \ + "Temporary breakpoint.*silently stop." + gdb_test "signal SIGINT" \ + "KeyboardInterrupt.*Error while executing Python code." + return 0 +} + +do_self_tests captured_command_loop test_python_interrupts diff --git a/gdb/testsuite/gdb.python/py-breakpoint.exp b/gdb/testsuite/gdb.python/py-breakpoint.exp index 1ae8fe6..911d586 100644 --- a/gdb/testsuite/gdb.python/py-breakpoint.exp +++ b/gdb/testsuite/gdb.python/py-breakpoint.exp @@ -372,7 +372,7 @@ proc test_bkpt_eval_funcs { } { "Set breakpoint" 0 set test_cond {cond $bpnum} gdb_test "$test_cond \"foo==3\"" \ - "Cannot set a condition where a Python.*" \ + "Only one stop condition allowed. There is currently a Python.*" \ "Check you cannot add a CLI condition to a Python breakpoint that has defined stop" gdb_py_test_silent_cmd "python eval_bp2 = basic(\"$cond_bp\")" \ "Set breakpoint" 0 @@ -385,7 +385,7 @@ proc test_bkpt_eval_funcs { } { "end" "" gdb_test "python eval_bp2.stop = stop_func" \ - "RuntimeError: Cannot set 'stop' method.*" \ + "RuntimeError: Only one stop condition allowed. There is currently a GDB.*" \ "Assign stop function to a breakpoint that has a condition" delete_breakpoints |