[gdb/testsuite] Reset errcnt in clean_restart
authorTom de Vries <tdevries@suse.de>
Fri, 24 Apr 2020 14:21:30 +0000 (16:21 +0200)
committerTom de Vries <tdevries@suse.de>
Fri, 24 Apr 2020 14:21:30 +0000 (16:21 +0200)
commit86e887ae1183ded1c4bfba8617e4e19c8dfc8271
treea4c045065001dd12fca46578d37fdf98100cde80
parent7be2bb4f47b7b25d4f60b52f6ebaade0644827f2
[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.
gdb/testsuite/ChangeLog
gdb/testsuite/lib/gdb.exp