From 93df4a1d079ba804fa66b67d2b2acf1fd62c2cd9 Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Wed, 16 Dec 2020 16:43:18 -0500 Subject: [PATCH] gdb/testsuite: make some tests in gdb.base enable non-stop using GDBFLAGS 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 3a7fc0c9030..e48a6fe0ec1 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2020-12-16 Simon Marchi + + * 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 * 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 001a9ed05a2..ad7813aac71 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 cfd586ff990..39435814d2b 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 2e783d3aebb..24ffb61b029 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 7b9a02c91be..528200826bb 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.30.2