]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - gdb/testsuite/gdb.base/break-caller-line.exp
fd82e8a5972233a74483aa22bf4e1605013e7d3b
[thirdparty/binutils-gdb.git] / gdb / testsuite / gdb.base / break-caller-line.exp
1 # Copyright (C) 2012-2014 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 standard_testfile
17
18 if { [prepare_for_testing ${testfile}.exp ${testfile}] } {
19 return -1
20 }
21
22 if ![runto callee] {
23 return 0
24 }
25
26 set test "up"
27 gdb_test_multiple $test $test {
28 -re "\r\n(\[0-9\]+)\[ \t\]+callee \\(\\);\r\n$gdb_prompt $" {
29 set notcurrent $expect_out(1,string)
30 pass $test
31 }
32 }
33
34 set test {info line *$pc}
35 gdb_test_multiple $test $test {
36 -re "\r\nLine (\[0-9\]+) of .*\r\n$gdb_prompt $" {
37 set current $expect_out(1,string)
38 pass $test
39 }
40 }
41
42 if {$notcurrent == $current} {
43 untested "target arch has an instruction after call as part of the caller line"
44 return 0
45 }
46
47 set test "break"
48 gdb_test_multiple $test $test {
49 -re "\r\nBreakpoint \[0-9\]+ at .*, line $current\\.\r\n$gdb_prompt $" {
50 pass $test
51 }
52 -re "\r\nBreakpoint \[0-9\]+ at .*, line $notcurrent\\.\r\n$gdb_prompt $" {
53 fail "$test (caller line)"
54 }
55 }