1#!./perl -w 2 3use strict ; 4 5use lib 't' ; 6use BerkeleyDB; 7use Test::More ; 8use util ; 9 10plan(skip_all => "this needs Berkeley DB 4.3.x or better\n" ) 11 if $BerkeleyDB::db_version < 4.3; 12 13plan tests => 16; 14 15 16if (1) 17{ 18 # -MsgFile with a filename 19 my $msgfile = "./msgfile" ; 20 my $home = "./fred" ; 21 ok my $lexD = new LexDir($home) ; 22 my $lex = new LexFile $msgfile ; 23 ok my $env = new BerkeleyDB::Env( -MsgFile => $msgfile, 24 -Flags => DB_CREATE, 25 -Home => $home) ; 26 $env->stat_print(); 27 ok length readFile($msgfile) > 0; 28 29 undef $env ; 30} 31 32 33{ 34 # -MsgFile with a filehandle 35 use IO::File ; 36 my $msgfile = "./msgfile" ; 37 my $home = "./fred" ; 38 ok my $lexD = new LexDir($home) ; 39 my $lex = new LexFile $msgfile ; 40 my $fh = new IO::File ">$msgfile" ; 41 ok my $env = new BerkeleyDB::Env( -MsgFile => $fh, 42 -Flags => DB_CREATE, 43 -Home => $home) ; 44 is $env->stat_print(), 0; 45 close $fh; 46 ok length readFile($msgfile) > 0; 47 48 undef $env ; 49} 50 51{ 52 # -MsgFile with a filehandle 53 use IO::File ; 54 my $msgfile = "./msgfile" ; 55 my $home = "./fred" ; 56 ok my $lexD = new LexDir($home) ; 57 my $lex = new LexFile $msgfile ; 58 my $Dfile = "db.db"; 59 my $lex1 = new LexFile $Dfile ; 60 my $fh = new IO::File ">$msgfile" ; 61 ok my $env = new BerkeleyDB::Env( -MsgFile => $fh, 62 -Flags => DB_CREATE|DB_INIT_MPOOL, 63 -Home => $home) ; 64 ok my $db = new BerkeleyDB::Btree -Filename => $Dfile, 65 -Env => $env, 66 -Flags => DB_CREATE ; 67 is $db->stat_print(), 0; 68 close $fh; 69 ok length readFile($msgfile) > 0; 70 71 undef $db; 72 undef $env ; 73} 74 75{ 76 # txn_stat_print 77 use IO::File ; 78 my $msgfile = "./msgfile" ; 79 my $home = "./fred" ; 80 ok my $lexD = new LexDir($home) ; 81 my $lex = new LexFile $msgfile ; 82 my $fh = new IO::File ">$msgfile" ; 83 ok my $env = new BerkeleyDB::Env( -MsgFile => $fh, 84 -Flags => DB_CREATE|DB_INIT_TXN, 85 -Home => $home) ; 86 is $env->txn_stat_print(), 0 87 or diag "$BerkeleyDB::Error"; 88 close $fh; 89 ok length readFile($msgfile) > 0; 90 91 undef $env ; 92} 93