When debugging a failing test, I typically invoke DejaGnu at
verbosity level 2 (via RUNTESTFLAGS="-v -v dg.exp=something"),
so that DejaGnu prints the command line used to invoke the
compiler; specifically these two sites:
target.exp "Invoking the compiler as "
remote.exp "Executing on $hostname"
which are both verbosity level 2.
Unfortunately I run into an O(n^2) issue with logging from
process-message:
verbose "process-message:\n${dg-messages}" 2
where, as each message each processed, it emits the state
of dg-messages, containing the new message and all messages so far,
leading to exponentially-increasing output at level 2 as more test
messages are added.
This patch papers over the problem by moving the
problematic message to verbosity level 3.
Successfully regrtested on x86_64-pc-linux-gnu.
OK for trunk?
gcc/testsuite/ChangeLog:
* lib/gcc-dg.exp (process-message): Change verbosity level of
"verbose" from 2 to 3.
(dg-locus): Likewise.
---
gcc/testsuite/lib/gcc-dg.exp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gcc/testsuite/lib/gcc-dg.exp b/gcc/testsuite/lib/gcc-dg.exp
index 305dd3c..054d884 100644
--- a/gcc/testsuite/lib/gcc-dg.exp
+++ b/gcc/testsuite/lib/gcc-dg.exp
@@ -1165,7 +1165,7 @@ proc process-message { msgproc msgprefix dgargs } {
set newentry [lreplace $newentry 2 2 $expmsg]
set dg-messages [lreplace ${dg-messages} end end $newentry]
- verbose "process-message:\n${dg-messages}" 2
+ verbose "process-message:\n${dg-messages}" 3
}
# Look for messages that don't have standard prefixes.
@@ -1199,7 +1199,7 @@ proc dg-locus { args } {
set newentry [lreplace $newentry 2 2 $expmsg]
set dg-messages [lreplace ${dg-messages} end end $newentry]
- verbose "process-message:\n${dg-messages}" 2
+ verbose "process-message:\n${dg-messages}" 3
}
# Handle output from -fopt-info for MSG_OPTIMIZED_LOCATIONS:
--
1.8.5.3