aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2020-04-24 16:21:30 +0200
committerTom de Vries <tdevries@suse.de>2020-04-24 16:21:30 +0200
commit86e887ae1183ded1c4bfba8617e4e19c8dfc8271 (patch)
treea4c045065001dd12fca46578d37fdf98100cde80
parent7be2bb4f47b7b25d4f60b52f6ebaade0644827f2 (diff)
downloadgdb-86e887ae1183ded1c4bfba8617e4e19c8dfc8271.zip
gdb-86e887ae1183ded1c4bfba8617e4e19c8dfc8271.tar.gz
gdb-86e887ae1183ded1c4bfba8617e4e19c8dfc8271.tar.bz2
[gdb/testsuite] Reset errcnt in clean_restart
When running test-case gdb.base/readnever.exp without commit 96038148d0e "[gdb/testsuite] Skip gdb.base/readnever.exp with target board readnow", we run into an error: ... ERROR: (eof) GDB never initialized. testcase gdb/testsuite/gdb.base/readnever.exp completed in 0 seconds ... If we additionally run test-case gdb.base/realname-expand.exp, we get an unresolved for the first test: ... UNRESOLVED: gdb.base/realname-expand.exp: set basenames-may-differ on ... Using -v we find out that the UNRESOLVED is due the error triggered in the previous test-case: ... (gdb) set basenames-may-differ on^M (gdb) Error/Warning threshold exceeded: 1 0 (max. 1 3) UNRESOLVED: gdb.base/realname-expand.exp: set basenames-may-differ on ... So, the error count of one test spills into the next test, even though we do a clean restart. That seems like a bad idea. Fix this by resetting errcnt (as well as warncnt) in clean_restart, such that we have: ... Running src/gdb/testsuite/gdb.base/readnever.exp ... ERROR: (eof) GDB never initialized. Running src/gdb/testsuite/gdb.base/realname-expand.exp ... PASS: gdb.base/realname-expand.exp: set basenames-may-differ on ... Tested on x86_64-linux. gdb/testsuite/ChangeLog: 2020-04-24 Tom de Vries <tdevries@suse.de> * lib/gdb.exp (clean_restart): Reset errcnt and warncnt.
-rw-r--r--gdb/testsuite/ChangeLog4
-rw-r--r--gdb/testsuite/lib/gdb.exp8
2 files changed, 10 insertions, 2 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index b16366f..7426bdd 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,5 +1,9 @@
2020-04-24 Tom de Vries <tdevries@suse.de>
+ * lib/gdb.exp (clean_restart): Reset errcnt and warncnt.
+
+2020-04-24 Tom de Vries <tdevries@suse.de>
+
* gdb.dwarf2/dwzbuildid.exp: Add quiet to dwzbuildid-mismatch compile
flags.
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index cdf96e3..2208f3a 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -6108,6 +6108,7 @@ proc clean_restart { args } {
global srcdir
global subdir
global errcnt
+ global warncnt
if { [llength $args] > 1 } {
error "bad number of args: [llength $args]"
@@ -6115,15 +6116,18 @@ proc clean_restart { args } {
gdb_exit
+ # This is a clean restart, so reset error and warning count.
+ set errcnt 0
+ set warncnt 0
+
# We'd like to do:
# if { [gdb_start] == -1 } {
# return -1
# }
# but gdb_start is a ${tool}_start proc, which doesn't have a defined
# return value. So instead, we test for errcnt.
- set saved_errcnt $errcnt
gdb_start
- if { $errcnt > $saved_errcnt } {
+ if { $errcnt > 0 } {
return -1
}