xref: /onnv-gate/usr/src/cmd/perl/5.8.4/distrib/ext/Storable/t/lock.t (revision 0:68f95e015346)
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