[ID 20020609.007] Not OK: perl v5.8.0 +DEVEL17060 on i686-linux 2.4.18-4smp (UNINSTALLED)
[p5sagit/p5-mst-13.2.git] / ext / Digest / MD5 / t / files.t
index 5d25322..34ef9e0 100644 (file)
@@ -20,20 +20,29 @@ my $EXPECT;
 # (You'll need to have Perl 5.7.3 or later, to have the Encode installed.)
 # (And remember that under the Perl core distribution you should
 #  also have the $ENV{PERL_CORE} set to a true value.)
+# Similarly, to update MacOS section, run with $ENV{MAC_MD5SUM} set.
 
 if (ord "A" == 193) { # EBCDIC
     $EXPECT = <<EOT;
-a1ee2b18d1e05bdde3a93009e7f9dfda  Changes
+b362148b17a451f0d81e0ebb2487756e  Changes
 5a591a47e8c40fe4b78c744111511c45  README
-c9c83e6dbad5f41722338e67d4428077  MD5.pm
+3157e2d2e27dacddea7c54efddc32520  MD5.pm
 4850753428db9422e8e5f97b401d5a13  MD5.xs
 276da0aa4e9a08b7fe09430c9c5690aa  rfc1321.txt
 EOT
+} elsif ("\n" eq "\015") { # MacOS
+    $EXPECT = <<EOT;
+cc90a85f89b397341f97c9279640fbf5  Changes
+127952946201e6afc19eb41250c56871  README
+d87ec77c963d27198b7427156167a5b3  MD5.pm
+5be7049479ea47d7c257dabcae835720  MD5.xs
+f9a35714ee1d1d0c5a3a80f4dbea956a  rfc1321.txt
+EOT
 } else {
     $EXPECT = <<EOT;
-3866f3543ef41421c6aed3f198e2e9f5  Changes
+0106b67df0dbf9f4d65e9fc04907745b  Changes
 3519f3d02c7c91158f732f0f00064657  README
-01cd8fd24bd46ce1db53074d2af6001a  MD5.pm
+88c35ca46c7e8069fb5ae00c091c98d6  MD5.pm
 1be293491bba726810f8e87671ee0328  MD5.xs
 754b9db19f79dbc4992f7166eb0f37ce  rfc1321.txt
 EOT
@@ -74,10 +83,15 @@ for (split /^/, $EXPECT) {
        next;
      }
      if ($ENV{EBCDIC_MD5SUM}) {
-         use Encode 'from_to';
+         require Encode;
+        my $data = cat_file($file);    
+        Encode::from_to($data, 'latin1', 'cp1047');
+        print md5_hex($data), "  $base\n";
+        next;
+     }
+     if ($ENV{MAC_MD5SUM}) {
         my $data = cat_file($file);    
-        from_to($data, 'latin1', 'cp1047');
-        print md5_hex($data), " $base\n";
+        print md5_hex($data), "  $base\n";
         next;
      }
      my $md5bin = pack("H*", $md5hex);
@@ -161,6 +175,7 @@ sub digest_file
     #print "$file $method\n";
 
     open(FILE, $file) or die "Can't open $file: $!";
+    eval { binmode(FILE, ":bytes") }; # Perl 5.8.0+ only
     my $digest = Digest::MD5->new->addfile(*FILE)->$method();
     close(FILE);
 
@@ -172,6 +187,7 @@ sub cat_file
     my($file) = @_;
     local $/;  # slurp
     open(FILE, $file) or die "Can't open $file: $!";
+    eval { binmode(FILE, ":bytes") }; # Perl 5.8.0+ only
     my $tmp = <FILE>;
     close(FILE);
     $tmp;