mirror of
				https://github.com/espressif/binutils-gdb.git
				synced 2025-11-04 06:37:06 +08:00 
			
		
		
		
	* 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:
		gdb/testsuite
@ -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
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
@ -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"
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user