* [PATCH] gdb/testsuite: add some logging in Term::_check_box
@ 2021-06-08 19:43 Simon Marchi
2021-06-09 14:45 ` Tom Tromey
0 siblings, 1 reply; 3+ messages in thread
From: Simon Marchi @ 2021-06-08 19:43 UTC (permalink / raw)
To: gdb-patches
I was diagnosing some problem with a TUI test case, which lead me to
improve the logging of _check_box a bit. It did help me, so I think it
would be nice to have it upstream.
gdb/testsuite/ChangeLog:
* lib/tuiterm.exp (Term) <_check_box>: Improve logging.
Change-Id: I887e83c02507d6c59c991e17f795c844ed63bacf
---
gdb/testsuite/lib/tuiterm.exp | 46 +++++++++++++++++++++++------------
1 file changed, 30 insertions(+), 16 deletions(-)
diff --git a/gdb/testsuite/lib/tuiterm.exp b/gdb/testsuite/lib/tuiterm.exp
index 3f6271ef0ea0..fdd9f4d2188f 100644
--- a/gdb/testsuite/lib/tuiterm.exp
+++ b/gdb/testsuite/lib/tuiterm.exp
@@ -729,17 +729,26 @@ namespace eval Term {
set x2 [expr {$x + $width - 1}]
set y2 [expr {$y + $height - 1}]
- if {[get_char $x $y] != "+"} {
- return "ul corner"
+ verbose -log "_check_box x=$x, y=$y, x2=$x2, y2=$y2, width=$width, height=$height"
+
+ set c [get_char $x $y]
+ if {$c != "+"} {
+ return "ul corner is $c, not +"
}
- if {[get_char $x $y2] != "+"} {
- return "ll corner"
+
+ set c [get_char $x $y2]
+ if {$c != "+"} {
+ return "ll corner is $c, not +"
}
- if {[get_char $x2 $y] != "+"} {
- return "ur corner"
+
+ set c [get_char $x2 $y]
+ if {$c != "+"} {
+ return "ur corner is $c, not +"
}
- if {[get_char $x2 $y2] != "+"} {
- return "lr corner"
+
+ set c [get_char $x2 $y2]
+ if {$c != "+"} {
+ return "lr corner is $c, not +"
}
# Note we do not check the full horizonal borders of the box.
@@ -747,21 +756,26 @@ namespace eval Term {
# it is overlapped by some other border. However, at most a
# title should appear as '+-VERY LONG TITLE-+', so we can
# check for the '+-' on the left, and '-+' on the right.
- if {[get_char [expr {$x + 1}] $y] != "-"} {
- return "ul title padding"
+ set c [get_char [expr {$x + 1}] $y]
+ if {$c != "-"} {
+ return "ul title padding is $c, not -"
}
- if {[get_char [expr {$x2 - 1}] $y] != "-"} {
- return "ul title padding"
+ set c [get_char [expr {$x2 - 1}] $y]
+ if {$c != "-"} {
+ return "ul title padding is $c, not -"
}
# Now check the vertical borders.
for {set i [expr {$y + 1}]} {$i < $y2 - 1} {incr i} {
- if {[get_char $x $i] != "|"} {
- return "left side $i"
+ set c [get_char $x $i]
+ if {$c != "|"} {
+ return "left side $i is $c, not |"
}
- if {[get_char $x2 $i] != "|"} {
- return "right side $i"
+
+ set c [get_char $x2 $i]
+ if {$c != "|"} {
+ return "right side $i is $c, not |"
}
}
--
2.31.1
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] gdb/testsuite: add some logging in Term::_check_box
2021-06-08 19:43 [PATCH] gdb/testsuite: add some logging in Term::_check_box Simon Marchi
@ 2021-06-09 14:45 ` Tom Tromey
2021-06-09 14:54 ` Simon Marchi
0 siblings, 1 reply; 3+ messages in thread
From: Tom Tromey @ 2021-06-09 14:45 UTC (permalink / raw)
To: Simon Marchi via Gdb-patches
>>>>> "Simon" == Simon Marchi via Gdb-patches <gdb-patches@sourceware.org> writes:
Simon> I was diagnosing some problem with a TUI test case, which lead me to
Simon> improve the logging of _check_box a bit. It did help me, so I think it
Simon> would be nice to have it upstream.
Simon> gdb/testsuite/ChangeLog:
Simon> * lib/tuiterm.exp (Term) <_check_box>: Improve logging.
This looks good to me. Thank you.
BTW one thing that's useful on failures is to re-run with -v.
Then you can see screen dumps at the failure points. When debugging I
also tend to hack in extra calls to Term::dump_screen.
Tom
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] gdb/testsuite: add some logging in Term::_check_box
2021-06-09 14:45 ` Tom Tromey
@ 2021-06-09 14:54 ` Simon Marchi
0 siblings, 0 replies; 3+ messages in thread
From: Simon Marchi @ 2021-06-09 14:54 UTC (permalink / raw)
To: Tom Tromey, Simon Marchi via Gdb-patches
On 2021-06-09 10:45 a.m., Tom Tromey wrote:
>>>>>> "Simon" == Simon Marchi via Gdb-patches <gdb-patches@sourceware.org> writes:
>
> Simon> I was diagnosing some problem with a TUI test case, which lead me to
> Simon> improve the logging of _check_box a bit. It did help me, so I think it
> Simon> would be nice to have it upstream.
>
> Simon> gdb/testsuite/ChangeLog:
>
> Simon> * lib/tuiterm.exp (Term) <_check_box>: Improve logging.
>
> This looks good to me. Thank you.
Thanks, pushed.
> BTW one thing that's useful on failures is to re-run with -v.
> Then you can see screen dumps at the failure points. When debugging I
> also tend to hack in extra calls to Term::dump_screen.
I do `tail -F testsuite/gdb.log`, I presume that gives about the same
thing.
I'd say, don't be afraid to add more calls to dump_screen upstream where
you found it useful, it always helps to see the intermediary states.
Simon
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-06-09 14:54 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-08 19:43 [PATCH] gdb/testsuite: add some logging in Term::_check_box Simon Marchi
2021-06-09 14:45 ` Tom Tromey
2021-06-09 14:54 ` Simon Marchi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).