asn1c/asn1c/check-parsing-log2diff.pl

33 lines
631 B
Perl

#!/usr/bin/env perl
#
# Convert check-parsing.sh's log to diff format.
#
if(-t STDIN && $#ARGV == -1) {
print STDERR "Usage: check-parsing-log2diff.pl < check-parsing.sh.log > diff.patch\n";
exit(1);
}
$state = 0;
while(<>) {
if ($state == 0) {
if (/^Checking\s*(.+?)\s*against\s*(.+?)$/) {
$source = $1;
$target = $2;
} elsif (/^\-\-\-\s(.+?)\s.*/) {
print "--- a/dev/null " . "\n";
} elsif (/^\+\+\+\s(.+?)\s.*/) {
print "+++ b" . $target . "\n";
$state = 1;
}
} else {
if (/^Checking\s*(.+?)\s*against\s*(.+?)$/) {
$source = $1;
$target = $2;
$state = 0;
} else {
print $_;
}
}
}