* lib/gdb.exp (inferior_exited_re): Match. leading `['. Wrap in

parentheses.
	(gdb_continue_to_end): Add "allow_extra" parameter.  Use
	$command.
	* gdb.threads/thread-unwindonsignal.exp: Pass "allow_extra"
	argument to gdb_continue_to_end.
	* gdb.threads/interrupted-hand-call.exp: Pass "allow_extra"
	argument to gdb_continue_to_end.
	* gdb.cp/annota3.exp: Fix regex.
	* gdb.cp/annota2.exp: Fix regex.
	* gdb.base/shlib-call.exp: Pass "allow_extra" argument to
	gdb_continue_to_end.
	* gdb.base/call-signal-resume.exp: Revert earlier patch.
	* gdb.ada/tasks.exp: Pass "allow_extra" argument to
	gdb_continue_to_end.
This commit is contained in:
Tom Tromey 2011-03-09 14:17:05 +00:00
parent 9f37bbcca8
commit eceb0c5f49
9 changed files with 43 additions and 17 deletions

View File

@ -1,3 +1,21 @@
2011-03-09 Tom Tromey <tromey@redhat.com>
* lib/gdb.exp (inferior_exited_re): Match. leading `['. Wrap in
parentheses.
(gdb_continue_to_end): Add "allow_extra" parameter. Use
$command.
* gdb.threads/thread-unwindonsignal.exp: Pass "allow_extra"
argument to gdb_continue_to_end.
* gdb.threads/interrupted-hand-call.exp: Pass "allow_extra"
argument to gdb_continue_to_end.
* gdb.cp/annota3.exp: Fix regex.
* gdb.cp/annota2.exp: Fix regex.
* gdb.base/shlib-call.exp: Pass "allow_extra" argument to
gdb_continue_to_end.
* gdb.base/call-signal-resume.exp: Revert earlier patch.
* gdb.ada/tasks.exp: Pass "allow_extra" argument to
gdb_continue_to_end.
2011-03-08 Jan Kratochvil <jan.kratochvil@redhat.com>
* gdb.server/ext-run.exp

View File

@ -70,5 +70,4 @@ gdb_test "info tasks" \
# Now, resume the execution and make sure that GDB does not stop when
# task 4 hits the breakpoint. Continuing thus results in our program
# running to completion.
gdb_continue_to_end
gdb_continue_to_end "" continue 1

View File

@ -146,6 +146,7 @@ gdb_test "continue" "Breakpoint \[0-9\]*, handle_signal.*" \
# Continue one last time, the program should exit normally.
gdb_continue_to_end
gdb_test "continue" "$inferior_exited_re normally." \
"continue to program exit"
return 0

View File

@ -182,12 +182,12 @@ if ![is_remote target] {
gdb_test "run" "Starting program:.*Breakpoint .,.*" \
"run to bp in shared library"
gdb_continue_to_end
gdb_continue_to_end "" continue 1
gdb_test "run" "Starting program:.*Breakpoint .,.*" \
"re-run to bp in shared library (PR's 16495, 18213)"
gdb_continue_to_end
gdb_continue_to_end "" continue 1
}
return 0

View File

@ -116,7 +116,7 @@ gdb_test_multiple "print a" "print class" {
# `a.x is 1' is asynchronous regarding to `frames-invalid'.
#
gdb_test_multiple "continue" "continue until exit" {
-re "\r\n\032\032post-prompt\r\nContinuing.\r\n\r\n\032\032starting\(\r\n\r\n\032\032frames-invalid\)*\r\na.x is 1\r\n\(\r\n\032\032frames-invalid\r\n\)*\r\n\032\032exited 0\r\n.$inferior_exited_re normally.\r\n\r\n\032\032stopped\r\n$gdb_prompt$" {
-re "\r\n\032\032post-prompt\r\nContinuing.\r\n\r\n\032\032starting\(\r\n\r\n\032\032frames-invalid\)*\r\na.x is 1\r\n\(\r\n\032\032frames-invalid\r\n\)*\r\n\032\032exited 0\r\n$inferior_exited_re normally.\r\n\r\n\032\032stopped\r\n$gdb_prompt$" {
pass "continue until exit"
}
}

View File

@ -116,15 +116,14 @@ gdb_expect_list "print class" "$gdb_prompt$" {
# annotate-exited
#
send_gdb "continue\n"
gdb_expect_list "continue to exit" "$gdb_prompt$" {
gdb_expect_list "continue to exit" "$gdb_prompt$" [concat {
"\r\n\032\032post-prompt\r\n"
"Continuing.\r\n"
"\r\n\032\032starting\r\n"
"a.x is 1\r\n"
"\r\n\032\032exited 0\r\n"
".$inferior_exited_re normally.\r\n"
"\r\n\032\032exited 0\r\n"} [list "$inferior_exited_re normally.\r\n"] {
"\r\n\032\032stopped\r\n"
}
}]
#
# delete all breakpoints

View File

@ -86,6 +86,6 @@ gdb_test_multiple "maint print dummy-frames" "dummy frame popped" {
# Continue one last time, the program should exit normally.
gdb_continue_to_end
gdb_continue_to_end "" continue 1
return 0

View File

@ -110,6 +110,6 @@ gdb_test_multiple "maint print dummy-frames" "dummy frame popped" {
# Continue one last time, the program should exit normally.
gdb_continue_to_end
gdb_continue_to_end "" continue 1
return 0

View File

@ -99,7 +99,7 @@ if ![info exists env(EXEEXT)] {
set octal "\[0-7\]+"
set inferior_exited_re "Inferior \[0-9\]+ \\(.*\\) exited"
set inferior_exited_re "(\\\[Inferior \[0-9\]+ \\(.*\\) exited)"
### Only procedures should come after this point.
@ -3062,8 +3062,12 @@ proc gdb_get_line_number { text { file "" } } {
# default is used.
# COMMAND is the command to invoke. If not given, "continue" is
# used.
# ALLOW_EXTRA is a flag indicating whether the test should expect
# extra output between the "Continuing." line and the program
# exiting. By default it is zero; if nonzero, any extra output
# is accepted.
proc gdb_continue_to_end {{mssg ""} {command continue}} {
proc gdb_continue_to_end {{mssg ""} {command continue} {allow_extra 0}} {
global inferior_exited_re
if {$mssg == ""} {
@ -3071,18 +3075,23 @@ proc gdb_continue_to_end {{mssg ""} {command continue}} {
} else {
set text "continue until exit at $mssg"
}
if {$allow_extra} {
set extra ".*"
} else {
set extra ""
}
if [target_info exists use_gdb_stub] {
if {![gdb_breakpoint "exit"]} {
return 0
}
gdb_test "continue" "Continuing..*Breakpoint .*exit.*" \
gdb_test $command "Continuing..*Breakpoint .*exit.*" \
$text
} else {
# Continue until we exit. Should not stop again.
# Don't bother to check the output of the program, that may be
# extremely tough for some remote systems.
gdb_test "continue"\
"Continuing.\[\r\n0-9\]+(... EXIT code 0\[\r\n\]+|$inferior_exited_re normally).*"\
gdb_test $command \
"Continuing.\[\r\n0-9\]+${extra}(... EXIT code 0\[\r\n\]+|$inferior_exited_re normally).*"\
$text
}
}