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
+2020-11-18 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * 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.
+
2020-11-18 Simon Marchi <simon.marchi@polymtl.ca>
* lib/mi-support.exp (mi_run_cmd_full): Use unresovled instead
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
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
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
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
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
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