Use original alltests target for definitive test list.
[openssl.git] / util / ck_errf.pl
index fd6becc..f13af5c 100755 (executable)
@@ -7,8 +7,16 @@
 # perl util/ck_errf.pl */*.c */*/*.c
 #
 
+my $err_strict = 0;
+my $bad = 0;
+
 foreach $file (@ARGV)
        {
+       if ($file eq "-strict")
+               {
+               $err_strict = 1;
+               next;
+               }
        open(IN,"<$file") || die "unable to open $file\n";
        $func="";
        while (<IN>)
@@ -26,7 +34,7 @@ foreach $file (@ARGV)
                        $n=$2;
 
                        if ($func eq "")
-                               { print "$file:$.:???:$n\n"; next; }
+                               { print "$file:$.:???:$n\n"; $bad = 1; next; }
 
                        if ($n !~ /([^_]+)_F_(.+)$/)
                                {
@@ -37,14 +45,20 @@ foreach $file (@ARGV)
                        $n=$2;
 
                        if ($lib ne $errlib)
-                               { print "$file:$.:$func:$n [${errlib}err]\n"; next; }
+                               { print "$file:$.:$func:$n [${errlib}err]\n"; $bad = 1; next; }
 
                        $n =~ tr/A-Z/a-z/;
                        if (($n ne $func) && ($errlib ne "SYS"))
-                               { print "$file:$.:$func:$n\n"; next; }
+                               { print "$file:$.:$func:$n\n"; $bad = 1; next; }
        #               print "$func:$1\n";
                        }
                }
        close(IN);
         }
 
+if ($bad && $err_strict)
+       {
+       print STDERR "FATAL: error discrepancy\n";
+       exit 1;
+       }
+