[pushed] gdb/testsuite: make some tests in gdb.base enable non-stop using GDBFLAGS
Simon Marchi
simon.marchi@efficios.com
Wed Dec 16 21:47:43 GMT 2020
For the same reason as explained in commit 7cb2893dfab1 ("gdb/testsuite:
gdb.mi/mi-nonstop-exit.exp: enable non-stop using GDBFLAGS").
Note that the use of
set GDBFLAGS "$GDBFLAGS ..."
instead of
append GDBFLAGS "..."
is intentional. "append" is silent when appending to a non-existent
variable. So if this code if moved to a proc (as is the case already
for step-sw-breakpoint-adjust-pc.exp) and we forget to add "global
GDBFLAGS", the flag won't be added to the global GDBFLAGS, and we won't
actually enable non-stop, and it might go unnoticed. Using the "set"
version will turn into an error if we forget the "global".
This makes these test work correctly with native-extended-gdbserver.
Some of them were silently failing because we runto_main is silent when
it fails.
gdb/testsuite/ChangeLog:
* gdb.base/async-shell.exp: Enable non-stop through GDBFLAGS.
* gdb.base/continue-all-already-running.exp: Likewise.
* gdb.base/moribund-step.exp: Likewise.
* gdb.base/step-sw-breakpoint-adjust-pc.exp: Likewise.
Change-Id: I19ef05d07a0ec4a9c9476af2ba6e1ea1159ee437
---
gdb/testsuite/ChangeLog | 7 +++++++
gdb/testsuite/gdb.base/async-shell.exp | 8 +++++---
gdb/testsuite/gdb.base/continue-all-already-running.exp | 9 +++++----
gdb/testsuite/gdb.base/moribund-step.exp | 9 +++++----
gdb/testsuite/gdb.base/step-sw-breakpoint-adjust-pc.exp | 7 +++++--
5 files changed, 27 insertions(+), 13 deletions(-)
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 3a7fc0c90302..e48a6fe0ec1f 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2020-12-16 Simon Marchi <simon.marchi@efficios.com>
+
+ * gdb.base/async-shell.exp: Enable non-stop through GDBFLAGS.
+ * gdb.base/continue-all-already-running.exp: Likewise.
+ * gdb.base/moribund-step.exp: Likewise.
+ * gdb.base/step-sw-breakpoint-adjust-pc.exp: Likewise.
+
2020-12-16 Tom de Vries <tdevries@suse.de>
* gdb.base/batch-preserve-term-settings.exp:
diff --git a/gdb/testsuite/gdb.base/async-shell.exp b/gdb/testsuite/gdb.base/async-shell.exp
index 001a9ed05a22..ad7813aac71b 100644
--- a/gdb/testsuite/gdb.base/async-shell.exp
+++ b/gdb/testsuite/gdb.base/async-shell.exp
@@ -25,13 +25,15 @@ if [use_gdb_stub] {
return 0
}
-if { [prepare_for_testing "failed to prepare" ${testfile} $srcfile] } {
- return -1
+save_vars { GDBFLAGS } {
+ set GDBFLAGS "$GDBFLAGS -ex \"set non-stop on\""
+ if { [prepare_for_testing "failed to prepare" ${testfile} $srcfile] } {
+ return -1
+ }
}
set gdbindex_warning_re "warning: Skipping \[^\r\n\]+ \\.gdb_index section \[^\r\n\]*\r\nDo \"set use-deprecated-index-sections on\" before the file is read\r\nto use the section anyway\\."
-gdb_test_no_output "set non-stop on"
gdb_test "run &" "Starting program: \[^\r\n\]*(\r\n$gdbindex_warning_re)?"
# `sleep 5' here would workaround the bug, do not sleep here.
diff --git a/gdb/testsuite/gdb.base/continue-all-already-running.exp b/gdb/testsuite/gdb.base/continue-all-already-running.exp
index cfd586ff9906..39435814d2bf 100644
--- a/gdb/testsuite/gdb.base/continue-all-already-running.exp
+++ b/gdb/testsuite/gdb.base/continue-all-already-running.exp
@@ -18,12 +18,13 @@
standard_testfile
-if { [prepare_for_testing "failed to prepare" ${testfile} $srcfile] } {
- return -1
+save_vars { GDBFLAGS } {
+ set GDBFLAGS "$GDBFLAGS -ex \"set non-stop on\""
+ if { [prepare_for_testing "failed to prepare" ${testfile} $srcfile] } {
+ return -1
+ }
}
-gdb_test_no_output "set non-stop on"
-
if ![runto_main] {
return
}
diff --git a/gdb/testsuite/gdb.base/moribund-step.exp b/gdb/testsuite/gdb.base/moribund-step.exp
index 2e783d3aebba..24ffb61b0293 100644
--- a/gdb/testsuite/gdb.base/moribund-step.exp
+++ b/gdb/testsuite/gdb.base/moribund-step.exp
@@ -20,12 +20,13 @@ if { ![support_displaced_stepping] } {
return -1
}
-if { [prepare_for_testing "failed to prepare" ${testfile} $srcfile] } {
- return -1
+save_vars { GDBFLAGS } {
+ set GDBFLAGS "$GDBFLAGS -ex \"set non-stop on\""
+ if { [prepare_for_testing "failed to prepare" ${testfile} $srcfile] } {
+ return -1
+ }
}
-gdb_test_no_output "set non-stop on"
-
if ![runto_main] {
return
}
diff --git a/gdb/testsuite/gdb.base/step-sw-breakpoint-adjust-pc.exp b/gdb/testsuite/gdb.base/step-sw-breakpoint-adjust-pc.exp
index 7b9a02c91be4..528200826bbe 100644
--- a/gdb/testsuite/gdb.base/step-sw-breakpoint-adjust-pc.exp
+++ b/gdb/testsuite/gdb.base/step-sw-breakpoint-adjust-pc.exp
@@ -32,10 +32,13 @@ proc test {non_stop displaced always_inserted} {
global binfile
global linenum_for_user_bp
global linenum_for_step_resume
+ global GDBFLAGS
- clean_restart $binfile
+ save_vars { GDBFLAGS } {
+ set GDBFLAGS "$GDBFLAGS -ex \"set non-stop $non_stop\""
+ clean_restart $binfile
+ }
- gdb_test_no_output "set non-stop $non_stop"
gdb_test_no_output "set displaced-stepping $displaced"
gdb_test_no_output "set breakpoint always-inserted $always_inserted"
--
2.26.2
More information about the Gdb-patches
mailing list