* gdb.c++/derivation.exp, gdb.c++/overload.exp,

gdb.c++/userdef.exp: If GDB fails to restore the selected frame
after an inferior function call, report the failure, but allow the
test to continue.
This commit is contained in:
Jim Blandy 2003-04-09 23:21:14 +00:00
parent 366cfc9e2b
commit 5624293aaa
4 changed files with 60 additions and 0 deletions

View File

@ -1,3 +1,10 @@
2003-04-09 Jim Blandy <jimb@redhat.com>
* gdb.c++/derivation.exp, gdb.c++/overload.exp,
gdb.c++/userdef.exp: If GDB fails to restore the selected frame
after an inferior function call, report the failure, but allow the
test to continue.
2003-04-05 Stephane Carrez <stcarrez@nerim.fr> 2003-04-05 Stephane Carrez <stcarrez@nerim.fr>
* gdb.base/break.exp: marker4() is defined at line 46 when compiled * gdb.base/break.exp: marker4() is defined at line 46 when compiled

View File

@ -300,6 +300,24 @@ gdb_expect {
timeout { fail "(timeout) print value of g_instance.afoo()" } timeout { fail "(timeout) print value of g_instance.afoo()" }
} }
# If GDB fails to restore the selected frame properly after the
# inferior function call above (see GDB PR 1155 for an explanation of
# why this might happen), all the subsequent tests will fail. We
# should detect report that failure, but let the marker call finish so
# that the rest of the tests can run undisturbed.
gdb_test_multiple "frame" "re-selected 'main' frame after inferior call" {
-re "#0 marker1.*$gdb_prompt $" {
setup_kfail "gdb/1155" s390-*-linux-gnu
fail "re-selected 'main' frame after inferior call"
gdb_test "finish" ".*main.*at .*derivation.cc:21\[79\].*" \
"finish call to marker1"
}
-re "#1 ($hex in )?main.*$gdb_prompt $" {
pass "re-selected 'main' frame after inferior call"
}
}
send_gdb "print g_instance.bfoo()\n" send_gdb "print g_instance.bfoo()\n"
gdb_expect { gdb_expect {
-re ".\[0-9\]* = 2.*$gdb_prompt $" { -re ".\[0-9\]* = 2.*$gdb_prompt $" {

View File

@ -120,6 +120,24 @@ gdb_expect {
} }
# If GDB fails to restore the selected frame properly after the
# inferior function call above (see GDB PR 1155 for an explanation of
# why this might happen), all the subsequent tests will fail. We
# should detect and report that failure, but let the marker call
# finish so that the rest of the tests can run undisturbed.
gdb_test_multiple "frame" "re-selected 'main' frame after inferior call" {
-re "#0 marker1.*$gdb_prompt $" {
setup_kfail "gdb/1155" s390-*-linux-gnu
fail "re-selected 'main' frame after inferior call"
gdb_test "finish" ".*main.*at .*overload.cc:7\[78\].*" \
"finish call to marker1"
}
-re "#1 ($hex in )?main.*$gdb_prompt $" {
pass "re-selected 'main' frame after inferior call"
}
}
send_gdb "print foo_instance1.overloadargs(1, 2)\n" send_gdb "print foo_instance1.overloadargs(1, 2)\n"
gdb_expect { gdb_expect {
-re ".\[0-9\]* = 2\r\n$gdb_prompt $" { -re ".\[0-9\]* = 2\r\n$gdb_prompt $" {

View File

@ -66,6 +66,23 @@ send_gdb "break marker1\n" ; gdb_expect -re ".*$gdb_prompt $"
gdb_test "print one + two" "\\\$\[0-9\]* = {x = 6, y = 8}" gdb_test "print one + two" "\\\$\[0-9\]* = {x = 6, y = 8}"
# If GDB fails to restore the selected frame properly after the
# inferior function call above (see GDB PR 1155 for an explanation of
# why this might happen), all the subsequent tests will fail. We
# should detect report that failure, but let the marker call finish so
# that the rest of the tests can run undisturbed.
gdb_test_multiple "frame" "re-selected 'main' frame after inferior call" {
-re "#0 marker1.*$gdb_prompt $" {
setup_kfail "gdb/1155" s390-*-linux-gnu
fail "re-selected 'main' frame after inferior call"
gdb_test "finish" ".*main.*at .*userdef.cc:27\[67\].*" \
"finish call to marker1"
}
-re "#1 ($hex in )?main.*$gdb_prompt $" {
pass "re-selected 'main' frame after inferior call"
}
}
gdb_test "print one - two" "\\\$\[0-9\]* = {x = -2, y = -2}" gdb_test "print one - two" "\\\$\[0-9\]* = {x = -2, y = -2}"
gdb_test "print one * two" "\\\$\[0-9\]* = {x = 8, y = 15}" gdb_test "print one * two" "\\\$\[0-9\]* = {x = 8, y = 15}"