diff options
author | Tom de Vries <tdevries@suse.de> | 2020-04-24 16:21:30 +0200 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2020-04-24 16:21:30 +0200 |
commit | 86e887ae1183ded1c4bfba8617e4e19c8dfc8271 (patch) | |
tree | a4c045065001dd12fca46578d37fdf98100cde80 | |
parent | 7be2bb4f47b7b25d4f60b52f6ebaade0644827f2 (diff) | |
download | gdb-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/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/testsuite/lib/gdb.exp | 8 |
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 } |