* gdb.base/ending-run.exp: Properly mark "continue after exit" and

"don't step after run" as unresolved or unsupported, instead of xfail.
This commit is contained in:
Fernando Nasser
2002-09-18 17:11:53 +00:00
parent a283c5a10f
commit 31e45dee03
2 changed files with 32 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2002-09-18 Fernando Nasser <fnasser@redhat.com>
* gdb.base/ending-run.exp: Properly mark "continue after exit" and
"don't step after run" as unresolved or unsupported, instead of xfail.
2002-09-18 Corinna Vinschen <vinschen@redhat.com> 2002-09-18 Corinna Vinschen <vinschen@redhat.com>
* gdb.base/ending-run.exp: Fix expected string for _wrap_main to * gdb.base/ending-run.exp: Fix expected string for _wrap_main to

View File

@ -233,6 +233,9 @@ gdb_expect {
# every BSP's exit function behaves differently, so there's no single # every BSP's exit function behaves differently, so there's no single
# way to tell whether we've exited gracefully or not. So don't run # way to tell whether we've exited gracefully or not. So don't run
# these tests when use_gdb_stub is set, or when we're running under Cygmon. # these tests when use_gdb_stub is set, or when we're running under Cygmon.
set program_exited_normally 0
set program_not_exited 0
set program_in_exit 0
if {! [target_info exists use_gdb_stub] if {! [target_info exists use_gdb_stub]
&& (! [target_info exists use_cygmon] || ! [target_info use_cygmon])} { && (! [target_info exists use_cygmon] || ! [target_info use_cygmon])} {
global program_exited; global program_exited;
@ -244,33 +247,54 @@ if {! [target_info exists use_gdb_stub]
# then we won't get the "Single-stepping until function # then we won't get the "Single-stepping until function
# exit" message. # exit" message.
pass "step to end of run" pass "step to end of run"
set program_exited_normally 1
} }
-re "Single.*EXIT code 0\r\n.*Program exited normally.*$gdb_prompt $" { -re "Single.*EXIT code 0\r\n.*Program exited normally.*$gdb_prompt $" {
pass "step to end of run (status wrapper)" pass "step to end of run (status wrapper)"
set program_exited_normally 1
} }
-re ".*Single.*Program exited.*$gdb_prompt $" { -re ".*Single.*Program exited.*$gdb_prompt $" {
pass "step to end of run" pass "step to end of run"
set program_exited_normally 1
} }
-re ".*Single.*in exit.*from.*dld.sl.*$gdb_prompt $" { -re ".*Single.*in exit.*from.*dld.sl.*$gdb_prompt $" {
pass "step to end of run" pass "step to end of run"
gdb_test "c" ".*" "continue after exit" set program_in_exit 1
} }
-re ".*Single.*_int_reset.*$gdb_prompt $" { -re ".*Single.*_int_reset.*$gdb_prompt $" {
pass "step to end of run" pass "step to end of run"
setup_xfail "xstormy16-*-*" if {![istarget "xstormy16-*-*"]} {
set program_exited_normally 1
}
} }
-re ".*$gdb_prompt $" { -re ".*$gdb_prompt $" {
fail "step to end of run" fail "step to end of run"
set program_not_exited 1
} }
timeout { timeout {
fail "(timeout) step to end of run" fail "(timeout) step to end of run"
set program_not_exited 1
} }
} }
} }
if {$program_in_exit} {
if {[gdb_test "c" ".*" "continue after exit"] == 0} {
set program_exited_normally 1
}
} else {
unsupported "continue after exit"
}
set timeout $old_timeout set timeout $old_timeout
if {$program_exited_normally} {
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"
} elseif {$program_not_exited} {
unresolved "don't step after run"
} else {
unsupported "don't step after run"
}
set exec_output [remote_exec host "ls core"] set exec_output [remote_exec host "ls core"]