2001-07-25 Michael Snyder <msnyder@redhat.com>

* gdb.base/ending-run.exp: Accept "Program exited normally" as
	legitimate output from stepping out of main.
This commit is contained in:
Michael Snyder 2001-07-25 22:41:43 +00:00
parent 46bac6de18
commit 2b1a1355c5
2 changed files with 54 additions and 31 deletions

View File

@ -1,3 +1,8 @@
2001-07-25 Michael Snyder <msnyder@redhat.com>
* gdb.base/ending-run.exp: Accept "Program exited normally" as
legitimate output from stepping out of main.
2001-07-22 Keith Seitz <keiths@redhat.com> 2001-07-22 Keith Seitz <keiths@redhat.com>
* lib/gdb.exp (_gdbtk_xvfb_init): If GDB_DISPLAY is * lib/gdb.exp (_gdbtk_xvfb_init): If GDB_DISPLAY is

View File

@ -140,6 +140,7 @@ if ![gdb_skip_stdio_test "Step to return"] {
set old_timeout $timeout set old_timeout $timeout
set timeout 50 set timeout 50
set program_exited 0
send_gdb "next\n" send_gdb "next\n"
gdb_expect { gdb_expect {
-re "33.*$gdb_prompt $" { -re "33.*$gdb_prompt $" {
@ -160,6 +161,11 @@ gdb_expect {
# This is what happens on sparc64-elf ultra. # This is what happens on sparc64-elf ultra.
pass "step out of main" pass "step out of main"
} }
-re ".*Program exited normally.*$gdb_prompt $" {
# This is what happens on Linux i86 (and I would expect others)
set program_exited 1
pass "step out of main"
}
-re ".*in .nope ().*$gdb_prompt $" { -re ".*in .nope ().*$gdb_prompt $" {
# This is what happens on Solaris currently -sts 1999-08-25 # This is what happens on Solaris currently -sts 1999-08-25
pass "step out of main on Solaris" pass "step out of main on Solaris"
@ -185,6 +191,11 @@ gdb_expect {
-re ".*in.*\\\$START\\\$.*from.*dld.sl.*$gdb_prompt $" { -re ".*in.*\\\$START\\\$.*from.*dld.sl.*$gdb_prompt $" {
pass "step out of main 2" pass "step out of main 2"
} }
-re ".*Program exited normally.*$gdb_prompt $" {
# This is what happens on Linux i86 (and I would expect others)
set program_exited 1
pass "step out of main"
}
-re ".*in.*currently asm.*$gdb_prompt $" { -re ".*in.*currently asm.*$gdb_prompt $" {
pass "step out of main into assembler" pass "step out of main into assembler"
} }
@ -196,41 +207,48 @@ gdb_expect {
} }
if {![target_info exists use_cygmon] || ![target_info use_cygmon]} { if {![target_info exists use_cygmon] || ![target_info use_cygmon]} {
send_gdb "n\n" global program_exited;
gdb_expect { if {[eval expr $program_exited == 0]} {
-re "Program exited normally.*$gdb_prompt $" { send_gdb "n\n"
# If we actually have debug info for the start function, gdb_expect {
# then we won't get the "Single-stepping until function -re "Program exited normally.*$gdb_prompt $" {
# exit" message. # If we actually have debug info for the start function,
pass "step to end of run 1" # then we won't get the "Single-stepping until function
} # exit" message.
-re ".*Single.*Program exited.*$gdb_prompt $" { pass "step to end of run 1"
pass "step to end of run 1" }
} -re ".*Single.*Program exited.*$gdb_prompt $" {
-re ".*Single.*in exit.*from.*dld.sl.*$gdb_prompt $" { pass "step to end of run 1"
pass "step to end of run 2" }
gdb_test "c" ".*" "continue after exit" -re ".*Single.*in exit.*from.*dld.sl.*$gdb_prompt $" {
} pass "step to end of run 2"
timeout { fail "(timeout) step to end of run" } gdb_test "c" ".*" "continue after exit"
}
-re ".*$gdb_prompt $" {
fail "step to end of run"
}
timeout {
fail "(timeout) step to end of run"
}
}
} }
set timeout $old_timeout set timeout $old_timeout
gdb_test "n" ".*The program is not being run.*" "don't step after run" gdb_test "n" ".*The program is not being run.*" "don't step after run"
set exec_output [remote_exec host "ls core"] set exec_output [remote_exec host "ls core"]
if [ regexp "core not found" $exec_output] {
if [ regexp "core not found" $exec_output] { pass "No core dumped on quit"
pass "No core dumped on quit"
} else {
if [ regexp "No such file or directory" $exec_output] {
pass "ls: core: No core dumped on quit"
} else { } else {
remote_exec build "rm -f core" if [ regexp "No such file or directory" $exec_output] {
fail "Core dumped on quit" pass "ls: core: No core dumped on quit"
} else {
remote_exec build "rm -f core"
fail "Core dumped on quit"
}
} }
}
} }
#remote_exec build "rm -f ${binfile}" #remote_exec build "rm -f ${binfile}"