|
Packit |
14c646 |
#!perl -w
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
BEGIN {
|
|
Packit |
14c646 |
unshift @INC, 't/compat' if $] < 5.006002;
|
|
Packit |
14c646 |
};
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
use strict;
|
|
Packit |
14c646 |
use Test::More;
|
|
Packit |
14c646 |
use Storable qw(store nstore);
|
|
Packit |
14c646 |
use Config qw(%Config);
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
# The @tests array below was create by the following program
|
|
Packit |
14c646 |
my $dummy = <<'EOT';
|
|
Packit |
14c646 |
use Storable;
|
|
Packit |
14c646 |
use Data::Dump qw(dump);
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
print "my \@tests = (\n";
|
|
Packit |
14c646 |
for my $f (<data_*>) {
|
|
Packit |
14c646 |
print " [\n";
|
|
Packit |
14c646 |
print " " . dump(substr(`cat $f`, 0, 32) . "...") , ",\n";
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
my $x = dump(Storable::file_magic($f));
|
|
Packit |
14c646 |
$x =~ s/^/ /gm;
|
|
Packit |
14c646 |
print "$x,\n";
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
print " ],\n";
|
|
Packit |
14c646 |
}
|
|
Packit |
14c646 |
print ");\n";
|
|
Packit |
14c646 |
EOT
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
my @tests = (
|
|
Packit |
14c646 |
[
|
|
Packit |
14c646 |
"perl-store\x041234\4\4\4\xD4\xC2\32\b\3\13\0\0\0v\b\xC5\32\b...",
|
|
Packit |
14c646 |
{
|
|
Packit |
14c646 |
byteorder => 1234,
|
|
Packit |
14c646 |
file => "data_perl-5.006001_i686-linux-thread-multi_Storable-0.1.le32",
|
|
Packit |
14c646 |
hdrsize => 18,
|
|
Packit |
14c646 |
intsize => 4,
|
|
Packit |
14c646 |
longsize => 4,
|
|
Packit |
14c646 |
netorder => 0,
|
|
Packit |
14c646 |
ptrsize => 4,
|
|
Packit |
14c646 |
version => -1,
|
|
Packit |
14c646 |
version_nv => -1,
|
|
Packit |
14c646 |
},
|
|
Packit |
14c646 |
],
|
|
Packit |
14c646 |
[
|
|
Packit |
14c646 |
"perl-store\0\x041234\4\4\4\x8Co\34\b\3\13\0\0\0v\x94v\34...",
|
|
Packit |
14c646 |
{
|
|
Packit |
14c646 |
byteorder => 1234,
|
|
Packit |
14c646 |
file => "data_perl-5.006001_i686-linux-thread-multi_Storable-0.4_07.le32",
|
|
Packit |
14c646 |
hdrsize => 19,
|
|
Packit |
14c646 |
intsize => 4,
|
|
Packit |
14c646 |
longsize => 4,
|
|
Packit |
14c646 |
major => 0,
|
|
Packit |
14c646 |
netorder => 0,
|
|
Packit |
14c646 |
ptrsize => 4,
|
|
Packit |
14c646 |
version => 0,
|
|
Packit |
14c646 |
version_nv => 0,
|
|
Packit |
14c646 |
},
|
|
Packit |
14c646 |
],
|
|
Packit |
14c646 |
[
|
|
Packit |
14c646 |
"perl-store\1\x8Co\34\b\3\0\0\0\13v\x94v\34\b\1\0\0\4\0\0\0...",
|
|
Packit |
14c646 |
{
|
|
Packit |
14c646 |
file => "data_perl-5.006001_i686-linux-thread-multi_Storable-0.4_07.neutral",
|
|
Packit |
14c646 |
hdrsize => 11,
|
|
Packit |
14c646 |
major => 0,
|
|
Packit |
14c646 |
netorder => 1,
|
|
Packit |
14c646 |
version => 0,
|
|
Packit |
14c646 |
version_nv => 0,
|
|
Packit |
14c646 |
},
|
|
Packit |
14c646 |
],
|
|
Packit |
14c646 |
[
|
|
Packit |
14c646 |
"pst0\2\x041234\4\4\4\3\13\0\0\0\1\0\4\0\0\0\0\0\0\0\0\0\0\0...",
|
|
Packit |
14c646 |
{
|
|
Packit |
14c646 |
byteorder => 1234,
|
|
Packit |
14c646 |
file => "data_perl-5.006001_i686-linux-thread-multi_Storable-0.604.le32",
|
|
Packit |
14c646 |
hdrsize => 13,
|
|
Packit |
14c646 |
intsize => 4,
|
|
Packit |
14c646 |
longsize => 4,
|
|
Packit |
14c646 |
major => 1,
|
|
Packit |
14c646 |
netorder => 0,
|
|
Packit |
14c646 |
ptrsize => 4,
|
|
Packit |
14c646 |
version => 1,
|
|
Packit |
14c646 |
version_nv => 1,
|
|
Packit |
14c646 |
},
|
|
Packit |
14c646 |
],
|
|
Packit |
14c646 |
[
|
|
Packit |
14c646 |
"pst0\3\3\0\0\0\13\1\0\0\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0...",
|
|
Packit |
14c646 |
{
|
|
Packit |
14c646 |
file => "data_perl-5.006001_i686-linux-thread-multi_Storable-0.604.neutral",
|
|
Packit |
14c646 |
hdrsize => 5,
|
|
Packit |
14c646 |
major => 1,
|
|
Packit |
14c646 |
netorder => 1,
|
|
Packit |
14c646 |
version => 1,
|
|
Packit |
14c646 |
version_nv => 1,
|
|
Packit |
14c646 |
},
|
|
Packit |
14c646 |
],
|
|
Packit |
14c646 |
[
|
|
Packit |
14c646 |
"pst0\4\0\x041234\4\4\4\3\13\0\0\0\1\0\4\0\0\0\0\0\0\0\0\0\0...",
|
|
Packit |
14c646 |
{
|
|
Packit |
14c646 |
byteorder => 1234,
|
|
Packit |
14c646 |
file => "data_perl-5.006001_i686-linux-thread-multi_Storable-0.700.le32",
|
|
Packit |
14c646 |
hdrsize => 14,
|
|
Packit |
14c646 |
intsize => 4,
|
|
Packit |
14c646 |
longsize => 4,
|
|
Packit |
14c646 |
major => 2,
|
|
Packit |
14c646 |
minor => 0,
|
|
Packit |
14c646 |
netorder => 0,
|
|
Packit |
14c646 |
ptrsize => 4,
|
|
Packit |
14c646 |
version => "2.0",
|
|
Packit |
14c646 |
version_nv => "2.000",
|
|
Packit |
14c646 |
},
|
|
Packit |
14c646 |
],
|
|
Packit |
14c646 |
[
|
|
Packit |
14c646 |
"pst0\5\0\3\0\0\0\13\1\0\0\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0...",
|
|
Packit |
14c646 |
{
|
|
Packit |
14c646 |
file => "data_perl-5.006001_i686-linux-thread-multi_Storable-0.700.neutral",
|
|
Packit |
14c646 |
hdrsize => 6,
|
|
Packit |
14c646 |
major => 2,
|
|
Packit |
14c646 |
minor => 0,
|
|
Packit |
14c646 |
netorder => 1,
|
|
Packit |
14c646 |
version => "2.0",
|
|
Packit |
14c646 |
version_nv => "2.000",
|
|
Packit |
14c646 |
},
|
|
Packit |
14c646 |
],
|
|
Packit |
14c646 |
[
|
|
Packit |
14c646 |
"pst0\4\4\x041234\4\4\4\x08\3\13\0\0\0\1\0\4\0\0\0\0\0\0\0\0\0...",
|
|
Packit |
14c646 |
{
|
|
Packit |
14c646 |
byteorder => 1234,
|
|
Packit |
14c646 |
file => "data_perl-5.006001_i686-linux-thread-multi_Storable-1.012.le32",
|
|
Packit |
14c646 |
hdrsize => 15,
|
|
Packit |
14c646 |
intsize => 4,
|
|
Packit |
14c646 |
longsize => 4,
|
|
Packit |
14c646 |
major => 2,
|
|
Packit |
14c646 |
minor => 4,
|
|
Packit |
14c646 |
netorder => 0,
|
|
Packit |
14c646 |
nvsize => 8,
|
|
Packit |
14c646 |
ptrsize => 4,
|
|
Packit |
14c646 |
version => "2.4",
|
|
Packit |
14c646 |
version_nv => "2.004",
|
|
Packit |
14c646 |
},
|
|
Packit |
14c646 |
],
|
|
Packit |
14c646 |
[
|
|
Packit |
14c646 |
"pst0\4\3\x044321\4\4\4\x08\3\0\0\0\13\1\0\0\4\0\0\0\0\0\0\0\0...",
|
|
Packit |
14c646 |
{
|
|
Packit |
14c646 |
byteorder => 4321,
|
|
Packit |
14c646 |
file => "data_perl-5.006001_IA64.ARCHREV_0-thread-multi_Storable-1.006.be32",
|
|
Packit |
14c646 |
hdrsize => 15,
|
|
Packit |
14c646 |
intsize => 4,
|
|
Packit |
14c646 |
longsize => 4,
|
|
Packit |
14c646 |
major => 2,
|
|
Packit |
14c646 |
minor => 3,
|
|
Packit |
14c646 |
netorder => 0,
|
|
Packit |
14c646 |
nvsize => 8,
|
|
Packit |
14c646 |
ptrsize => 4,
|
|
Packit |
14c646 |
version => "2.3",
|
|
Packit |
14c646 |
version_nv => "2.003",
|
|
Packit |
14c646 |
},
|
|
Packit |
14c646 |
],
|
|
Packit |
14c646 |
[
|
|
Packit |
14c646 |
"pst0\5\3\3\0\0\0\13\1\0\0\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0...",
|
|
Packit |
14c646 |
{
|
|
Packit |
14c646 |
file => "data_perl-5.006001_IA64.ARCHREV_0-thread-multi_Storable-1.006.neutral",
|
|
Packit |
14c646 |
hdrsize => 6,
|
|
Packit |
14c646 |
major => 2,
|
|
Packit |
14c646 |
minor => 3,
|
|
Packit |
14c646 |
netorder => 1,
|
|
Packit |
14c646 |
version => "2.3",
|
|
Packit |
14c646 |
version_nv => "2.003",
|
|
Packit |
14c646 |
},
|
|
Packit |
14c646 |
],
|
|
Packit |
14c646 |
[
|
|
Packit |
14c646 |
"pst0\4\4\x044321\4\4\4\x08\3\0\0\0\13\1\0\0\4\0\0\0\0\0\0\0\0...",
|
|
Packit |
14c646 |
{
|
|
Packit |
14c646 |
byteorder => 4321,
|
|
Packit |
14c646 |
file => "data_perl-5.006001_IA64.ARCHREV_0-thread-multi_Storable-1.012.be32",
|
|
Packit |
14c646 |
hdrsize => 15,
|
|
Packit |
14c646 |
intsize => 4,
|
|
Packit |
14c646 |
longsize => 4,
|
|
Packit |
14c646 |
major => 2,
|
|
Packit |
14c646 |
minor => 4,
|
|
Packit |
14c646 |
netorder => 0,
|
|
Packit |
14c646 |
nvsize => 8,
|
|
Packit |
14c646 |
ptrsize => 4,
|
|
Packit |
14c646 |
version => "2.4",
|
|
Packit |
14c646 |
version_nv => "2.004",
|
|
Packit |
14c646 |
},
|
|
Packit |
14c646 |
],
|
|
Packit |
14c646 |
[
|
|
Packit |
14c646 |
"pst0\5\4\3\0\0\0\13\1\0\0\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0...",
|
|
Packit |
14c646 |
{
|
|
Packit |
14c646 |
file => "data_perl-5.006001_IA64.ARCHREV_0-thread-multi_Storable-1.012.neutral",
|
|
Packit |
14c646 |
hdrsize => 6,
|
|
Packit |
14c646 |
major => 2,
|
|
Packit |
14c646 |
minor => 4,
|
|
Packit |
14c646 |
netorder => 1,
|
|
Packit |
14c646 |
version => "2.4",
|
|
Packit |
14c646 |
version_nv => "2.004",
|
|
Packit |
14c646 |
},
|
|
Packit |
14c646 |
],
|
|
Packit |
14c646 |
[
|
|
Packit |
14c646 |
"pst0\4\6\x044321\4\4\4\x08\3\0\0\0\13\n\n4294967296...",
|
|
Packit |
14c646 |
{
|
|
Packit |
14c646 |
byteorder => 4321,
|
|
Packit |
14c646 |
file => "data_perl-5.008001_darwin-thread-multi-2level_Storable-2.08.be32",
|
|
Packit |
14c646 |
hdrsize => 15,
|
|
Packit |
14c646 |
intsize => 4,
|
|
Packit |
14c646 |
longsize => 4,
|
|
Packit |
14c646 |
major => 2,
|
|
Packit |
14c646 |
minor => 6,
|
|
Packit |
14c646 |
netorder => 0,
|
|
Packit |
14c646 |
nvsize => 8,
|
|
Packit |
14c646 |
ptrsize => 4,
|
|
Packit |
14c646 |
version => "2.6",
|
|
Packit |
14c646 |
version_nv => "2.006",
|
|
Packit |
14c646 |
},
|
|
Packit |
14c646 |
],
|
|
Packit |
14c646 |
[
|
|
Packit |
14c646 |
"pst0\5\6\3\0\0\0\13\n\n4294967296\0\0\0\bfour_...",
|
|
Packit |
14c646 |
{
|
|
Packit |
14c646 |
file => "data_perl-5.008001_darwin-thread-multi-2level_Storable-2.08.neutral",
|
|
Packit |
14c646 |
hdrsize => 6,
|
|
Packit |
14c646 |
major => 2,
|
|
Packit |
14c646 |
minor => 6,
|
|
Packit |
14c646 |
netorder => 1,
|
|
Packit |
14c646 |
version => "2.6",
|
|
Packit |
14c646 |
version_nv => "2.006",
|
|
Packit |
14c646 |
},
|
|
Packit |
14c646 |
],
|
|
Packit |
14c646 |
[
|
|
Packit |
14c646 |
"pst0\4\6\x044321\4\4\4\x08\3\0\0\0\13\4\3\0\0\0\0\0\0\0\nem...",
|
|
Packit |
14c646 |
{
|
|
Packit |
14c646 |
byteorder => 4321,
|
|
Packit |
14c646 |
file => "data_perl-5.008003_PA-RISC1.1-thread-multi_Storable-2.09.be32",
|
|
Packit |
14c646 |
hdrsize => 15,
|
|
Packit |
14c646 |
intsize => 4,
|
|
Packit |
14c646 |
longsize => 4,
|
|
Packit |
14c646 |
major => 2,
|
|
Packit |
14c646 |
minor => 6,
|
|
Packit |
14c646 |
netorder => 0,
|
|
Packit |
14c646 |
nvsize => 8,
|
|
Packit |
14c646 |
ptrsize => 4,
|
|
Packit |
14c646 |
version => "2.6",
|
|
Packit |
14c646 |
version_nv => "2.006",
|
|
Packit |
14c646 |
},
|
|
Packit |
14c646 |
],
|
|
Packit |
14c646 |
[
|
|
Packit |
14c646 |
"pst0\5\6\3\0\0\0\13\4\3\0\0\0\0\0\0\0\nempty_hash\n...",
|
|
Packit |
14c646 |
{
|
|
Packit |
14c646 |
file => "data_perl-5.008003_PA-RISC1.1-thread-multi_Storable-2.09.neutral",
|
|
Packit |
14c646 |
hdrsize => 6,
|
|
Packit |
14c646 |
major => 2,
|
|
Packit |
14c646 |
minor => 6,
|
|
Packit |
14c646 |
netorder => 1,
|
|
Packit |
14c646 |
version => "2.6",
|
|
Packit |
14c646 |
version_nv => "2.006",
|
|
Packit |
14c646 |
},
|
|
Packit |
14c646 |
],
|
|
Packit |
14c646 |
[
|
|
Packit |
14c646 |
"pst0\4\6\x0812345678\4\4\4\x08\3\13\0\0\0\4\3\0\0\0\0\n\0...",
|
|
Packit |
14c646 |
{
|
|
Packit |
14c646 |
byteorder => 12_345_678,
|
|
Packit |
14c646 |
file => "data_perl-5.008004_i86pc-solaris-64int_Storable-2.12.le64",
|
|
Packit |
14c646 |
hdrsize => 19,
|
|
Packit |
14c646 |
intsize => 4,
|
|
Packit |
14c646 |
longsize => 4,
|
|
Packit |
14c646 |
major => 2,
|
|
Packit |
14c646 |
minor => 6,
|
|
Packit |
14c646 |
netorder => 0,
|
|
Packit |
14c646 |
nvsize => 8,
|
|
Packit |
14c646 |
ptrsize => 4,
|
|
Packit |
14c646 |
version => "2.6",
|
|
Packit |
14c646 |
version_nv => "2.006",
|
|
Packit |
14c646 |
},
|
|
Packit |
14c646 |
],
|
|
Packit |
14c646 |
[
|
|
Packit |
14c646 |
"pst0\4\6\x041234\4\4\4\x08\3\13\0\0\0\4\3\0\0\0\0\n\0\0\0em...",
|
|
Packit |
14c646 |
{
|
|
Packit |
14c646 |
byteorder => 1234,
|
|
Packit |
14c646 |
file => "data_perl-5.008006_i686-linux-thread-multi_Storable-2.13.le32",
|
|
Packit |
14c646 |
hdrsize => 15,
|
|
Packit |
14c646 |
intsize => 4,
|
|
Packit |
14c646 |
longsize => 4,
|
|
Packit |
14c646 |
major => 2,
|
|
Packit |
14c646 |
minor => 6,
|
|
Packit |
14c646 |
netorder => 0,
|
|
Packit |
14c646 |
nvsize => 8,
|
|
Packit |
14c646 |
ptrsize => 4,
|
|
Packit |
14c646 |
version => "2.6",
|
|
Packit |
14c646 |
version_nv => "2.006",
|
|
Packit |
14c646 |
},
|
|
Packit |
14c646 |
],
|
|
Packit |
14c646 |
[
|
|
Packit |
14c646 |
"pst0\4\6\x0887654321\4\x08\x08\x08\3\0\0\0\13\4\3\0\0\0\0\0\0...",
|
|
Packit |
14c646 |
{
|
|
Packit |
14c646 |
byteorder => 87_654_321,
|
|
Packit |
14c646 |
file => "data_perl-5.008007_IA64.ARCHREV_0-thread-multi-LP64_Storable-2.13.be64",
|
|
Packit |
14c646 |
hdrsize => 19,
|
|
Packit |
14c646 |
intsize => 4,
|
|
Packit |
14c646 |
longsize => 8,
|
|
Packit |
14c646 |
major => 2,
|
|
Packit |
14c646 |
minor => 6,
|
|
Packit |
14c646 |
netorder => 0,
|
|
Packit |
14c646 |
nvsize => 8,
|
|
Packit |
14c646 |
ptrsize => 8,
|
|
Packit |
14c646 |
version => "2.6",
|
|
Packit |
14c646 |
version_nv => "2.006",
|
|
Packit |
14c646 |
},
|
|
Packit |
14c646 |
],
|
|
Packit |
14c646 |
[
|
|
Packit |
14c646 |
"pst0\4\x07\x0812345678\4\x08\x08\x08\3\13\0\0\0\4\3\0\0\0\0\n\0...",
|
|
Packit |
14c646 |
{
|
|
Packit |
14c646 |
byteorder => 12_345_678,
|
|
Packit |
14c646 |
file => "data_perl-5.008007_x86-solaris-thread-multi-64_Storable-2.15.le64",
|
|
Packit |
14c646 |
hdrsize => 19,
|
|
Packit |
14c646 |
intsize => 4,
|
|
Packit |
14c646 |
longsize => 8,
|
|
Packit |
14c646 |
major => 2,
|
|
Packit |
14c646 |
minor => 7,
|
|
Packit |
14c646 |
netorder => 0,
|
|
Packit |
14c646 |
nvsize => 8,
|
|
Packit |
14c646 |
ptrsize => 8,
|
|
Packit |
14c646 |
version => "2.7",
|
|
Packit |
14c646 |
version_nv => "2.007",
|
|
Packit |
14c646 |
},
|
|
Packit |
14c646 |
],
|
|
Packit |
14c646 |
[
|
|
Packit |
14c646 |
"pst0\5\x07\3\0\0\0\13\4\3\0\0\0\0\0\0\0\nempty_hash\n...",
|
|
Packit |
14c646 |
{
|
|
Packit |
14c646 |
file => "data_perl-5.008007_x86-solaris-thread-multi-64_Storable-2.15.neutral",
|
|
Packit |
14c646 |
hdrsize => 6,
|
|
Packit |
14c646 |
major => 2,
|
|
Packit |
14c646 |
minor => 7,
|
|
Packit |
14c646 |
netorder => 1,
|
|
Packit |
14c646 |
version => "2.7",
|
|
Packit |
14c646 |
version_nv => "2.007",
|
|
Packit |
14c646 |
},
|
|
Packit |
14c646 |
],
|
|
Packit |
14c646 |
[
|
|
Packit |
14c646 |
"pst0\4\5\x041234\4\4\4\x08\3\13\0\0\0\4\3\0\0\0\0\n\0\0\0em...",
|
|
Packit |
14c646 |
{
|
|
Packit |
14c646 |
byteorder => 1234,
|
|
Packit |
14c646 |
file => "data_perl-5.008_i686-linux-thread-multi_Storable-2.04.le32",
|
|
Packit |
14c646 |
hdrsize => 15,
|
|
Packit |
14c646 |
intsize => 4,
|
|
Packit |
14c646 |
longsize => 4,
|
|
Packit |
14c646 |
major => 2,
|
|
Packit |
14c646 |
minor => 5,
|
|
Packit |
14c646 |
netorder => 0,
|
|
Packit |
14c646 |
nvsize => 8,
|
|
Packit |
14c646 |
ptrsize => 4,
|
|
Packit |
14c646 |
version => "2.5",
|
|
Packit |
14c646 |
version_nv => "2.005",
|
|
Packit |
14c646 |
},
|
|
Packit |
14c646 |
],
|
|
Packit |
14c646 |
[
|
|
Packit |
14c646 |
"pst0\5\5\3\0\0\0\13\4\3\0\0\0\0\0\0\0\nempty_hash\n...",
|
|
Packit |
14c646 |
{
|
|
Packit |
14c646 |
file => "data_perl-5.008_i686-linux-thread-multi_Storable-2.04.neutral",
|
|
Packit |
14c646 |
hdrsize => 6,
|
|
Packit |
14c646 |
major => 2,
|
|
Packit |
14c646 |
minor => 5,
|
|
Packit |
14c646 |
netorder => 1,
|
|
Packit |
14c646 |
version => "2.5",
|
|
Packit |
14c646 |
version_nv => "2.005",
|
|
Packit |
14c646 |
},
|
|
Packit |
14c646 |
],
|
|
Packit |
14c646 |
[
|
|
Packit |
14c646 |
"pst0\4\x07\x041234\4\4\4\x08\3\13\0\0\0\4\3\0\0\0\0\n\0\0\0em...",
|
|
Packit |
14c646 |
{
|
|
Packit |
14c646 |
byteorder => 1234,
|
|
Packit |
14c646 |
file => "data_perl-5.009003_i686-linux_Storable-2.15.le32",
|
|
Packit |
14c646 |
hdrsize => 15,
|
|
Packit |
14c646 |
intsize => 4,
|
|
Packit |
14c646 |
longsize => 4,
|
|
Packit |
14c646 |
major => 2,
|
|
Packit |
14c646 |
minor => 7,
|
|
Packit |
14c646 |
netorder => 0,
|
|
Packit |
14c646 |
nvsize => 8,
|
|
Packit |
14c646 |
ptrsize => 4,
|
|
Packit |
14c646 |
version => "2.7",
|
|
Packit |
14c646 |
version_nv => "2.007",
|
|
Packit |
14c646 |
},
|
|
Packit |
14c646 |
],
|
|
Packit |
14c646 |
);
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
plan tests => 31 + 2 * @tests;
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
my $file = "xx-$$.pst";
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
is(eval { Storable::file_magic($file) }, undef, "empty file give undef");
|
|
Packit |
14c646 |
like($@, qq{/^Can't open '\Q$file\E':/}, "...and croaks");
|
|
Packit |
14c646 |
is(Storable::file_magic(__FILE__), undef, "not an image");
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
store({}, $file);
|
|
Packit |
14c646 |
{
|
|
Packit |
14c646 |
my $info = Storable::file_magic($file);
|
|
Packit |
14c646 |
unlink($file);
|
|
Packit |
14c646 |
ok($info, "got info");
|
|
Packit |
14c646 |
is($info->{file}, $file, "file set");
|
|
Packit |
14c646 |
is($info->{hdrsize}, 11 + length($Config{byteorder}), "hdrsize");
|
|
Packit |
14c646 |
like($info->{version}, q{/^2\.\d+$/}, "sane version");
|
|
Packit |
14c646 |
is($info->{version_nv}, Storable::BIN_WRITE_VERSION_NV, "version_nv match");
|
|
Packit |
14c646 |
is($info->{major}, 2, "sane major");
|
|
Packit |
14c646 |
ok($info->{minor}, "have minor");
|
|
Packit |
14c646 |
ok($info->{minor} >= Storable::BIN_WRITE_MINOR, "large enough minor");
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
ok(!$info->{netorder}, "no netorder");
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
my %attrs = (
|
|
Packit |
14c646 |
nvsize => 5.006,
|
|
Packit |
14c646 |
ptrsize => 5.005,
|
|
Packit |
14c646 |
map {$_ => 5.004} qw(byteorder intsize longsize)
|
|
Packit |
14c646 |
);
|
|
Packit |
14c646 |
for my $attr (keys %attrs) {
|
|
Packit |
14c646 |
SKIP: {
|
|
Packit |
14c646 |
skip "attribute $attr not available on this version of Perl", 1 if $attrs{$attr} > $];
|
|
Packit |
14c646 |
is($info->{$attr}, $Config{$attr}, "$attr match Config");
|
|
Packit |
14c646 |
}
|
|
Packit |
14c646 |
}
|
|
Packit |
14c646 |
}
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
nstore({}, $file);
|
|
Packit |
14c646 |
{
|
|
Packit |
14c646 |
my $info = Storable::file_magic($file);
|
|
Packit |
14c646 |
unlink($file);
|
|
Packit |
14c646 |
ok($info, "got info");
|
|
Packit |
14c646 |
is($info->{file}, $file, "file set");
|
|
Packit |
14c646 |
is($info->{hdrsize}, 6, "hdrsize");
|
|
Packit |
14c646 |
like($info->{version}, q{/^2\.\d+$/}, "sane version");
|
|
Packit |
14c646 |
is($info->{version_nv}, Storable::BIN_WRITE_VERSION_NV, "version_nv match");
|
|
Packit |
14c646 |
is($info->{major}, 2, "sane major");
|
|
Packit |
14c646 |
ok($info->{minor}, "have minor");
|
|
Packit |
14c646 |
ok($info->{minor} >= Storable::BIN_WRITE_MINOR, "large enough minor");
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
ok($info->{netorder}, "no netorder");
|
|
Packit |
14c646 |
for (qw(byteorder intsize longsize ptrsize nvsize)) {
|
|
Packit |
14c646 |
ok(!exists $info->{$_}, "no $_");
|
|
Packit |
14c646 |
}
|
|
Packit |
14c646 |
}
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
for my $test (@tests) {
|
|
Packit |
14c646 |
my($data, $expected) = @$test;
|
|
Packit |
14c646 |
open(FH, '>', $file) || die "Can't create $file: $!";
|
|
Packit |
14c646 |
binmode(FH);
|
|
Packit |
14c646 |
print FH $data;
|
|
Packit |
14c646 |
close(FH) || die "Can't write $file: $!";
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
my $name = $expected->{file};
|
|
Packit |
14c646 |
$expected->{file} = $file;
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
my $info = Storable::file_magic($file);
|
|
Packit |
14c646 |
unlink($file);
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
is_deeply($info, $expected, "file_magic $name");
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
$expected->{file} = 1;
|
|
Packit |
14c646 |
is_deeply(Storable::read_magic($data), $expected, "read magic $name");
|
|
Packit |
14c646 |
}
|