Upgrade to Digest-SHA-5.47
[p5sagit/p5-mst-13.2.git] / ext / Digest / SHA / t / ireland.t
CommitLineData
6bc89f92 1use strict;
747da336 2use FileHandle;
3
4my $MODULE;
5
6BEGIN {
4eb6bdb8 7 $MODULE = ($ENV{PERL_CORE} || -d "src") ? "Digest::SHA" : "Digest::SHA::PurePerl";
747da336 8 eval "require $MODULE" || die $@;
9 $MODULE->import(qw());
10}
6bc89f92 11
41c686de 12BEGIN {
77d2a621 13 if ($ENV{PERL_CORE}) {
14 chdir 't' if -d 't';
15 @INC = '../lib';
16 }
41c686de 17}
18
6bc89f92 19# David Ireland's test vector - SHA-256 digest of "a" x 536870912
20
21# Adapted from Julius Duque's original script (t/24-ireland.tmp)
22# - modified to use state cache via dump()/load() methods
23
747da336 24print "1..1\n";
6bc89f92 25
747da336 26my $tempfile = "ireland.tmp";
27END { 1 while unlink $tempfile }
6bc89f92 28
747da336 29my $fh = FileHandle->new($tempfile, "w");
30while (<DATA>) { print $fh $_ } close($fh);
6bc89f92 31
747da336 32my $rsp = "b9045a713caed5dff3d3b783e98d1ce5778d8bc331ee4119d707072312af06a7";
6bc89f92 33
747da336 34my $sha;
35if ($sha = $MODULE->load($tempfile)) {
36 $sha->add("aa");
37 print "not " unless $sha->hexdigest eq $rsp;
38 print "ok 1\n";
39}
40else { print "not ok 1\n" }
6bc89f92 41
42__DATA__
43alg:256
44H:dd75eb45:02d4f043:06b41193:6fda751d:73064db9:787d54e1:52dc3fe0:48687dfa
45block:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:61:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
46blockcnt:496
47lenhh:0
48lenhl:0
49lenlh:0
50lenll:4294967280