From: Kevin Ballard Date: Sat, 16 Oct 2010 11:09:20 +0000 (-0700) Subject: Update test script annotate-tests.sh to handle missing/extra authors X-Git-Tag: v1.7.3.2~7 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=27eea66b28e15890ae587303c1c316388845169e;p=git.git 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 Signed-off-by: Kevin Ballard Signed-off-by: Junio C Hamano --- diff --git a/t/annotate-tests.sh b/t/annotate-tests.sh index 396b9653a..141b60cdc 100644 --- a/t/annotate-tests.sh +++ b/t/annotate-tests.sh @@ -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 () { 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); ' "$@"