1 # This testcase is part of GDB, the GNU debugger. 2 # 3 # Copyright 2016-2024 Free Software Foundation, Inc. 4 # 5 # This program is free software; you can redistribute it and/or modify 6 # it under the terms of the GNU General Public License as published by 7 # the Free Software Foundation; either version 3 of the License, or 8 # (at your option) any later version. 9 # 10 # This program is distributed in the hope that it will be useful, 11 # but WITHOUT ANY WARRANTY; without even the implied warranty of 12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 # GNU General Public License for more details. 14 # 15 # You should have received a copy of the GNU General Public License 16 # along with this program. If not, see <http://www.gnu.org/licenses/>. 17 18 # Skip this test if target does not support recording. 19 20 require supports_process_record allow_python_tests 21 22 load_lib gdb-python.exp 23 24 standard_testfile 25 26 if [prepare_for_testing "failed to prepare" $testfile $srcfile] { return -1 } 27 28 if {![runto_main]} { 29 return -1 30 } 31 32 with_test_prefix "no or double record" { 33 gdb_test "python print(gdb.current_recording())" "None" 34 35 gdb_test_no_output "python gdb.start_recording(\"full\")" 36 gdb_test "python gdb.start_recording(\"full\")" \ 37 ".*gdb\.error.*: The process is already being recorded\..*" \ 38 "already recording" 39 40 gdb_test_no_output "python gdb.stop_recording()" "first" 41 gdb_test "python gdb.stop_recording()" \ 42 ".*gdb\.error.*: No recording is currently active\..*" "second" 43 } 44 45 with_test_prefix "preopened record full" { 46 gdb_test_no_output "record full" 47 gdb_test "python print(gdb.current_recording().method)" "full" 48 gdb_test "python print(gdb.current_recording().format)" "full" 49 gdb_test_no_output "python gdb.stop_recording()" 50 } 51