diff options
author | des <des@FreeBSD.org> | 2003-02-12 21:06:19 +0000 |
---|---|---|
committer | des <des@FreeBSD.org> | 2003-02-12 21:06:19 +0000 |
commit | 9e1c1a039162ae21ed3e54a5e61a3aba7d2402fb (patch) | |
tree | 24f615f17d64366250dbb4066f70352a761eb84d /tools | |
parent | 0208bd24079e22ce1f5362103d3b99671dce095f (diff) | |
download | FreeBSD-src-9e1c1a039162ae21ed3e54a5e61a3aba7d2402fb.zip FreeBSD-src-9e1c1a039162ae21ed3e54a5e61a3aba7d2402fb.tar.gz |
Simplify the log accumulation code. It turns out that the trick of
looking for ^===> can give quite annoying false positives, especially
when building kernels, so drop it; the context can be inferred from
make's "Stop in /foo/bar/baz" messages anyway.
Also add a case that I'd missed the first time around (which happens
to be the common case, not the exception...)
Diffstat (limited to 'tools')
-rw-r--r-- | tools/tools/tinderbox/tbmaster.pl | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/tools/tools/tinderbox/tbmaster.pl b/tools/tools/tinderbox/tbmaster.pl index ec702cd..84e9646 100644 --- a/tools/tools/tinderbox/tbmaster.pl +++ b/tools/tools/tinderbox/tbmaster.pl @@ -85,14 +85,17 @@ sub tinderbox($$$$) { while (<LOGFILE>) { if (m/^TB \*\*\*/) { if (@accumulate && $error) { + if (@accumulate > 20) { + $messages .= "[...]\n"; + while (@accumulate > 20) { + shift(@accumulate); + } + } $messages .= join('', @accumulate); } $messages .= $_; @accumulate = (); $error = 0; - } elsif (m/^=+>/) { - @accumulate = ( $_ ); - $error = 0; } elsif (m/^\*\*\* Error code/ && !m/ignored/) { push(@accumulate, $_); $error = 1; @@ -101,8 +104,6 @@ sub tinderbox($$$$) { } } if (@accumulate && $error) { - $messages .= shift(@accumulate) - if ($accumulate[0] =~ m/^=+>/); if (@accumulate > 20) { $messages .= "[...]\n"; while (@accumulate > 20) { |