Commit | Line | Data |
6bc89f92 |
1 | use strict; |
747da336 |
2 | use FileHandle; |
3 | |
4 | my $MODULE; |
5 | |
6 | BEGIN { |
72aa8e26 |
7 | $MODULE = ($ENV{PERL_CORE} || -e "SHA.pm") ? "Digest::SHA" : "Digest::SHA::PurePerl"; |
747da336 |
8 | eval "require $MODULE" || die $@; |
9 | $MODULE->import(qw()); |
10 | } |
6bc89f92 |
11 | |
41c686de |
12 | BEGIN { |
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 |
24 | print "1..1\n"; |
6bc89f92 |
25 | |
747da336 |
26 | my $tempfile = "ireland.tmp"; |
27 | END { 1 while unlink $tempfile } |
6bc89f92 |
28 | |
747da336 |
29 | my $fh = FileHandle->new($tempfile, "w"); |
30 | while (<DATA>) { print $fh $_ } close($fh); |
6bc89f92 |
31 | |
747da336 |
32 | my $rsp = "b9045a713caed5dff3d3b783e98d1ce5778d8bc331ee4119d707072312af06a7"; |
6bc89f92 |
33 | |
747da336 |
34 | my $sha; |
35 | if ($sha = $MODULE->load($tempfile)) { |
36 | $sha->add("aa"); |
37 | print "not " unless $sha->hexdigest eq $rsp; |
38 | print "ok 1\n"; |
39 | } |
40 | else { print "not ok 1\n" } |
6bc89f92 |
41 | |
42 | __DATA__ |
43 | alg:256 |
44 | H:dd75eb45:02d4f043:06b41193:6fda751d:73064db9:787d54e1:52dc3fe0:48687dfa |
45 | block: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 |
46 | blockcnt:496 |
47 | lenhh:0 |
48 | lenhl:0 |
49 | lenlh:0 |
50 | lenll:4294967280 |