1#!./perl 2# 3# Copyright (c) 1995-2000, Raphael Manfredi 4# 5# You may redistribute only under the same terms as Perl 5, as specified 6# in the README file that comes with the distribution. 7# 8 9sub BEGIN { 10 if ($ENV{PERL_CORE}){ 11 chdir('t') if -d 't'; 12 @INC = ('.', '../lib', '../ext/Storable/t'); 13 } else { 14 unshift @INC, 't'; 15 } 16 require Config; import Config; 17 if ($ENV{PERL_CORE} and $Config{'extensions'} !~ /\bStorable\b/) { 18 print "1..0 # Skip: Storable was not built\n"; 19 exit 0; 20 } 21 22 require 'st-dump.pl'; 23} 24 25sub ok; 26 27use Storable qw(lock_store lock_retrieve); 28 29unless (&Storable::CAN_FLOCK) { 30 print "1..0 # Skip: fcntl/flock emulation broken on this platform\n"; 31 exit 0; 32} 33 34print "1..5\n"; 35 36@a = ('first', undef, 3, -4, -3.14159, 456, 4.5); 37 38# 39# We're just ensuring things work, we're not validating locking. 40# 41 42ok 1, defined lock_store(\@a, 'store'); 43ok 2, $dumped = &dump(\@a); 44 45$root = lock_retrieve('store'); 46ok 3, ref $root eq 'ARRAY'; 47ok 4, @a == @$root; 48ok 5, &dump($root) eq $dumped; 49 50unlink 't/store'; 51 52