From: Thiago Jung Bauermann <thiago.bauermann@linaro.org>
To: gdb-patches@sourceware.org
Subject: [PATCH v2 34/37] GDB: testsuite: threads: Don't return value from top-level (manual)
Date: Wed, 29 Apr 2026 20:04:25 -0300 [thread overview]
Message-ID: <20260429230432.60487-35-thiago.bauermann@linaro.org> (raw)
In-Reply-To: <20260429230432.60487-1-thiago.bauermann@linaro.org>
This patch manually changes "return -1" statements that weren't caught
by the sed command.
These return statements fall into one of these criteria:
- misaligned line, which is then fixed by this patch;
- return at top level but inside block such as for loops,
with_test_prefix, foreach_with_prefix, gdb_test_multiple.
I also fixed a couple cases of "return 0" from top-level that also
weren't caught by sed, and even a couple cases of "return 1" from
top-level.
---
gdb/testsuite/gdb.threads/attach-slow-waitpid.exp | 4 ++--
gdb/testsuite/gdb.threads/corethreads.exp | 4 ++--
gdb/testsuite/gdb.threads/create-fail.exp | 2 +-
gdb/testsuite/gdb.threads/gcore-stale-thread.exp | 2 +-
gdb/testsuite/gdb.threads/gcore-thread.exp | 4 ++--
gdb/testsuite/gdb.threads/linux-dp.exp | 2 +-
gdb/testsuite/gdb.threads/multiple-successive-infcall.exp | 6 +++---
gdb/testsuite/gdb.threads/omp-par-scope.exp | 2 +-
gdb/testsuite/gdb.threads/omp-task.exp | 2 +-
gdb/testsuite/gdb.threads/siginfo-threads.exp | 2 +-
gdb/testsuite/gdb.threads/staticthreads.exp | 4 ++--
gdb/testsuite/gdb.threads/stepi-over-clone.exp | 2 +-
gdb/testsuite/gdb.threads/thread-specific.exp | 4 ++--
gdb/testsuite/gdb.threads/thread_check.exp | 2 +-
gdb/testsuite/gdb.threads/tls.exp | 4 ++--
gdb/testsuite/gdb.threads/watchthreads-reorder.exp | 2 +-
16 files changed, 24 insertions(+), 24 deletions(-)
diff --git a/gdb/testsuite/gdb.threads/attach-slow-waitpid.exp b/gdb/testsuite/gdb.threads/attach-slow-waitpid.exp
index 343a96bc5112..de5a901f0b1f 100644
--- a/gdb/testsuite/gdb.threads/attach-slow-waitpid.exp
+++ b/gdb/testsuite/gdb.threads/attach-slow-waitpid.exp
@@ -51,20 +51,20 @@ set libobj [standard_output_file ${libfile}.so]
with_test_prefix "compile preload library" {
# Compile the preload library. We only get away with this as we
# limit this test to running when ISNATIVE is true.
if { [gdb_compile_shlib_pthreads \
$libsrc $libobj {debug}] != "" } then {
- return -1
+ return
}
}
with_test_prefix "compile test executable" {
# Compile the test program
if { [gdb_compile_pthreads \
"${srcdir}/${subdir}/${srcfile}" "${binfile}" \
executable {debug}] != "" } {
- return -1
+ return
}
}
# Spawn GDB with LIB preloaded with LD_PRELOAD.
diff --git a/gdb/testsuite/gdb.threads/corethreads.exp b/gdb/testsuite/gdb.threads/corethreads.exp
index 4e520c5e8f22..2ea879623368 100644
--- a/gdb/testsuite/gdb.threads/corethreads.exp
+++ b/gdb/testsuite/gdb.threads/corethreads.exp
@@ -21,12 +21,12 @@ if {![istarget "*-*-linux*"]} {
}
standard_testfile
set executable ${testfile}
if { [gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
- untested "failed to compile"
- return -1
+ untested "failed to compile"
+ return
}
set corefile [core_find $binfile]
if {$corefile == ""} {
untested "unable to create or find corefile"
diff --git a/gdb/testsuite/gdb.threads/create-fail.exp b/gdb/testsuite/gdb.threads/create-fail.exp
index c77ccab17ae2..bb7c341a5b5b 100644
--- a/gdb/testsuite/gdb.threads/create-fail.exp
+++ b/gdb/testsuite/gdb.threads/create-fail.exp
@@ -32,11 +32,11 @@ for {set i 1} {$i <= $iterations} {incr i} {
with_test_prefix "iteration $i" {
clean_restart ${executable}
if {![runto_main]} {
- return -1
+ return
}
set test "run till end"
gdb_test_multiple "continue" "$test" {
-re "exited with code 01.*$gdb_prompt $" {
diff --git a/gdb/testsuite/gdb.threads/gcore-stale-thread.exp b/gdb/testsuite/gdb.threads/gcore-stale-thread.exp
index 9faa2686c767..d0465c87a4ad 100644
--- a/gdb/testsuite/gdb.threads/gcore-stale-thread.exp
+++ b/gdb/testsuite/gdb.threads/gcore-stale-thread.exp
@@ -32,11 +32,11 @@ gdb_test_multiple "info threads" "threads are supported" {
-re ".* main .*\r\n$gdb_prompt $" {
# OK, threads are supported.
}
-re "\r\n$gdb_prompt $" {
unsupported "gdb does not support threads on this target"
- return -1
+ return
}
}
gdb_breakpoint ${srcfile}:[gdb_get_line_number "break-here"]
# gdb_continue_to_breakpoint does not work as it uses "$gdb_prompt $" regex
diff --git a/gdb/testsuite/gdb.threads/gcore-thread.exp b/gdb/testsuite/gdb.threads/gcore-thread.exp
index c3b8c56dd4b9..1d0150da6745 100644
--- a/gdb/testsuite/gdb.threads/gcore-thread.exp
+++ b/gdb/testsuite/gdb.threads/gcore-thread.exp
@@ -63,11 +63,11 @@ gdb_test_multiple "info threads" "threads are supported" {
-re ".* main .*$gdb_prompt $" {
# OK, threads are supported.
}
-re "${nl}$gdb_prompt $" {
unsupported "gdb does not support threads on this target"
- return -1
+ return
}
}
# Make sure thread 1 is running
delete_breakpoints
@@ -81,11 +81,11 @@ gdb_test "continue" "Continuing.*Breakpoint.* thread2 .*" "thread 2 is running"
# Drop corefile
set core_supported [gdb_gcore_cmd "$corefile" "save a corefile"]
if {!$core_supported} {
- return -1
+ return
}
# Test the uninitialized thread list.
# Provide the case of glibc td_thr_get_info handling of:
diff --git a/gdb/testsuite/gdb.threads/linux-dp.exp b/gdb/testsuite/gdb.threads/linux-dp.exp
index 42773f2293b5..f573964ea6a4 100644
--- a/gdb/testsuite/gdb.threads/linux-dp.exp
+++ b/gdb/testsuite/gdb.threads/linux-dp.exp
@@ -97,11 +97,11 @@ for {set i 0} {$i < 5} {incr i} {
-re " received signal.*(Unknown signal|SIGUSR|Real-time event).*$gdb_prompt $" {
# It would be nice if we could catch the message that GDB prints
# when it first notices that the thread library doesn't support
# debugging, or if we could explicitly ask GDB somehow.
unsupported "this GDB does not support threads on this system."
- return -1
+ return
}
-re "$gdb_prompt $" {
}
}
if { $threads_created == 1 } {
diff --git a/gdb/testsuite/gdb.threads/multiple-successive-infcall.exp b/gdb/testsuite/gdb.threads/multiple-successive-infcall.exp
index 8d438673cf07..fdcbaa47c7f4 100644
--- a/gdb/testsuite/gdb.threads/multiple-successive-infcall.exp
+++ b/gdb/testsuite/gdb.threads/multiple-successive-infcall.exp
@@ -17,18 +17,18 @@
# multiple inferiors, one after the other.
standard_testfile
if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" \
- executable {debug additional_flags=-std=gnu99}] != "" } {
- return -1
+ executable {debug additional_flags=-std=gnu99}] != "" } {
+ return
}
clean_restart "${::testfile}"
if {![runto_main]} {
- return 0
+ return
}
# Ensure that each new thread is detected by GDB in the order that the
# test case creates them, so the thread identifiers match between
# test and test case.
diff --git a/gdb/testsuite/gdb.threads/omp-par-scope.exp b/gdb/testsuite/gdb.threads/omp-par-scope.exp
index b561bf2f4a5b..7d706078b2c4 100644
--- a/gdb/testsuite/gdb.threads/omp-par-scope.exp
+++ b/gdb/testsuite/gdb.threads/omp-par-scope.exp
@@ -54,11 +54,11 @@ if {[prepare_for_testing "failed to prepare" $testfile $srcfile $opts]} {
# is optional and will only be called if it's defined.
if {[info procs gdb_openmp_setup] != ""} {
if {[gdb_openmp_setup $binfile] != ""} {
untested "could not set up OpenMP environment"
- return -1
+ return
}
}
if {![runto_main]} {
return
diff --git a/gdb/testsuite/gdb.threads/omp-task.exp b/gdb/testsuite/gdb.threads/omp-task.exp
index 636bcf989159..a7f39933d744 100644
--- a/gdb/testsuite/gdb.threads/omp-task.exp
+++ b/gdb/testsuite/gdb.threads/omp-task.exp
@@ -28,11 +28,11 @@ if {[prepare_for_testing "failed to prepare" $testfile $srcfile $opts]} {
}
if {[info procs gdb_openmp_setup] != ""} {
if {[gdb_openmp_setup $binfile] != ""} {
untested "could not set up OpenMP environment"
- return -1
+ return
}
}
if {![runto_main]} {
return
diff --git a/gdb/testsuite/gdb.threads/siginfo-threads.exp b/gdb/testsuite/gdb.threads/siginfo-threads.exp
index acf1185cdfc5..6b095ac968ad 100644
--- a/gdb/testsuite/gdb.threads/siginfo-threads.exp
+++ b/gdb/testsuite/gdb.threads/siginfo-threads.exp
@@ -60,11 +60,11 @@ for {set sigcount 0} {$sigcount < 4} {incr sigcount} {
set sigusr $expect_out(1,string)
pass $test
}
}
if {$sigusr == ""} {
- return -1
+ return
}
set test "signal $sigcount si_signo"
if {$sigusr == 1} {
set signo 10
diff --git a/gdb/testsuite/gdb.threads/staticthreads.exp b/gdb/testsuite/gdb.threads/staticthreads.exp
index bc36d87f7d70..b25c0ae4e3b9 100644
--- a/gdb/testsuite/gdb.threads/staticthreads.exp
+++ b/gdb/testsuite/gdb.threads/staticthreads.exp
@@ -28,11 +28,11 @@ foreach_with_prefix have_tls { "-DHAVE_TLS" "" } {
[list debug "additional_flags=${static_flag} ${have_tls}" \
]] == "" } {
break
}
if { $have_tls == "" } {
- return -1
+ return
}
}
clean_restart ${::testfile}
gdb_test_no_output "set print sevenbit-strings"
@@ -97,11 +97,11 @@ gdb_test_multiple "quit" "$test" {
clean_restart ${::testfile}
if { "$have_tls" != "" } {
if {![runto_main]} {
- return -1
+ return
}
gdb_breakpoint [gdb_get_line_number "tlsvar-is-set"]
gdb_continue_to_breakpoint "tlsvar-is-set" ".* tlsvar-is-set .*"
gdb_test "p tlsvar" " = 2" "tlsvar in thread"
gdb_test "thread 1" ".*"
diff --git a/gdb/testsuite/gdb.threads/stepi-over-clone.exp b/gdb/testsuite/gdb.threads/stepi-over-clone.exp
index f59c6275c5d4..673d77f0028b 100644
--- a/gdb/testsuite/gdb.threads/stepi-over-clone.exp
+++ b/gdb/testsuite/gdb.threads/stepi-over-clone.exp
@@ -83,11 +83,11 @@ gdb_test_multiple "disassemble" "" {
exp_continue
}
-re "^End of assembler dump\\.\r\n$gdb_prompt $" {
if { [llength $syscall_addrs] == 0 } {
unsupported "no syscalls found"
- return -1
+ return
}
}
}
# The test proc. NON_STOP and DISPLACED are either 'on' or 'off', and are
diff --git a/gdb/testsuite/gdb.threads/thread-specific.exp b/gdb/testsuite/gdb.threads/thread-specific.exp
index 79932ab9dc17..a5191122b0f8 100644
--- a/gdb/testsuite/gdb.threads/thread-specific.exp
+++ b/gdb/testsuite/gdb.threads/thread-specific.exp
@@ -79,12 +79,12 @@ gdb_continue_to_breakpoint "all threads started"
set line [gdb_get_line_number "thread-specific.exp: thread loop"]
set threads [get_thread_list]
if {[llength $threads] == 0} {
- # We have already issued a FAIL above.
- return 1
+ # We have already issued a FAIL above.
+ return
}
gdb_test {print $_thread} ".* = [lindex $threads 0]" "thread var in main"
gdb_test {print $_gthread} ".* = [lindex $threads 0]" "gthread var in main"
diff --git a/gdb/testsuite/gdb.threads/thread_check.exp b/gdb/testsuite/gdb.threads/thread_check.exp
index e48e3d5b3c37..013fd253e9f9 100644
--- a/gdb/testsuite/gdb.threads/thread_check.exp
+++ b/gdb/testsuite/gdb.threads/thread_check.exp
@@ -40,11 +40,11 @@ if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" executab
clean_restart ${::testfile}
if {![runto_main]} {
- return 1
+ return
}
#
# set breakpoint at thread function tf
diff --git a/gdb/testsuite/gdb.threads/tls.exp b/gdb/testsuite/gdb.threads/tls.exp
index bf48a6f9fc9e..96e41eed411f 100644
--- a/gdb/testsuite/gdb.threads/tls.exp
+++ b/gdb/testsuite/gdb.threads/tls.exp
@@ -163,11 +163,11 @@ gdb_test_multiple "print a_thread_local" "" {
pass $gdb_test_name
}
}
if {![runto_main]} {
- return 0
+ return
}
# Set a breakpoint at the "spin" routine to
# test the thread local's value.
#
@@ -188,11 +188,11 @@ send_gdb "continue\n"
gdb_expect {
-re ".* received signal SIGSEGV.*a_thread_local = 0;.*$gdb_prompt $" {
# This is the first symptom if the gcc and binutils versions
# in use support TLS, but the system glibc does not.
unsupported "continue to first thread: system does not support TLS"
- return -1
+ return
}
-re ".*$inferior_exited_re normally.*$gdb_prompt $" {
fail "continue to first thread: program runaway"
}
-re ".*Pass 0 done.*Pass 1 done.*$gdb_prompt $" {
diff --git a/gdb/testsuite/gdb.threads/watchthreads-reorder.exp b/gdb/testsuite/gdb.threads/watchthreads-reorder.exp
index f56661d7a5c2..192996b51ca9 100644
--- a/gdb/testsuite/gdb.threads/watchthreads-reorder.exp
+++ b/gdb/testsuite/gdb.threads/watchthreads-reorder.exp
@@ -40,11 +40,11 @@ foreach reorder {0 1} { with_test_prefix "reorder$reorder" {
clean_restart $testfile
gdb_test "set can-use-hw-watchpoints 1"
if {![runto_main]} {
- return -1
+ return
}
# Use "rwatch" as "watch" would report the watchpoint changed just based on its
# read memory value during a stop by unrelated event. We are interested in not
# losing the hardware watchpoint trigger.
next prev parent reply other threads:[~2026-04-29 23:11 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-29 23:03 [PATCH v2 00/37] GDB: testsuite: Fix top-level returns Thiago Jung Bauermann
2026-04-29 23:03 ` [PATCH v2 01/37] GDB: testsuite: aarch64, arm: Don't return value from top-level (sed) Thiago Jung Bauermann
2026-04-29 23:03 ` [PATCH v2 02/37] GDB: testsuite: aarch64, arm: Don't return value from top-level (manual) Thiago Jung Bauermann
2026-04-29 23:03 ` [PATCH v2 03/37] GDB: testsuite: x86, amd64, i386, ia64: Don't return value from top-level (sed) Thiago Jung Bauermann
2026-04-29 23:03 ` [PATCH v2 04/37] GDB: testsuite: x86, amd64, i386: Don't return value from top-level (manual) Thiago Jung Bauermann
2026-04-29 23:03 ` [PATCH v2 05/37] GDB: testsuite: powerpc: Don't return value from top-level (sed) Thiago Jung Bauermann
2026-04-29 23:03 ` [PATCH v2 06/37] GDB: testsuite: powerpc: Don't return value from top-level (manual) Thiago Jung Bauermann
2026-04-29 23:03 ` [PATCH v2 07/37] GDB: testsuite: riscv: Don't return value from top-level (sed) Thiago Jung Bauermann
2026-04-29 23:03 ` [PATCH v2 08/37] GDB: testsuite: riscv: Don't return value from top-level (manual) Thiago Jung Bauermann
2026-04-29 23:04 ` [PATCH v2 09/37] GDB: testsuite: s390: Don't return value from top-level (sed) Thiago Jung Bauermann
2026-04-29 23:04 ` [PATCH v2 10/37] GDB: testsuite: sparc: " Thiago Jung Bauermann
2026-04-29 23:04 ` [PATCH v2 11/37] GDB: testsuite: Don't return value from top-level in tests of various arches Thiago Jung Bauermann
2026-04-29 23:04 ` [PATCH v2 12/37] GDB: testsuite: Don't return value from top-level in multi-arch tests Thiago Jung Bauermann
2026-04-29 23:04 ` [PATCH v2 13/37] GDB: testsuite: base: Don't return -1 from top-level (sed) Thiago Jung Bauermann
2026-04-29 23:04 ` [PATCH v2 14/37] GDB: testsuite: base: Don't return 0 " Thiago Jung Bauermann
2026-04-29 23:04 ` [PATCH v2 15/37] GDB: testsuite: base: Don't return value from top-level (manual) Thiago Jung Bauermann
2026-05-08 22:01 ` Thiago Jung Bauermann
2026-04-29 23:04 ` [PATCH v2 16/37] GDB: testsuite: C++: Don't return value from top-level (sed) Thiago Jung Bauermann
2026-04-29 23:04 ` [PATCH v2 17/37] GDB: testsuite: C++: Don't return value from top-level (manual) Thiago Jung Bauermann
2026-04-29 23:04 ` [PATCH v2 18/37] GDB: testsuite: DWARF: Don't return value from top-level (sed) Thiago Jung Bauermann
2026-04-29 23:04 ` [PATCH v2 19/37] GDB: testsuite: DWARF: Don't return -1 from top-level (manual) Thiago Jung Bauermann
2026-04-29 23:04 ` [PATCH v2 20/37] GDB: testsuite: GDB: Don't return -1 from top-level Thiago Jung Bauermann
2026-04-29 23:04 ` [PATCH v2 21/37] GDB: testsuite: Guile: " Thiago Jung Bauermann
2026-04-29 23:04 ` [PATCH v2 22/37] GDB: testsuite: Python: Don't return -1 from top-level (sed) Thiago Jung Bauermann
2026-04-29 23:04 ` [PATCH v2 23/37] GDB: testsuite: Python: Don't return 0 " Thiago Jung Bauermann
2026-04-29 23:04 ` [PATCH v2 24/37] GDB: testsuite: Python: Don't return value from top-level (manual) Thiago Jung Bauermann
2026-04-29 23:04 ` [PATCH v2 25/37] GDB: testsuite: linespec: Don't return value from top-level Thiago Jung Bauermann
2026-04-29 23:04 ` [PATCH v2 26/37] GDB: testsuite: MI: Don't return -1 from top-level (sed) Thiago Jung Bauermann
2026-04-29 23:04 ` [PATCH v2 27/37] GDB: testsuite: MI: Don't return value from top-level (manual) Thiago Jung Bauermann
2026-04-29 23:04 ` [PATCH v2 28/37] GDB: testsuite: reverse: Don't return -1 from top-level (sed) Thiago Jung Bauermann
2026-04-29 23:04 ` [PATCH v2 29/37] GDB: testsuite: reverse: Don't return value from top-level (manual) Thiago Jung Bauermann
2026-04-29 23:04 ` [PATCH v2 30/37] GDB: testsuite: server: Don't return -1 from top-level (sed) Thiago Jung Bauermann
2026-04-29 23:04 ` [PATCH v2 31/37] GDB: testsuite: server: Don't return value from top-level (manual) Thiago Jung Bauermann
2026-04-29 23:04 ` [PATCH v2 32/37] GDB: testsuite: threads: Don't return -1 from top-level (sed) Thiago Jung Bauermann
2026-04-29 23:04 ` [PATCH v2 33/37] GDB: testsuite: threads: Don't return 0 " Thiago Jung Bauermann
2026-04-29 23:04 ` Thiago Jung Bauermann [this message]
2026-04-29 23:04 ` [PATCH v2 35/37] GDB: testsuite: TUI: Don't return -1 " Thiago Jung Bauermann
2026-04-29 23:04 ` [PATCH v2 36/37] GDB: testsuite: TUI: Don't return 0 from top-level (manual) Thiago Jung Bauermann
2026-04-29 23:04 ` [PATCH v2 37/37] GDB: testsuite: XML: Don't return -1 nor 0 from top-level Thiago Jung Bauermann
2026-05-08 17:47 ` [PATCH v2 00/37] GDB: testsuite: Fix top-level returns Tom Tromey
2026-05-08 22:06 ` Thiago Jung Bauermann
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=20260429230432.60487-35-thiago.bauermann@linaro.org \
--to=thiago.bauermann@linaro.org \
--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