mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-18 12:24:38 +08:00
[gdb/testsuite] Reset errcnt in clean_restart
When running test-case gdb.base/readnever.exp without commit 96038148d0
"[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.
This commit is contained in:
parent
7be2bb4f47
commit
86e887ae11
@ -1,3 +1,7 @@
|
||||
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
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user