libdb/lang/perl/BerkeleyDB/t/db-4.4.t
2011-09-13 13:44:24 -04:00

57 lines
1 KiB
Perl

#!./perl -w
use strict ;
use lib 't' ;
use BerkeleyDB;
use Test::More ;
use util ;
plan(skip_all => "this needs Berkeley DB 4.4.x or better\n" )
if $BerkeleyDB::db_version < 4.4;
plan tests => 5;
{
title "Testing compact";
# db->db_compact
my $Dfile;
my $lex = new LexFile $Dfile ;
my ($k, $v) ;
ok my $db = new BerkeleyDB::Btree -Filename => $Dfile,
-Flags => DB_CREATE ;
# create some data
my %data = (
"red" => 2,
"green" => "house",
"blue" => "sea",
) ;
my $ret = 0 ;
while (($k, $v) = each %data) {
$ret += $db->db_put($k, $v) ;
}
ok $ret == 0, " Created some data" ;
my $key;
my $end;
my %hash;
$hash{compact_filepercent} = 20;
ok $db->compact("red", "green", \%hash, 0, $end) == 0, " Compacted ok";
if (0)
{
diag "end at $end";
for my $key (sort keys %hash)
{
diag "[$key][$hash{$key}]\n";
}
}
ok $db->compact() == 0, " Compacted ok";
}