|
Packit |
14c646 |
#!perl -w
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
BEGIN {
|
|
Packit |
14c646 |
unshift @INC, 't';
|
|
Packit |
14c646 |
unshift @INC, 't/compat' if $] < 5.006002;
|
|
Packit |
14c646 |
require Config; import Config;
|
|
Packit |
14c646 |
if ($ENV{PERL_CORE} and $Config{'extensions'} !~ /\bStorable\b/) {
|
|
Packit |
14c646 |
print "1..0 # Skip: Storable was not built\n";
|
|
Packit |
14c646 |
exit 0;
|
|
Packit |
14c646 |
}
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
use Config;
|
|
Packit |
14c646 |
if ($Config{byteorder} ne "1234") {
|
|
Packit |
14c646 |
print "1..0 # Skip: Test only works for 32 bit little-ending machines\n";
|
|
Packit |
14c646 |
exit 0;
|
|
Packit |
14c646 |
}
|
|
Packit |
14c646 |
}
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
use strict;
|
|
Packit |
14c646 |
use Storable qw(retrieve);
|
|
Packit |
14c646 |
use Test::More;
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
my $file = "xx-$$.pst";
|
|
Packit |
14c646 |
my @dumps = (
|
|
Packit |
14c646 |
# some sample dumps of the hash { one => 1 }
|
|
Packit |
14c646 |
"perl-store\x041234\4\4\4\x94y\22\b\3\1\0\0\0vxz\22\b\1\1\0\0\x001Xk\3\0\0\0oneX", # 0.1
|
|
Packit |
14c646 |
"perl-store\0\x041234\4\4\4\x94y\22\b\3\1\0\0\0vxz\22\b\b\x81Xk\3\0\0\0oneX", # 0.4@7
|
|
Packit |
14c646 |
);
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
plan(tests => 3 * @dumps);
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
my $testno;
|
|
Packit |
14c646 |
for my $dump (@dumps) {
|
|
Packit |
14c646 |
$testno++;
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
open(FH, '>', $file) || die "Can't create $file: $!";
|
|
Packit |
14c646 |
binmode(FH);
|
|
Packit |
14c646 |
print FH $dump;
|
|
Packit |
14c646 |
close(FH) || die "Can't write $file: $!";
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
my $data = eval { retrieve($file) };
|
|
Packit |
14c646 |
is($@, '', "No errors for $file");
|
|
Packit |
14c646 |
is(ref $data, 'HASH', "Got HASH for $file");
|
|
Packit |
14c646 |
is($data->{one}, 1, "Got data for $file");
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
unlink($file);
|
|
Packit |
14c646 |
}
|