Automatic Copyright Year update after running gdb/copyright.py
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.mi / mi-stepi.exp
CommitLineData
88b9d363 1# Copyright 1999-2022 Free Software Foundation, Inc.
fb40c209
AC
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
e22f8b7c 5# the Free Software Foundation; either version 3 of the License, or
fb40c209 6# (at your option) any later version.
e22f8b7c 7#
fb40c209
AC
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.
e22f8b7c 12#
fb40c209 13# You should have received a copy of the GNU General Public License
e22f8b7c 14# along with this program. If not, see <http://www.gnu.org/licenses/>.
fb40c209 15
17282693
PA
16# Test Machine interface (MI) operations
17#
18# Test MI's stepi and nexti equivalent commands.
fb40c209 19#
17282693
PA
20# The goal is not to test gdb functionality, which is done by other
21# tests, but to verify the correct output response to MI operations.
fb40c209
AC
22
23load_lib mi-support.exp
b30bf9ee 24set MIFLAGS "-i=mi"
fb40c209 25
298a9cf0
TT
26standard_testfile basics.c
27
9357e021 28if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
5b362f04 29 untested "failed to compile"
b60f0898 30 return -1
fb40c209
AC
31}
32
fb40c209
AC
33proc test_stepi_nexti {} {
34 global mi_gdb_prompt
76ff342d 35 global hex fullname_syntax srcfile
fb40c209 36
45f07fef
MC
37 set line_main_head [gdb_get_line_number "main ("]
38 set line_main_body [expr $line_main_head + 2]
39 set line_main_hello [gdb_get_line_number "Hello, World!"]
40
bb378428
VP
41 set line [mi_execute_to "exec-step-instruction" "end-stepping-range" "main" "" \
42 ".*basics.c" "\[0-9\]+" "" "step-instruction at main"]
43 if { $line >= $line_main_body && $line <= $line_main_hello } {
44 pass "step-instruction at main (line check)"
45 } else {
46 fail "step-instruction at main (line check)"
47 }
48
49 set line [mi_execute_to "exec-next-instruction" "end-stepping-range" "main" "" \
50 ".*basics.c" "\[0-9\]+" "" "next-instruction at main"]
51 if { $line >= $line_main_body && $line <= $line_main_hello } {
52 pass "next-instruction at main (line check)"
53 } else {
54 fail "next-instruction at main (line check)"
fb40c209 55 }
bb378428
VP
56
57 set line [mi_execute_to "exec-next-instruction" "end-stepping-range" "main" "" \
58 ".*basics.c" "\[0-9\]+" "" "next-instruction at main 2"]
59 if { $line >= $line_main_body && $line <= $line_main_hello } {
60 pass "next-instruction at main 2 (line check)"
61 } else {
62 fail "next-instruction at main 2 (line check)"
fb40c209
AC
63 }
64}
65
b75d55d4
PA
66mi_clean_restart $binfile
67mi_runto_main
fb40c209
AC
68test_stepi_nexti
69
70mi_gdb_exit
71return 0
This page took 2.465601 seconds and 4 git commands to generate.