Allow making GDB not automatically connect to the native target.
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.base / step-test.exp
index 1878298a6d39fca813d779ac0ab7137268d35845..832924edf57d1109e92787c3c61bde31c78dc3c1 100644 (file)
@@ -1,40 +1,30 @@
 # This testcase is part of GDB, the GNU debugger.
 
-# Copyright 1997, 1998, 1999, 2000, 2002, 2001, 2003, 2004 Free
-# Software Foundation, Inc.
+# Copyright 1997-2014 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
-# the Free Software Foundation; either version 2 of the License, or
+# the Free Software Foundation; either version 3 of the License, or
 # (at your option) any later version.
-# 
+#
 # This program is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU General Public License for more details.
-# 
+#
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 # step-test.exp -- Expect script to test stepping in gdb
 
-if $tracelevel then {
-    strace $tracelevel
-}
-
-set testfile step-test
-set srcfile ${testfile}.c
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .c
 
 remote_exec build "rm -f ${binfile}"
 if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
-     gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
+     untested step-test.exp
+     return -1
 }
 
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+clean_restart ${binfile}
 
 if ![runto_main] then {
    fail "Can't run to main"
@@ -128,8 +118,11 @@ proc test_i {name command here there} {
 test_i "stepi to next line" "stepi" \
        ".*${decimal}.*a.*5.* = a.*3" \
        ".*${decimal}.*callee.*STEPI"
+
+# Continue to step until we enter the function.  Also keep stepping
+# if this passes through a (useless) PLT entry.
 test_i "stepi into function" "stepi" \
-       ".*${decimal}.*callee.*STEPI" \
+       "(.*${decimal}.*callee.*STEPI|.* in callee@plt)" \
        ".*callee \\(\\) at .*step-test\\.c" 
 
 # Continue to step until we reach the function's body.  This makes it
@@ -147,7 +140,7 @@ gdb_test_multiple "finish" "$test" {
     -re ".*${decimal}.*callee.*NEXTI.*$gdb_prompt $" {
        pass "$test"
     }
-    -re ".*(Program received|Program exited).*$gdb_prompt $" {
+    -re ".*(Program received|$inferior_exited_re).*$gdb_prompt $" {
        # Oops... We ran to the end of the program...  Better reset     
        if {![runto_main]} then {
            fail "$test (Can't run to main)"
This page took 0.025793 seconds and 4 git commands to generate.