• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/ap/gpl/timemachine/db-4.7.25.NC/perl/BerkeleyDB/t/
1#!./perl -w
2
3# Tests for Concurrent Data Store mode
4
5use strict ;
6use lib 't' ;
7
8use BerkeleyDB; 
9use util ;
10
11BEGIN
12{
13    if ($BerkeleyDB::db_version < 2) {
14        print "1..0 # Skip: this needs Berkeley DB 2.x.x or better\n" ;
15        exit 0 ;
16    }
17}
18
19
20
21print "1..12\n";
22
23my $Dfile = "dbhash.tmp";
24unlink $Dfile;
25
26umask(0) ;
27
28{
29    # Error case -- env not opened in CDS mode
30
31    my $lex = new LexFile $Dfile ;
32
33    my $home = "./fred" ;
34    ok 1, my $lexD = new LexDir($home) ;
35
36    ok 2, my $env = new BerkeleyDB::Env -Flags => DB_CREATE|DB_INIT_MPOOL,
37    					 -Home => $home, @StdErrFile ;
38
39    ok 3, my $db = new BerkeleyDB::Btree -Filename => $Dfile, 
40				    -Env      => $env,
41				    -Flags    => DB_CREATE ;
42
43    ok 4, ! $env->cds_enabled() ;
44    ok 5, ! $db->cds_enabled() ;
45
46    eval { $db->cds_lock() };
47    ok 6, $@ =~ /CDS not enabled for this database/;
48
49    undef $db;
50    undef $env ;
51}
52
53{
54    my $lex = new LexFile $Dfile ;
55
56    my $home = "./fred" ;
57    ok 7, my $lexD = new LexDir($home) ;
58
59    ok 8, my $env = new BerkeleyDB::Env -Flags => DB_INIT_CDB|DB_CREATE|DB_INIT_MPOOL,
60    					 -Home => $home, @StdErrFile ;
61
62    ok 9, my $db = new BerkeleyDB::Btree -Filename => $Dfile, 
63				    -Env      => $env,
64				    -Flags    => DB_CREATE ;
65
66    ok 10,   $env->cds_enabled() ;
67    ok 11,   $db->cds_enabled() ;
68
69    my $cds = $db->cds_lock() ;
70    ok 12, $cds ;
71
72    undef $db;
73    undef $env ;
74}
75