# Copyright 2014-2019 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 . # 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)" \ "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