1 # Copyright 2001-2025 Free Software Foundation, Inc. 2 3 # This program is free software; you can redistribute it and/or modify 4 # it under the terms of the GNU General Public License as published by 5 # the Free Software Foundation; either version 3 of the License, or 6 # (at your option) any later version. 7 # 8 # This program is distributed in the hope that it will be useful, 9 # but WITHOUT ANY WARRANTY; without even the implied warranty of 10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 # GNU General Public License for more details. 12 # 13 # You should have received a copy of the GNU General Public License 14 # along with this program. If not, see <http://www.gnu.org/licenses/>. 15 16 # use this to debug: 17 # 18 #log_user 1 19 20 # step-line.exp -- Expect script to test stepping in files with 21 # #line directives. 22 23 standard_testfile 24 set linefile ${testfile}.inp 25 26 if {[prepare_for_testing "failed to prepare" $testfile $srcfile debug]} { 27 return -1 28 } 29 30 if {![runto_main]} { 31 return 0 32 } 33 34 set remote_linefile [gdb_remote_download host ${srcdir}/${subdir}/${linefile}] 35 36 gdb_test "break f1" ".*Breakpoint 2 at .* file .*step-line.c.*" 37 gdb_test "continue" \ 38 "Continuing.*Breakpoint 2, f1 \\(i=4\\).*dummy \\(1, i\\);" \ 39 "continue to f1" 40 gdb_test "next" \ 41 ".*i = f2 \\(i\\);.*" \ 42 "next over dummy 1" 43 gdb_test "next" \ 44 ".*dummy \\(2, i\\);.*" \ 45 "next to dummy 2" 46 gdb_test "next" \ 47 ".*i = f2 \\(i\\);.*" \ 48 "next over dummy 2" 49 gdb_test "step" \ 50 ".*f2 \\(i=4\\).*dummy \\(4, i\\);.*" \ 51 "step into f2" 52 gdb_test "next" \ 53 ".*j = i;.*" \ 54 "next over dummy 4" 55 gdb_test "next" \ 56 ".*dummy \\(5, i\\);.*" \ 57 "next to dummy 5" 58 gdb_test "next" \ 59 ".*dummy \\(6, j\\);.*" \ 60 "next to dummy 6" 61 gdb_test "next" \ 62 ".*j = SUCC \\(j\\);.*" \ 63 "next over dummy 6" 64 gdb_test "next" \ 65 ".*dummy \\(7, i\\);.*" \ 66 "next to dummy 7" 67 gdb_test "next" \ 68 ".*dummy \\(8, j\\);.*" \ 69 "next to dummy 8" 70 gdb_test "next" \ 71 ".*j = j - i;.*" \ 72 "next over dummy 8" 73 gdb_test "next" \ 74 ".*dummy \\(9, i\\);.*" \ 75 "next to dummy 9" 76 gdb_test "next" \ 77 ".*dummy \\(10, j\\);.*" \ 78 "next to dummy 10" 79 gdb_test "next" \ 80 ".*RETURN \\(j\\);.*" \ 81 "next over dummy 10" 82