diff options
Diffstat (limited to 'gdb/testsuite/gdb.mi/mi-stepi.exp')
-rw-r--r-- | gdb/testsuite/gdb.mi/mi-stepi.exp | 36 |
1 files changed, 26 insertions, 10 deletions
diff --git a/gdb/testsuite/gdb.mi/mi-stepi.exp b/gdb/testsuite/gdb.mi/mi-stepi.exp index 720006d..867fc39 100644 --- a/gdb/testsuite/gdb.mi/mi-stepi.exp +++ b/gdb/testsuite/gdb.mi/mi-stepi.exp @@ -1,4 +1,4 @@ -# Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc. +# Copyright 1999, 2000, 2001, 2002, 2004 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 @@ -14,9 +14,6 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - # Test Machine interface (MI) operations # Verify that, using the MI, we can run a simple program and perform # exec-step-instruction and exec-next-instruction. @@ -50,10 +47,19 @@ proc test_stepi_nexti {} { global mi_gdb_prompt global hex + set line_main_head [gdb_get_line_number "main ("] + set line_main_body [expr $line_main_head + 2] + set line_main_hello [gdb_get_line_number "Hello, World!"] + send_gdb "111-exec-step-instruction\n" gdb_expect { - -re "111\\^running\r\n${mi_gdb_prompt}111\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"main\",args=\\\[\\\],file=\".*basics.c\",line=\"3.\"\}\r\n$mi_gdb_prompt$" { - pass "step-instruction at main" + -re "111\\^running\r\n${mi_gdb_prompt}111\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"main\",args=\\\[\\\],file=\".*basics.c\",line=\"(\[0-9\]+)\"\}\r\n$mi_gdb_prompt$" { + set line $expect_out(1,string) + if { $line >= $line_main_body && $line <= $line_main_hello } { + pass "step-instruction at main" + } else { + fail "step-instruction at main" + } } timeout { fail "step-instruction at main (timeout)" @@ -61,8 +67,13 @@ proc test_stepi_nexti {} { } send_gdb "222-exec-next-instruction\n" gdb_expect { - -re "222\\^running\r\n${mi_gdb_prompt}222\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"main\",args=\\\[\\\],file=\".*basics.c\",line=\"3.\"\}\r\n$mi_gdb_prompt$" { - pass "next-instruction at main" + -re "222\\^running\r\n${mi_gdb_prompt}222\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"main\",args=\\\[\\\],file=\".*basics.c\",line=\"(\[0-9\]+)\"\}\r\n$mi_gdb_prompt$" { + set line $expect_out(1,string) + if { $line >= $line_main_body && $line <= $line_main_hello } { + pass "next-instruction at main" + } else { + fail "next-instruction at main" + } } timeout { fail "next-instruction at main (timeout)" @@ -70,8 +81,13 @@ proc test_stepi_nexti {} { } send_gdb "333-exec-next-instruction\n" gdb_expect { - -re "333\\^running\r\n${mi_gdb_prompt}333\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"main\",args=\\\[\\\],file=\".*basics.c\",line=\"3.\"\}\r\n$mi_gdb_prompt$" { - pass "next-instruction at main" + -re "333\\^running\r\n${mi_gdb_prompt}333\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"main\",args=\\\[\\\],file=\".*basics.c\",line=\"(\[0-9\]+)\"\}\r\n$mi_gdb_prompt$" { + set line $expect_out(1,string) + if { $line >= $line_main_body && $line <= $line_main_hello } { + pass "next-instruction at main" + } else { + fail "next-instruction at main" + } } timeout { fail "next-instruction at main (timeout)" |