@@ -15,14 +15,14 @@ my $EXPECT;
15
15
if (ord " A" == 193) { # EBCDIC
16
16
$EXPECT = <<EOT ;
17
17
0956ffb4f6416082b27d6680b4cf73fc README
18
- 3fce99bf3f4df26d65843a6990849df0 MD5.xs
18
+ f9d533188a37309320d2805372db0b0e MD5.xs
19
19
276da0aa4e9a08b7fe09430c9c5690aa rfc1321.txt
20
20
EOT
21
21
} else {
22
22
# This is the output of: 'md5sum README MD5.xs rfc1321.txt'
23
23
$EXPECT = <<EOT ;
24
24
2f93400875dbb56f36691d5f69f3eba5 README
25
- f8549bd328fa712f4af41430738c285a MD5.xs
25
+ f4b5da4e0f19b4c0ab374b7085ed8955 MD5.xs
26
26
754b9db19f79dbc4992f7166eb0f37ce rfc1321.txt
27
27
EOT
28
28
}
@@ -41,99 +41,99 @@ if ($@) {
41
41
}
42
42
43
43
for (split /^/, $EXPECT ) {
44
- my ($md5hex , $file ) = split ' ' ;
45
- my $base = $file ;
46
- # print "# $base\n";
47
- if ($ENV {PERL_CORE }) {
44
+ my ($md5hex , $file ) = split ' ' ;
45
+ my $base = $file ;
46
+ # print "# $base\n";
47
+ if ($ENV {PERL_CORE }) {
48
48
# Don't have these in core.
49
- if ($file eq ' rfc1321.txt' or $file eq ' README' ) {
50
- print " ok " , ++$testno , " # Skip: PERL_CORE\n " ;
51
- next ;
52
- }
53
- }
54
- # print "# file = $file\n";
55
- unless (-f $file ) {
56
- warn " No such file: $file \n " ;
57
- next ;
58
- }
59
- if ($ENV {EBCDIC_MD5SUM }) {
60
- require Encode;
61
- my $data = cat_file($file );
62
- Encode::from_to($data , ' latin1' , ' cp1047' );
63
- print md5_hex($data ), " $base \n " ;
64
- next ;
65
- }
66
- my $md5bin = pack (" H*" , $md5hex );
67
- my $md5b64 ;
68
- if ($B64 ) {
69
- $md5b64 = MIME::Base64::encode($md5bin , " " );
70
- chop ($md5b64 ); chop ($md5b64 ); # remove padding
71
- }
72
- my $failed ;
73
- my $got ;
74
-
75
- if (digest_file($file , ' digest' ) ne $md5bin ) {
76
- print " $file : Bad digest\n " ;
77
- $failed ++;
78
- }
79
-
80
- if (($got = digest_file($file , ' hexdigest' )) ne $md5hex ) {
81
- print " $file : Bad hexdigest: got $got expected $md5hex \n " ;
82
- $failed ++;
83
- }
84
-
85
- if ($B64 && digest_file($file , ' b64digest' ) ne $md5b64 ) {
86
- print " $file : Bad b64digest\n " ;
87
- $failed ++;
88
- }
89
-
90
- my $data = cat_file($file );
91
- if (md5($data ) ne $md5bin ) {
92
- print " $file : md5() failed\n " ;
93
- $failed ++;
94
- }
95
- if (md5_hex($data ) ne $md5hex ) {
96
- print " $file : md5_hex() failed\n " ;
97
- $failed ++;
98
- }
99
- if ($B64 && md5_base64($data ) ne $md5b64 ) {
100
- print " $file : md5_base64() failed\n " ;
101
- $failed ++;
102
- }
103
-
104
- if (Digest::MD5-> new-> add($data )-> digest ne $md5bin ) {
105
- print " $file : MD5->new->add(...)->digest failed\n " ;
106
- $failed ++;
107
- }
108
- if (Digest::MD5-> new-> add($data )-> hexdigest ne $md5hex ) {
109
- print " $file : MD5->new->add(...)->hexdigest failed\n " ;
110
- $failed ++;
111
- }
112
- if ($B64 && Digest::MD5-> new-> add($data )-> b64digest ne $md5b64 ) {
113
- print " $file : MD5->new->add(...)->b64digest failed\n " ;
114
- $failed ++;
115
- }
116
-
117
- my @data = split //, $data ;
118
- if (md5(@data ) ne $md5bin ) {
119
- print " $file : md5(\@ data) failed\n " ;
120
- $failed ++;
121
- }
122
- if (Digest::MD5-> new-> add(@data )-> digest ne $md5bin ) {
123
- print " $file : MD5->new->add(\@ data)->digest failed\n " ;
124
- $failed ++;
125
- }
126
- my $md5 = Digest::MD5-> new;
127
- for (@data ) {
128
- $md5 -> add($_ );
129
- }
130
- if ($md5 -> digest ne $md5bin ) {
131
- print " $file : $md5 ->add()-loop failed\n " ;
132
- $failed ++;
133
- }
134
-
135
- print " not " if $failed ;
136
- print " ok " , ++$testno , " \n " ;
49
+ if ($file eq ' rfc1321.txt' or $file eq ' README' ) {
50
+ print " ok " , ++$testno , " # Skip: PERL_CORE\n " ;
51
+ next ;
52
+ }
53
+ }
54
+ # print "# file = $file\n";
55
+ unless (-f $file ) {
56
+ warn " No such file: $file \n " ;
57
+ next ;
58
+ }
59
+ if ($ENV {EBCDIC_MD5SUM }) {
60
+ require Encode;
61
+ my $data = cat_file($file );
62
+ Encode::from_to($data , ' latin1' , ' cp1047' );
63
+ print md5_hex($data ), " $base \n " ;
64
+ next ;
65
+ }
66
+ my $md5bin = pack (" H*" , $md5hex );
67
+ my $md5b64 ;
68
+ if ($B64 ) {
69
+ $md5b64 = MIME::Base64::encode($md5bin , " " );
70
+ chop ($md5b64 ); chop ($md5b64 ); # remove padding
71
+ }
72
+ my $failed ;
73
+ my $got ;
74
+
75
+ if (digest_file($file , ' digest' ) ne $md5bin ) {
76
+ print " $file : Bad digest\n " ;
77
+ $failed ++;
78
+ }
79
+
80
+ if (($got = digest_file($file , ' hexdigest' )) ne $md5hex ) {
81
+ print " $file : Bad hexdigest: got $got expected $md5hex \n " ;
82
+ $failed ++;
83
+ }
84
+
85
+ if ($B64 && digest_file($file , ' b64digest' ) ne $md5b64 ) {
86
+ print " $file : Bad b64digest\n " ;
87
+ $failed ++;
88
+ }
89
+
90
+ my $data = cat_file($file );
91
+ if (md5($data ) ne $md5bin ) {
92
+ print " $file : md5() failed\n " ;
93
+ $failed ++;
94
+ }
95
+ if (md5_hex($data ) ne $md5hex ) {
96
+ print " $file : md5_hex() failed\n " ;
97
+ $failed ++;
98
+ }
99
+ if ($B64 && md5_base64($data ) ne $md5b64 ) {
100
+ print " $file : md5_base64() failed\n " ;
101
+ $failed ++;
102
+ }
103
+
104
+ if (Digest::MD5-> new-> add($data )-> digest ne $md5bin ) {
105
+ print " $file : MD5->new->add(...)->digest failed\n " ;
106
+ $failed ++;
107
+ }
108
+ if (Digest::MD5-> new-> add($data )-> hexdigest ne $md5hex ) {
109
+ print " $file : MD5->new->add(...)->hexdigest failed\n " ;
110
+ $failed ++;
111
+ }
112
+ if ($B64 && Digest::MD5-> new-> add($data )-> b64digest ne $md5b64 ) {
113
+ print " $file : MD5->new->add(...)->b64digest failed\n " ;
114
+ $failed ++;
115
+ }
116
+
117
+ my @data = split //, $data ;
118
+ if (md5(@data ) ne $md5bin ) {
119
+ print " $file : md5(\@ data) failed\n " ;
120
+ $failed ++;
121
+ }
122
+ if (Digest::MD5-> new-> add(@data )-> digest ne $md5bin ) {
123
+ print " $file : MD5->new->add(\@ data)->digest failed\n " ;
124
+ $failed ++;
125
+ }
126
+ my $md5 = Digest::MD5-> new;
127
+ for (@data ) {
128
+ $md5 -> add($_ );
129
+ }
130
+ if ($md5 -> digest ne $md5bin ) {
131
+ print " $file : $md5 ->add()-loop failed\n " ;
132
+ $failed ++;
133
+ }
134
+
135
+ print " not " if $failed ;
136
+ print " ok " , ++$testno , " \n " ;
137
137
}
138
138
139
139
@@ -163,4 +163,3 @@ sub cat_file
163
163
close (FILE);
164
164
$tmp ;
165
165
}
166
-
0 commit comments