* [PATCH][gdb/testsuite] Reset errcnt in clean_restart
@ 2020-04-24 10:38 Tom de Vries
2020-04-24 14:11 ` Tom Tromey
0 siblings, 1 reply; 2+ messages in thread
From: Tom de Vries @ 2020-04-24 10:38 UTC (permalink / raw)
To: gdb-patches
Hi,
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.
Any comments?
Thanks,
- Tom
[gdb/testsuite] Reset errcnt in clean_restart
gdb/testsuite/ChangeLog:
2020-04-24 Tom de Vries <tdevries@suse.de>
* lib/gdb.exp (clean_restart): Reset errcnt and warncnt.
---
gdb/testsuite/lib/gdb.exp | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index cdf96e3c703..2208f3a1a9b 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
}
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: [PATCH][gdb/testsuite] Reset errcnt in clean_restart
2020-04-24 10:38 [PATCH][gdb/testsuite] Reset errcnt in clean_restart Tom de Vries
@ 2020-04-24 14:11 ` Tom Tromey
0 siblings, 0 replies; 2+ messages in thread
From: Tom Tromey @ 2020-04-24 14:11 UTC (permalink / raw)
To: Tom de Vries; +Cc: gdb-patches
>>>>> "Tom" == Tom de Vries <tdevries@suse.de> writes:
Tom> Fix this by resetting errcnt (as well as warncnt) in clean_restart, such that
Tom> we have:
Tom> ...
Tom> Running src/gdb/testsuite/gdb.base/readnever.exp ...
Tom> ERROR: (eof) GDB never initialized.
Tom> Running src/gdb/testsuite/gdb.base/realname-expand.exp ...
Tom> PASS: gdb.base/realname-expand.exp: set basenames-may-differ on
Tom> ...
Tom> gdb/testsuite/ChangeLog:
Tom> 2020-04-24 Tom de Vries <tdevries@suse.de>
Tom> * lib/gdb.exp (clean_restart): Reset errcnt and warncnt.
I was worried because these come from dejagnu, but looking there it
seems that they are only used for this "unresolved" stuff.
So, I think this is ok.
Tom
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-04-24 14:15 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-24 10:38 [PATCH][gdb/testsuite] Reset errcnt in clean_restart Tom de Vries
2020-04-24 14:11 ` Tom Tromey
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox