diff options
author | Hans-Peter Nilsson <hp@axis.com> | 2023-02-24 18:41:13 +0100 |
---|---|---|
committer | Hans-Peter Nilsson <hp@bitrange.com> | 2023-02-25 20:42:58 +0100 |
commit | a24b2720de5d888a936c350378ae864b81f1a022 (patch) | |
tree | 276c1205e0a12d462a9ce2ddfa7c86c90d5c7d5e /gcc/testsuite/lib | |
parent | 03c60e525bea13c15edd2f64cd582f168fe80bfb (diff) | |
download | gcc-a24b2720de5d888a936c350378ae864b81f1a022.zip gcc-a24b2720de5d888a936c350378ae864b81f1a022.tar.gz gcc-a24b2720de5d888a936c350378ae864b81f1a022.tar.bz2 |
testsuite: Don't include multiline patterns in the the pass/fail log
I see overlong lines in the output when a test fails, for
example for a bug exposed for cris-elf and pru-elf in
gcc.dg/analyzer/allocation-size-multiline-3.c:
Running /x/gcc/testsuite/gcc.dg/analyzer/analyzer.exp ...
FAIL: gcc.dg/analyzer/allocation-size-multiline-3.c expected multiline pattern lines 16-25 not found: "\s*int32_t \*ptr = alloca \(99\);[^\n\r]*\n \^~~~~~\n 'test_constant_99': events 1-2[^\n\r]*\n \|[^\n\r]*\n \| int32_t \*ptr = alloca \(99\);[^\n\r]*\n \| \^~~~~~\n \| \|[^\n\r]*\n \| \(1\) allocated 99 bytes here[^\n\r]*\n \| \(2\) assigned to 'int32_t \*' \{aka 'int \*'\} here; 'sizeof \(int32_t \{aka int\}\)' is '4'[^\n\r]*\n \|[^\n\r]*\n"
FAIL: gcc.dg/analyzer/allocation-size-multiline-3.c expected multiline pattern lines 34-43 not found: " int32_t \*ptr = alloca \(n \* 2\);[^\n\r]*\n \^~~~~~\n 'test_symbolic': events 1-2[^\n\r]*\n \|[^\n\r]*\n \| int32_t \*ptr = alloca \(n \* 2\);[^\n\r]*\n \| \^~~~~~\n \| \|[^\n\r]*\n \| \(1\) allocated 'n \* 2' bytes here[^\n\r]*\n \| \(2\) assigned to 'int32_t \*' \{aka 'int \*'\} here; 'sizeof \(int32_t \{aka int\}\)' is '4'[^\n\r]*\n \|[^\n\r]*\n"
FAIL: gcc.dg/analyzer/allocation-size-multiline-3.c (test for excess errors)
That multiline-pattern-quoted-on-a-single-line is redundant
when also outputting "lines 16-25" and "lines 34-43". It's
also so noisy that it can be mistaken for a testsuite error.
If there's a need to inspect it, it can be seen at
verbose-level 4, i.e. persons interested in seeing it
without editing sources can just add "-v -v -v -v".
Let's "prune" the pattern from regular output, instead producing:
Running /x/gcc/testsuite/gcc.dg/analyzer/analyzer.exp ...
FAIL: gcc.dg/analyzer/allocation-size-multiline-3.c expected multiline pattern lines 16-25 not found
FAIL: gcc.dg/analyzer/allocation-size-multiline-3.c expected multiline pattern lines 34-43 not found
FAIL: gcc.dg/analyzer/allocation-size-multiline-3.c (test for excess errors)
* lib/multiline.exp (handle-multiline-outputs): Don't include the
quoted multiline pattern in the pass/fail output.
Diffstat (limited to 'gcc/testsuite/lib')
-rw-r--r-- | gcc/testsuite/lib/multiline.exp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/testsuite/lib/multiline.exp b/gcc/testsuite/lib/multiline.exp index 84ba921..5eccf2b 100644 --- a/gcc/testsuite/lib/multiline.exp +++ b/gcc/testsuite/lib/multiline.exp @@ -169,9 +169,9 @@ proc handle-multiline-outputs { text } { # Use "regsub" to attempt to prune the pattern from $text if {[regsub -line $rexp $text "" text]} { # The multiline pattern was pruned. - ${maybe_x}pass "$title was found: \"$escaped_regex\"" + ${maybe_x}pass "$title was found" } else { - ${maybe_x}fail "$title not found: \"$escaped_regex\"" + ${maybe_x}fail "$title not found" } set index [expr $index + 1] |