From: Tom de Vries <tdevries@suse.de>
To: gdb-patches@sourceware.org
Subject: [PATCH 7/7] [gdb/testsuite] Fix gdb.server/*.exp for remote target
Date: Thu, 9 Mar 2023 10:45:45 +0100 [thread overview]
Message-ID: <20230309094545.4537-7-tdevries@suse.de> (raw)
In-Reply-To: <20230309094545.4537-1-tdevries@suse.de>
Fix test-cases for target board remote-gdbserver-on-localhost by using
gdb_remote_download.
Tested on x86_64-linux.
---
.../gdb.server/exit-multiple-threads.exp | 16 +++++++++-------
gdb/testsuite/gdb.server/reconnect-ctrl-c.exp | 4 +++-
.../gdb.server/run-without-local-binary.exp | 4 +++-
.../gdb.server/stop-reply-no-thread-multi.exp | 4 +++-
.../gdb.server/stop-reply-no-thread.exp | 4 +++-
gdb/testsuite/gdb.server/twice-connect.exp | 4 +++-
6 files changed, 24 insertions(+), 12 deletions(-)
diff --git a/gdb/testsuite/gdb.server/exit-multiple-threads.exp b/gdb/testsuite/gdb.server/exit-multiple-threads.exp
index 87867f00e66..4e55873b1b5 100644
--- a/gdb/testsuite/gdb.server/exit-multiple-threads.exp
+++ b/gdb/testsuite/gdb.server/exit-multiple-threads.exp
@@ -35,7 +35,7 @@ standard_testfile
#
# Places a breakpoint in function 'breakpt' and then continues to the
# breakpoint, at which point it runs 'info threads'.
-proc prepare_for_test { executable disable_multi_process } {
+proc prepare_for_test { executable target_executable disable_multi_process } {
global GDBFLAGS
save_vars { GDBFLAGS } {
@@ -65,7 +65,7 @@ proc prepare_for_test { executable disable_multi_process } {
}
# Start gdbserver and connect.
- set res [gdbserver_start "" $executable]
+ set res [gdbserver_start "" $target_executable]
set gdbserver_protocol [lindex $res 0]
set gdbserver_gdbport [lindex $res 1]
set res [gdb_target_cmd $gdbserver_protocol $gdbserver_gdbport]
@@ -83,10 +83,10 @@ proc prepare_for_test { executable disable_multi_process } {
# we have multiple-threads. EXECUTABLE is the binary under test, and
# DISABLE_MULTI_PROCESS indicates if we should disable GDB's remote
# multi-process support.
-proc run_exit_test { executable disable_multi_process } {
+proc run_exit_test { executable target_executable disable_multi_process } {
global decimal
- prepare_for_test ${executable} ${disable_multi_process}
+ prepare_for_test ${executable} $target_executable ${disable_multi_process}
# Finally, continue until the process exits, ensure we don't see
# any warnings between "Continuing." and the final process has
@@ -107,10 +107,10 @@ proc run_exit_test { executable disable_multi_process } {
# while we have multiple-threads. EXECUTABLE is the binary under
# test, and DISABLE_MULTI_PROCESS indicates if we should disable GDB's
# remote multi-process support.
-proc run_signal_test { executable disable_multi_process } {
+proc run_signal_test { executable target_executable disable_multi_process } {
global decimal gdb_prompt
- prepare_for_test ${executable} ${disable_multi_process}
+ prepare_for_test ${executable} $target_executable ${disable_multi_process}
set inf_pid [get_valueof "/d" "global_pid" "unknown"]
gdb_assert ![string eq ${inf_pid} "unknown"] "read the pid"
@@ -142,7 +142,9 @@ foreach_with_prefix test { exit signal } {
return -1
}
+ set target_executable [gdb_remote_download target $executable]
+
foreach_with_prefix multi_process { 0 1 } {
- $func ${executable} ${multi_process}
+ $func ${executable} $target_executable ${multi_process}
}
}
diff --git a/gdb/testsuite/gdb.server/reconnect-ctrl-c.exp b/gdb/testsuite/gdb.server/reconnect-ctrl-c.exp
index c8ef81443e5..6146cc3888e 100644
--- a/gdb/testsuite/gdb.server/reconnect-ctrl-c.exp
+++ b/gdb/testsuite/gdb.server/reconnect-ctrl-c.exp
@@ -40,6 +40,8 @@ save_vars { GDBFLAGS } {
}
}
+set target_binfile [gdb_remote_download target $binfile]
+
# Make sure we're disconnected, in case we're testing with an
# extended-remote board, therefore already connected.
with_test_prefix "preparation" {
@@ -70,7 +72,7 @@ proc connect_continue_ctrl_c {} {
with_test_prefix "first" {
# Start GDBserver.
set gdbserver_reconnect_p 1
- set res [gdbserver_start "" $binfile]
+ set res [gdbserver_start "" $target_binfile]
set gdbserver_protocol [lindex $res 0]
set gdbserver_gdbport [lindex $res 1]
diff --git a/gdb/testsuite/gdb.server/run-without-local-binary.exp b/gdb/testsuite/gdb.server/run-without-local-binary.exp
index c390eeb435a..08620e0ec3e 100644
--- a/gdb/testsuite/gdb.server/run-without-local-binary.exp
+++ b/gdb/testsuite/gdb.server/run-without-local-binary.exp
@@ -23,6 +23,8 @@ if {[build_executable "failed to prepare" $testfile $srcfile debug]} {
return -1
}
+set target_binfile [gdb_remote_download target $binfile]
+
# Test running GDB without providing a local binary for it. In order
# to do that, we unset GDBFLAGS before running GDB. We also start
# gdbserver "by hand". For more details about this test, see PR
@@ -39,7 +41,7 @@ save_vars { GDBFLAGS } {
gdb_exit
gdb_start
- gdb_test_no_output "set remote exec-file $binfile" \
+ gdb_test_no_output "set remote exec-file $target_binfile" \
"set remote exec-file"
# Make sure we're disconnected, in case we're testing with an
diff --git a/gdb/testsuite/gdb.server/stop-reply-no-thread-multi.exp b/gdb/testsuite/gdb.server/stop-reply-no-thread-multi.exp
index 042c285d98a..cf6be64fab3 100644
--- a/gdb/testsuite/gdb.server/stop-reply-no-thread-multi.exp
+++ b/gdb/testsuite/gdb.server/stop-reply-no-thread-multi.exp
@@ -37,6 +37,8 @@ if { [build_executable "failed to prepare" $testfile $srcfile {debug pthreads}]
return -1
}
+set target_binfile [gdb_remote_download target $binfile]
+
# Run the tests with different features of GDBserver disabled.
# TARGET_NON_STOP is passed to "maint set target-non-stop".
proc run_test { target_non_stop disable_feature } {
@@ -63,7 +65,7 @@ proc run_test { target_non_stop disable_feature } {
if { $disable_feature != "" } {
set packet_arg "--disable-packet=${disable_feature}"
}
- set res [gdbserver_start $packet_arg $binfile]
+ set res [gdbserver_start $packet_arg $::target_binfile]
set gdbserver_protocol [lindex $res 0]
set gdbserver_gdbport [lindex $res 1]
diff --git a/gdb/testsuite/gdb.server/stop-reply-no-thread.exp b/gdb/testsuite/gdb.server/stop-reply-no-thread.exp
index 3ef512bc637..65db483e8de 100644
--- a/gdb/testsuite/gdb.server/stop-reply-no-thread.exp
+++ b/gdb/testsuite/gdb.server/stop-reply-no-thread.exp
@@ -29,6 +29,8 @@ if { [build_executable "failed to prepare" $testfile $srcfile] == -1 } {
return -1
}
+set target_binfile [gdb_remote_download target $binfile]
+
# Run the tests with different features of GDBserver disabled.
proc run_test { disable_feature target_nonstop } {
global binfile gdb_prompt decimal GDBFLAGS
@@ -51,7 +53,7 @@ proc run_test { disable_feature target_nonstop } {
if { $disable_feature != "" } {
set packet_arg "--disable-packet=${disable_feature}"
}
- set res [gdbserver_start $packet_arg $binfile]
+ set res [gdbserver_start $packet_arg $::target_binfile]
set gdbserver_protocol [lindex $res 0]
set gdbserver_gdbport [lindex $res 1]
diff --git a/gdb/testsuite/gdb.server/twice-connect.exp b/gdb/testsuite/gdb.server/twice-connect.exp
index 8ff8334f5f2..fd76ea0ce3e 100644
--- a/gdb/testsuite/gdb.server/twice-connect.exp
+++ b/gdb/testsuite/gdb.server/twice-connect.exp
@@ -29,9 +29,11 @@ if { [build_executable "failed to prepare" $::testfile $::srcfile \
# Don't use $binfile arg, to make sure we use the remote file target:$binfile.
clean_restart
+set target_binfile [gdb_remote_download target $binfile]
+
# Start gdbserver, and connect to it, twice.
foreach_with_prefix session {first second} {
- lassign [gdbserver_start "" "$binfile"] unused gdbserver_address
+ lassign [gdbserver_start "" "$target_binfile"] unused gdbserver_address
gdb_test "disconnect"
set res [gdb_target_cmd "remote" $gdbserver_address]
gdb_assert { $res == 0 } "gdbserver started"
--
2.35.3
next prev parent reply other threads:[~2023-03-09 9:45 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-09 9:45 [PATCH 1/7] [gdb/testsuite] Fix gdb.server/connect-with-no-symbol-file.exp " Tom de Vries
2023-03-09 9:45 ` [PATCH 2/7] [gdb/testsuite] Fix gdb.server/server-kill.exp " Tom de Vries
2023-03-09 9:45 ` [PATCH 3/7] [gdb/testsuite] Fix gdb.server/multi-ui-errors.exp " Tom de Vries
2023-03-09 9:45 ` [PATCH 4/7] [gdb/testsuite] Fix gdb.server/sysroot.exp " Tom de Vries
2023-03-09 13:42 ` Tom de Vries
2023-03-09 9:45 ` [PATCH 5/7] [gdb/testsuite] Fix gdbserver path in remote-stdio-gdbserver.exp Tom de Vries
2023-03-09 9:45 ` [PATCH 6/7] [gdb/testsuite] Fix gdb.server/unittest.exp for remote target Tom de Vries
2023-03-09 9:45 ` Tom de Vries [this message]
2023-03-09 11:30 ` [PATCH 1/7] [gdb/testsuite] Fix gdb.server/connect-with-no-symbol-file.exp " Tom de Vries
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230309094545.4537-7-tdevries@suse.de \
--to=tdevries@suse.de \
--cc=gdb-patches@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).