Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [PATCH] Fix test suite failure in file-then-restart.exp
@ 2023-10-11 16:21 Tom Tromey
  2023-10-11 18:19 ` Simon Marchi
  0 siblings, 1 reply; 3+ messages in thread
From: Tom Tromey @ 2023-10-11 16:21 UTC (permalink / raw)
  To: gdb-patches; +Cc: Tom Tromey

Simon pointed out that the new file-then-restart.exp test fails with
the extended-remote target board.

The problem is that the test suite doesn't use gdb_file_cmd -- which
handles things like "set remote exec-file".  This patch changes
gdb_file_cmd to make the "kill" command optional, and then switches
the test case to use it.

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30933
---
 .../boards/native-extended-gdbserver.exp      |  4 +--
 gdb/testsuite/gdb.ada/file-then-restart.exp   |  8 ++----
 gdb/testsuite/lib/gdb.exp                     | 25 +++++++++++--------
 3 files changed, 19 insertions(+), 18 deletions(-)

diff --git a/gdb/testsuite/boards/native-extended-gdbserver.exp b/gdb/testsuite/boards/native-extended-gdbserver.exp
index 844d032ed73..64ff3060ca2 100644
--- a/gdb/testsuite/boards/native-extended-gdbserver.exp
+++ b/gdb/testsuite/boards/native-extended-gdbserver.exp
@@ -95,8 +95,8 @@ proc extended_gdbserver_load_last_file {} {
 if { [info procs extended_gdbserver_gdb_file_cmd] == "" } {
     rename gdb_file_cmd extended_gdbserver_gdb_file_cmd
 }
-proc gdb_file_cmd { arg } {
-    if [extended_gdbserver_gdb_file_cmd $arg] {
+proc gdb_file_cmd { arg {kill_flag 1} } {
+    if [extended_gdbserver_gdb_file_cmd $arg $kill_flag] {
 	return -1
     }
     return [extended_gdbserver_load_last_file]
diff --git a/gdb/testsuite/gdb.ada/file-then-restart.exp b/gdb/testsuite/gdb.ada/file-then-restart.exp
index e2c76b666e3..6940d7f5ba2 100644
--- a/gdb/testsuite/gdb.ada/file-then-restart.exp
+++ b/gdb/testsuite/gdb.ada/file-then-restart.exp
@@ -50,12 +50,8 @@ foreach_with_prefix scenario {kill no-kill} {
 
     gdb_test_no_output "set confirm off"
 
-    if {$scenario == "kill"} {
-	gdb_test "kill" "Inferior $decimal .*killed.*"
-    }
-
-    gdb_test "file $binfile2" "Reading symbols from .*" \
-	"switch to second executable"
+    set result [gdb_file_cmd $binfile2 [expr {$scenario == "kill"}]]
+    gdb_assert {$result == 0} "switch to second executable"
 
     # Start the program a second time, GDB should land in procedure
     # Second this time.
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index 0a908e0af0f..63885860795 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -2146,6 +2146,9 @@ proc default_gdb_exit {} {
 # Load a file into the debugger.
 # The return value is 0 for success, -1 for failure.
 #
+# ARG is the file name.
+# KILL_FLAG, if given, indicates whether a "kill" command should be used.
+#
 # This procedure also set the global variable GDB_FILE_CMD_DEBUG_INFO
 # to one of these values:
 #
@@ -2165,7 +2168,7 @@ proc default_gdb_exit {} {
 # TODO: gdb.base/sepdebug.exp and gdb.stabs/weird.exp might be able to use
 # this if they can get more information set.
 
-proc gdb_file_cmd { arg } {
+proc gdb_file_cmd { arg {kill_flag 1} } {
     global gdb_prompt
     global GDB
     global last_loaded_file
@@ -2194,15 +2197,17 @@ proc gdb_file_cmd { arg } {
     # The file command used to kill the remote target.  For the benefit
     # of the testsuite, preserve this behavior.  Mark as optional so it doesn't
     # get written to the stdin log.
-    send_gdb "kill\n" optional
-    gdb_expect 120 {
-	-re "Kill the program being debugged. .y or n. $" {
-	    send_gdb "y\n" answer
-	    verbose "\t\tKilling previous program being debugged"
-	    exp_continue
-	}
-	-re "$gdb_prompt $" {
-	    # OK.
+    if {$kill_flag} {
+	send_gdb "kill\n" optional
+	gdb_expect 120 {
+	    -re "Kill the program being debugged. .y or n. $" {
+		send_gdb "y\n" answer
+		verbose "\t\tKilling previous program being debugged"
+		exp_continue
+	    }
+	    -re "$gdb_prompt $" {
+		# OK.
+	    }
 	}
     }
 
-- 
2.40.1


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-10-11 18:48 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-10-11 16:21 [PATCH] Fix test suite failure in file-then-restart.exp Tom Tromey
2023-10-11 18:19 ` Simon Marchi
2023-10-11 18:48   ` Simon Marchi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox