[binutils-gdb] gdb/testsuite: add some logging in Term::_check_box

Simon Marchi simark@sourceware.org
Wed Jun 9 14:49:02 GMT 2021


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=d0a3c757b9c3d717f4439d107821c8ba4efcaa90

commit d0a3c757b9c3d717f4439d107821c8ba4efcaa90
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Wed Jun 9 10:47:54 2021 -0400

    gdb/testsuite: add some logging in Term::_check_box
    
    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

Diff:
---
 gdb/testsuite/ChangeLog       |  4 ++++
 gdb/testsuite/lib/tuiterm.exp | 46 ++++++++++++++++++++++++++++---------------
 2 files changed, 34 insertions(+), 16 deletions(-)

diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 92894d6efab..d9bda537805 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2021-06-09  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* lib/tuiterm.exp (Term) <_check_box>: Improve logging.
+
 2021-06-08  Lancelot Six  <lsix@lancelotsix.com>
 
 	* gdb.base/premature-dummy-frame-removal.py (TestUnwinder): Use
diff --git a/gdb/testsuite/lib/tuiterm.exp b/gdb/testsuite/lib/tuiterm.exp
index 3f6271ef0ea..fdd9f4d2188 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 |"
 	    }
 	}


More information about the Gdb-cvs mailing list