abf568355a9216cfcd44969009c9b60711056281
[dbsrgits/DBM-Deep.git] / t / 29_freespace_manager.t
1 use strict;
2
3 use Test::More tests => 3;
4 use File::Temp qw( tempfile );
5 use Fcntl qw( :flock );
6
7 use_ok( 'DBM::Deep' );
8
9 my ($fh, $filename) = tempfile( 'tmpXXXX', UNLINK => 1 );
10 flock $fh, LOCK_UN;
11 my $db = DBM::Deep->new({
12     file => $filename,
13     autoflush => 1,
14 });
15
16 $db->{foo} = 'abcd';
17
18 my $s1 = -s $filename;
19
20 delete $db->{foo};
21
22 my $s2 = -s $filename;
23
24 is( $s2, $s1, "delete doesn't recover freespace" );
25
26 $db->{bar} = 'a';
27
28 my $s3 = -s $filename;
29
30 TODO: {
31     local $TODO = "Freespace manager doesn't work yet";
32     is( $s3, $s1, "Freespace is reused" );
33 }