Update test script annotate-tests.sh to handle missing/extra authors

The current script used by annotate-tests.sh (used by t8001 and t8002) fails
to emit a warning if any of the expected authors never show up in the output
or if authors that show up in the output were never specified as expected.
Update the script to fail in both of these scenarios.

Helped-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Kevin Ballard <kevin@sb.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Kevin Ballard 2010-10-16 04:09:20 -07:00 коммит произвёл Junio C Hamano
Родитель 352953a556
Коммит 27eea66b28
1 изменённых файлов: 6 добавлений и 6 удалений

Просмотреть файл

@ -8,27 +8,27 @@ check_count () {
$PROG file $head >.result || return 1
cat .result | perl -e '
my %expect = (@ARGV);
my %count = ();
my %count = map { $_ => 0 } keys %expect;
while (<STDIN>) {
if (/^[0-9a-f]+\t\(([^\t]+)\t/) {
my $author = $1;
for ($author) { s/^\s*//; s/\s*$//; }
if (exists $expect{$author}) {
$count{$author}++;
}
$count{$author}++;
}
}
my $bad = 0;
while (my ($author, $count) = each %count) {
my $ok;
if ($expect{$author} != $count) {
my $value = 0;
$value = $expect{$author} if defined $expect{$author};
if ($value != $count) {
$bad = 1;
$ok = "bad";
}
else {
$ok = "good";
}
print STDERR "Author $author (expected $expect{$author}, attributed $count) $ok\n";
print STDERR "Author $author (expected $value, attributed $count) $ok\n";
}
exit($bad);
' "$@"