Revision: 6536
http://ipcop.svn.sourceforge.net/ipcop/?rev=6536&view=rev
Author: gespinasse
Date: 2012-04-09 12:58:24 +0000 (Mon, 09 Apr 2012)
Log Message:
-----------
Change glib to match on |FAIL$ instead of | FAIL$ as hacking the glib test
suite badly, I produced sometime ^FAIL$
Use $Term::ANSIColor::AUTORESET = 1 so RESET if automaticly done after each
line, once every comma is suppressed
This require changing 'BOLD, BLUE,' to 'BOLD BLUE'
Use $ENV{ANSI_COLORS_DISABLED} = 1 to disable color formatting when redirected
to a file
Reset color to default if interrupted by ctrl-c
Add strict and warnings directives and fix a missing my before first
$errorstring.
Modified Paths:
--------------
ipcop/trunk/tools/error-parser
Modified: ipcop/trunk/tools/error-parser
===================================================================
--- ipcop/trunk/tools/error-parser 2012-04-09 12:56:26 UTC (rev 6535)
+++ ipcop/trunk/tools/error-parser 2012-04-09 12:58:24 UTC (rev 6536)
@@ -1,8 +1,24 @@
#!/usr/bin/perl
+use strict;
+use warnings;
+
# for nice colors
use Term::ANSIColor qw(:constants);
+$Term::ANSIColor::AUTORESET = 1;
+# if output is redirected to a file, suppress color formatting to be more
readable
+if (! -t STDOUT) {
+ $ENV{ANSI_COLORS_DISABLED} = 1;
+}
+# Restore default terminal color on Ctrl-C (when program is interrupted)
+# That work but is not perfect as it look harder to stop error-parser when
called from error-parser-all
+sub INT_handler {
+ print RESET;
+ exit 0;
+}
+$SIG{'INT'} = 'INT_handler';
+
my $f;
my $package; # without the package version, so we could simply parse
different directories in one liners
my $testdir;
@@ -49,7 +65,7 @@
if ( $f =~ m!^gcc! && $f !~ m!summary! ) { next; } # skip gcc not
the summary
if ( $f =~ m!^cairo-([\.\d])+\-03! ) { print "\t$testdir/$f no more
used, could be removed\n"; next; }
- print RESET "Reading $f";
+ print "Reading $f";
if ( $f =~ m!^bc! ) {
# There is always errors and we don't care if there is not too
much
@@ -63,7 +79,7 @@
if ( $error < 15 ) {
print "\t $error errors considered ok\n";
} else {
- print BOLD, BLUE, "\t $error errors considered too
much\n", RESET;
+ print BOLD BLUE "\t $error errors considered too
much\n";
}
} elsif ( $f =~ m!^cairo-.*-summary-.*! ) {
print "\n"; # Case with no error is not considered actually.
@@ -71,22 +87,22 @@
open FILE, "$testdir/$f" or die $!;
while (my $line = <FILE>) {
if ( $line =~ m!Failures per surface - image:
(\d*)\.$!) { $error = $1; }
- print BOLD, BLUE, "$line" if ($line !~ m!^make! );
+ print BOLD BLUE "$line" if ($line !~ m!^make! );
}
close (FILE);
# Stay with 'Approximately' as it is convenient to use | grep
Approx to only see error count on quick check
- print RESET " Approximately $error error(s) with $testdir/$f\n";
+ print " Approximately $error error(s) with $testdir/$f\n";
} else {
# FAILED | UNEXPECTED PASS from autoconf lib/general.m4
# ^ERROR:|^FAIL:|^XPASS: from automake and derivated
# ' program timed out' from gcc
# ': FAIL |: FAIL|CRASH" from cairo (separated with space in
middle, with tab in end of line)
# perl packages (not all) use '^not ok' to fail, but this is
too often for broken tests with TODO, trying to match that give false alarm.
- $errorstring = "^FAIL:|^ERROR:|^XPASS:| FAILED | UNEXPECTED
PASS |^UNSUPPORTED ";
+ my $errorstring = "^FAIL:|^ERROR:|^XPASS:| FAILED | UNEXPECTED
PASS |^UNSUPPORTED ";
$errorstring .= "| program timed out|: FAIL |: FAIL|CRASH";
# glib
- if ( $f =~ m!glib[^c]! ) { $errorstring .= '| FAIL$'; }
+ if ( $f =~ m!glib[^c]! ) { $errorstring .= '|FAIL$'; }
# 'generated an error' come from libxml2, try to compile (if
that compile) --with-minimum --with-output to trigger error
# DBD-SQLite print twice that same message and should be still
ok, so only match for libxml2
@@ -108,7 +124,7 @@
if ( $line !~ m! Error \d* \(ignored\)! ) {
if ($error==0) { print "\n"; }
$error++;
- print BOLD, BLUE, "$line", RESET if
($error < 50);
+ print BOLD BLUE "$line" if ($error <
50);
}
}
}
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2
_______________________________________________
Ipcop-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ipcop-svn