public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* [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).