You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.3 KiB
53 lines
1.3 KiB
#!/usr/bin/perl
|
|
|
|
foreach $in (<STDIN>) {
|
|
if($in=~/^# Running normal tests... #$/) { $testsStarted=1; }
|
|
elsif($testsStarted != 1 || $in=~/^$/) { print "$in"; }
|
|
elsif($in=~/^check: (.*?)\[(\d+)\](| failed)$/) {
|
|
#print "++ $_ a: '$1', b: '$2'\n";
|
|
$file = $1;
|
|
$line = $2;
|
|
$failed = $3;
|
|
if($file ne $currentFile) {
|
|
print "$file: ";
|
|
$currentFile = $file;
|
|
}
|
|
if($lines ne "") {
|
|
if($lines=~/\n$/) {
|
|
$lines = "$lines...";
|
|
} else {
|
|
$lines = "$lines, ";
|
|
}
|
|
}
|
|
if($failed ne "") { # it failed!
|
|
$lines = "$lines\[F:$line\]";
|
|
} else {
|
|
$lines = "$lines$line";
|
|
}
|
|
}
|
|
elsif($in=~/ ((\d+) test(|s) passed, (\d+) test(|s) failed)/) {
|
|
#print "passed: '$2' failed: '$4'\n";
|
|
if($4 ne "0") {
|
|
print "$lines\n";
|
|
}
|
|
print "$1\n";
|
|
$lines = "";
|
|
$currentFile = "";
|
|
}
|
|
elsif($currentFile eq "") {
|
|
print $in;
|
|
} else {
|
|
# debug output in between lines..
|
|
if(!($lines eq "" || $lines=~/\n$/)) {
|
|
$lines = "$lines\n";
|
|
}
|
|
$lines = "$lines$in";
|
|
}
|
|
}
|
|
|
|
if($lines ne "") {
|
|
print "$lines\n";
|
|
print $in;
|
|
print "WARN: unexpected end of stream, check test $file after line $line\n";
|
|
}
|