[PATCH 2/2] gdb/testsuite: gdb.mi/mi-nonstop-exit.exp: enable non-stop using GDBFLAGS

Simon Marchi simon.marchi@polymtl.ca
Tue Nov 17 22:08:54 GMT 2020


When running

    make check TESTS="gdb.mi/mi-nonstop-exit.exp" RUNTESTFLAGS="--target_board=native-extended-gdbserver"

We get:

    220^error,msg="Unexpected vCont reply in non-stop mode: T05swbreak:;06:60d5ffffff7f0000;07:d0d2ffffff7f0000;10:5b57fdf7ff7f0000;thread:p2a4eed.2a4eed;core    :4;"^M
    (gdb) ^M
    UNRESOLVED: gdb.mi/mi-nonstop-exit.exp: first run: unable to start target

This is because non-stop is enabled using "-gdb-set non-stop 1".  This
doesn't work with the native-extended-gdbserver board, because with that
board GDB connects to GDBserver as soon as it's started.  Non-stop needs
to be enabled before connecting.

The usual pattern to follow is to set non-stop on the command line, like
gdb.mi/mi-nonstop.exp does.  Change the non-stop MI tests to use that
pattern.

The results diff when running gdb.mi/*.exp is:

    -# of expected passes           2877
    +# of expected passes           2938
     # of unexpected failures       34
     # of expected failures         8
     # of known failures            13
     # of unresolved testcases      4
     # of unsupported tests         1
    -# of duplicate test names      34
    +# of duplicate test names      35

gdb/testsuite/ChangeLog:

	* gdb.mi/mi-nonstop-exit.exp: Enable non-stop through GDBFLAGS.
	* gdb.mi/mi-ns-stale-regcache.exp: Likewise.
	* gdb.mi/mi-nsintrall.exp: Likewise.
	* gdb.mi/mi-nsmoribund.exp: Likewise.
	* gdb.mi/mi-nsthrexec.exp: Likewise.
	* gdb.mi/mi-watch-nonstop.exp: Likewise.

Change-Id: Ic2736bedea8d448eee8c2b534d26b2427f6b4d27
---
 gdb/testsuite/gdb.mi/mi-nonstop-exit.exp      | 6 ++++--
 gdb/testsuite/gdb.mi/mi-ns-stale-regcache.exp | 6 ++++--
 gdb/testsuite/gdb.mi/mi-nsintrall.exp         | 6 ++++--
 gdb/testsuite/gdb.mi/mi-nsmoribund.exp        | 6 ++++--
 gdb/testsuite/gdb.mi/mi-nsthrexec.exp         | 6 ++++--
 gdb/testsuite/gdb.mi/mi-watch-nonstop.exp     | 6 ++++--
 6 files changed, 24 insertions(+), 12 deletions(-)

diff --git a/gdb/testsuite/gdb.mi/mi-nonstop-exit.exp b/gdb/testsuite/gdb.mi/mi-nonstop-exit.exp
index 3e58754c9a42..566b11e3c148 100644
--- a/gdb/testsuite/gdb.mi/mi-nonstop-exit.exp
+++ b/gdb/testsuite/gdb.mi/mi-nonstop-exit.exp
@@ -31,9 +31,11 @@ if {[gdb_compile_pthreads "$srcdir/$subdir/$srcfile" $binfile executable $option
     return -1
 }
 
-mi_clean_restart $binfile
+save_vars { GDBFLAGS } {
+    append GDBFLAGS " -ex \"set non-stop on\""
+    mi_clean_restart $binfile
+}
 
-mi_gdb_test "-gdb-set non-stop 1" ".*"
 mi_gdb_test "-gdb-set mi-async 1" ".*"
 mi_detect_async
 
diff --git a/gdb/testsuite/gdb.mi/mi-ns-stale-regcache.exp b/gdb/testsuite/gdb.mi/mi-ns-stale-regcache.exp
index ebbdb4186a4d..fe0bd4850ecc 100644
--- a/gdb/testsuite/gdb.mi/mi-ns-stale-regcache.exp
+++ b/gdb/testsuite/gdb.mi/mi-ns-stale-regcache.exp
@@ -44,9 +44,11 @@ if {[gdb_compile "$srcdir/$subdir/$srcfile" \
     return -1
 }
 
-mi_clean_restart $binfile
+save_vars { GDBFLAGS } {
+    append GDBFLAGS " -ex \"set non-stop on\""
+    mi_clean_restart $binfile
+}
 
-mi_gdb_test "-gdb-set non-stop 1" ".*"
 mi_gdb_test "-gdb-set mi-async 1" ".*"
 mi_detect_async
 
diff --git a/gdb/testsuite/gdb.mi/mi-nsintrall.exp b/gdb/testsuite/gdb.mi/mi-nsintrall.exp
index aa0e81c84ca7..e76a9ac0abc3 100644
--- a/gdb/testsuite/gdb.mi/mi-nsintrall.exp
+++ b/gdb/testsuite/gdb.mi/mi-nsintrall.exp
@@ -31,9 +31,11 @@ if {[gdb_compile_pthreads "$srcdir/$subdir/$srcfile" $binfile executable $option
     return -1
 }
 
-mi_clean_restart $binfile
+save_vars { GDBFLAGS } {
+    append GDBFLAGS " -ex \"set non-stop on\""
+    mi_clean_restart $binfile
+}
 
-mi_gdb_test "-gdb-set non-stop 1" ".*"
 mi_gdb_test "-gdb-set mi-async 1" ".*"
 mi_detect_async
 
diff --git a/gdb/testsuite/gdb.mi/mi-nsmoribund.exp b/gdb/testsuite/gdb.mi/mi-nsmoribund.exp
index 3e99b5f0c6f9..73f1be5eea19 100644
--- a/gdb/testsuite/gdb.mi/mi-nsmoribund.exp
+++ b/gdb/testsuite/gdb.mi/mi-nsmoribund.exp
@@ -31,9 +31,11 @@ if {[gdb_compile_pthreads "$srcdir/$subdir/$srcfile" $binfile executable $option
     return -1
 }
 
-mi_clean_restart $binfile
+save_vars { GDBFLAGS } {
+    append GDBFLAGS " -ex \"set non-stop on\""
+    mi_clean_restart $binfile
+}
 
-mi_gdb_test "-gdb-set non-stop 1" ".*"
 mi_gdb_test "-gdb-set mi-async 1" ".*"
 mi_detect_async
 
diff --git a/gdb/testsuite/gdb.mi/mi-nsthrexec.exp b/gdb/testsuite/gdb.mi/mi-nsthrexec.exp
index 6f4800aa912b..da986394621d 100644
--- a/gdb/testsuite/gdb.mi/mi-nsthrexec.exp
+++ b/gdb/testsuite/gdb.mi/mi-nsthrexec.exp
@@ -36,9 +36,11 @@ if {[gdb_compile_pthreads "$srcdir/$subdir/$srcfile" $binfile executable $option
     return -1
 }
 
-mi_clean_restart $binfile
+save_vars { GDBFLAGS } {
+    append GDBFLAGS " -ex \"set non-stop on\""
+    mi_clean_restart $binfile
+}
 
-mi_gdb_test "-gdb-set non-stop 1" ".*"
 mi_gdb_test "-gdb-set mi-async 1" ".*"
 mi_detect_async
 
diff --git a/gdb/testsuite/gdb.mi/mi-watch-nonstop.exp b/gdb/testsuite/gdb.mi/mi-watch-nonstop.exp
index 6b56f384239a..d887fe515cb7 100644
--- a/gdb/testsuite/gdb.mi/mi-watch-nonstop.exp
+++ b/gdb/testsuite/gdb.mi/mi-watch-nonstop.exp
@@ -43,9 +43,11 @@ if {[gdb_compile "$srcdir/$subdir/$srcfile" $binfile executable {debug}] != "" }
     return -1
 }
 
-mi_clean_restart $binfile
+save_vars { GDBFLAGS } {
+    append GDBFLAGS " -ex \"set non-stop on\""
+    mi_clean_restart $binfile
+}
 
-mi_gdb_test "-gdb-set non-stop 1" ".*"
 mi_gdb_test "-gdb-set mi-async 1" ".*"
 mi_detect_async
 
-- 
2.29.1



More information about the Gdb-patches mailing list