diff options
author | Tom de Vries <tdevries@suse.de> | 2021-10-06 01:27:58 +0200 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2021-10-06 01:27:58 +0200 |
commit | 1457d766df2c6925e4af7a013c92ce7495cb0d87 (patch) | |
tree | dcc8ad30971776d1b50800f25fc3b4ac5d64fba1 | |
parent | 58d82c2c59814c6d3f56a4134a777ae6ec292460 (diff) | |
download | gdb-1457d766df2c6925e4af7a013c92ce7495cb0d87.zip gdb-1457d766df2c6925e4af7a013c92ce7495cb0d87.tar.gz gdb-1457d766df2c6925e4af7a013c92ce7495cb0d87.tar.bz2 |
[gdb/testsuite] Make tui testing less verbose
Currently, tui testing is rather verbose. When using these RUNTESTFLAGS to
pick up all tui tests (17 in total):
...
rtf=$(echo $(cd src/gdb/testsuite/; find gdb.* -type f -name *.exp* \
| xargs grep -l tuiterm_env) )
...
we have:
...
$ wc -l gdb.log
120592 gdb.log
...
Most of the output is related to controlling the tui screen, but that does
not give a top-level sense of how the test-case progresses.
Put differently: a lot of bandwith is used to describe how we arrive at a
certain tui screen state. But we don't actually always show the state we
arrive at, unless there's a FAIL.
And if there's say, a PASS that should actually be FAILing, it's hard to
detect.
Fix this by:
- dropping the -log on the call to verbose in _log. We still can get the
same info back using runtest -v.
- dumping the screen or box that we're checking, also when the test passes.
Brings down verbosity to something more reasonable:
...
$ wc -l gdb.log
3221 gdb.log
...
Tested on x86_64-linux.
-rw-r--r-- | gdb/testsuite/lib/tuiterm.exp | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/gdb/testsuite/lib/tuiterm.exp b/gdb/testsuite/lib/tuiterm.exp index a019740..149b751 100644 --- a/gdb/testsuite/lib/tuiterm.exp +++ b/gdb/testsuite/lib/tuiterm.exp @@ -34,7 +34,7 @@ namespace eval Term { variable _resize_count proc _log { what } { - verbose -log "+++ $what" + verbose "+++ $what" } # Call BODY, then log WHAT along with the original and new cursor position. @@ -754,11 +754,11 @@ namespace eval Term { # Check for a box at the given coordinates. proc check_box {test_name x y width height} { + dump_box $x $y $width $height set why [_check_box $x $y $width $height] if {$why == ""} { pass $test_name } else { - dump_screen fail "$test_name ($why)" } } @@ -766,10 +766,9 @@ namespace eval Term { # Check whether the text contents of the terminal match the # regular expression. Note that text styling is not considered. proc check_contents {test_name regexp} { + dump_screen set contents [get_all_lines] - if {![gdb_assert {[regexp -- $regexp $contents]} $test_name]} { - dump_screen - } + gdb_assert {[regexp -- $regexp $contents]} $test_name } # Get the region of the screen described by X, Y, WIDTH, @@ -800,13 +799,12 @@ namespace eval Term { # choice for boxes with a border). proc check_region_contents { test_name x y width height regexp } { variable _chars + dump_box $x $y $width $height # Now grab the contents of the box, join each line together # with a '\r\n' sequence and match against REGEXP. set result [get_region $x $y $width $height "\r\n"] - if {![gdb_assert {[regexp -- $regexp $result]} $test_name]} { - dump_screen - } + gdb_assert {[regexp -- $regexp $result]} $test_name } # Check the contents of a box on the screen. This is a little @@ -818,9 +816,9 @@ namespace eval Term { proc check_box_contents {test_name x y width height regexp} { variable _chars + dump_box $x $y $width $height set why [_check_box $x $y $width $height] if {$why != ""} { - dump_screen fail "$test_name (box check: $why)" return } |