|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
use strict; |
|
|
|
|
|
(my $program_name = $0) =~ s|.*/||; |
|
|
|
|
|
# Turn off localization of executable's output. |
|
|
@ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; |
|
|
|
|
|
my $sha_degenerate = "38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b"; |
|
|
|
|
|
my @Tests = |
|
|
( |
|
|
['s1', {IN=> {f=> ''}}, |
|
|
{OUT=>"$sha_degenerate f\n"}], |
|
|
['s2', {IN=> {f=> 'a'}}, |
|
|
{OUT=>"54a59b9f22b0b80880d8427e548b7c23abd873486e1f035dce9cd697e85175033caa88e6d57bc35efae0b5afd3145f31 f\n"}], |
|
|
['s3', {IN=> {f=> 'abc'}}, |
|
|
{OUT=>"cb00753f45a35e8bb5a03d699ac65007272c32ab0eded1631a8b605a43ff5bed8086072ba1e7cc2358baeca134c825a7 f\n"}], |
|
|
['s4', |
|
|
{IN=> {f=> 'abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu'}}, |
|
|
{OUT=>"09330c33f71147e83d192fc782cd1b4753111b173b3b05d22fa08086e3b0f712fcc7c71a557e2db966c3e9fa91746039 f\n"}], |
|
|
['s8', {IN=> {f=> 'a' x 1000000}}, |
|
|
{OUT=>"9d0e1809716474cb086e834e310a4a1ced149e9c00f248527972cec5704c2a5b07b8b3dc38ecc4ebae97ddd87f3d8985 f\n"}], |
|
|
); |
|
|
|
|
|
# Insert the '--text' argument for each test. |
|
|
my $t; |
|
|
foreach $t (@Tests) |
|
|
{ |
|
|
splice @$t, 1, 0, '--text' unless @$t[1] =~ /--check/; |
|
|
} |
|
|
|
|
|
my $save_temps = $ENV{DEBUG}; |
|
|
my $verbose = $ENV{VERBOSE}; |
|
|
|
|
|
my $prog = 'sha384sum'; |
|
|
my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); |
|
|
exit $fail; |
|
|
|