⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 strict.t

📁 介绍:MySQL是比较出名的数据库软件
💻 T
字号:
#!./perl -wuse strict ;BEGIN {    unless(grep /blib/, @INC) {        chdir 't' if -d 't';        @INC = '../lib' if -d '../lib';    }}use BerkeleyDB; use File::Path qw(rmtree);print "1..44\n";{    package LexFile ;    sub new    {        my $self = shift ;        unlink @_ ;        bless [ @_ ], $self ;    }    sub DESTROY    {        my $self = shift ;        unlink @{ $self } ;    }}sub ok{    my $no = shift ;    my $result = shift ;     print "not " unless $result ;    print "ok $no\n" ;}sub docat{    my $file = shift;    local $/ = undef;    open(CAT,$file) || die "Cannot open $file:$!";    my $result = <CAT>;    close(CAT);    return $result;}my $Dfile = "dbhash.tmp";my $home = "./fred" ;umask(0);{    # closing a database & an environment in the correct order.    my $lex = new LexFile $Dfile ;    my %hash ;    my $status ;    rmtree $home if -e $home ;    ok 1, mkdir($home, 0777) ;    ok 2, my $env = new BerkeleyDB::Env -Home => $home,                                     -Flags => DB_CREATE|DB_INIT_TXN|                                                DB_INIT_MPOOL|DB_INIT_LOCK ;					  	    ok 3, my $db1 = tie %hash, 'BerkeleyDB::Hash', -Filename => $Dfile,                                      	       	-Flags     => DB_CREATE ,					       	-Env 	   => $env;    ok 4, $db1->db_close() == 0 ;     eval { $status = $env->db_appexit() ; } ;    ok 5, $status == 0 ;    ok 6, $@ eq "" ;    #print "[$@]\n" ;    rmtree $home if -e $home ;}{    # closing an environment with an open database    my $lex = new LexFile $Dfile ;    my %hash ;    rmtree $home if -e $home ;    ok 7, mkdir($home, 0777) ;    ok 8, my $env = new BerkeleyDB::Env -Home => $home,                                     -Flags => DB_CREATE|DB_INIT_TXN|                                                DB_INIT_MPOOL|DB_INIT_LOCK ;					  	    ok 9, my $db1 = tie %hash, 'BerkeleyDB::Hash', -Filename => $Dfile,                                      	       	-Flags     => DB_CREATE ,					       	-Env 	   => $env;    eval { $env->db_appexit() ; } ;    ok 10, $@ =~ /BerkeleyDB Aborting: attempted to close an environment with 1 open database/ ;    #print "[$@]\n" ;    undef $db1 ;    untie %hash ;    undef $env ;    rmtree $home if -e $home ;}{    # closing a transaction & a database     my $lex = new LexFile $Dfile ;    my %hash ;    my $status ;    rmtree $home if -e $home ;    ok 11, mkdir($home, 0777) ;    ok 12, my $env = new BerkeleyDB::Env -Home => $home,                                     -Flags => DB_CREATE|DB_INIT_TXN|                                                DB_INIT_MPOOL|DB_INIT_LOCK ;    ok 13, my $txn = $env->txn_begin() ;    ok 14, my $db = tie %hash, 'BerkeleyDB::Hash', -Filename => $Dfile,                                                -Flags     => DB_CREATE ,					       	-Env 	   => $env,                                                -Txn       => $txn  ;    ok 15, $txn->txn_commit()  == 0 ;    eval { $status = $db->db_close() ; } ;    ok 16, $status == 0 ;    ok 17, $@ eq "" ;    eval { $status = $env->db_appexit() ; } ;    ok 18, $status == 0 ;    ok 19, $@ eq "" ;    #print "[$@]\n" ;}{    # closing a database with an open transaction    my $lex = new LexFile $Dfile ;    my %hash ;    rmtree $home if -e $home ;    ok 20, mkdir($home, 0777) ;    ok 21, my $env = new BerkeleyDB::Env -Home => $home,                                     -Flags => DB_CREATE|DB_INIT_TXN|                                                DB_INIT_MPOOL|DB_INIT_LOCK ;    ok 22, my $txn = $env->txn_begin() ;    ok 23, my $db = tie %hash, 'BerkeleyDB::Hash', -Filename => $Dfile,                                                -Flags     => DB_CREATE ,					       	-Env 	   => $env,                                                -Txn       => $txn  ;    eval { $db->db_close() ; } ;    ok 24, $@ =~ /BerkeleyDB Aborting: attempted to close a database while a transaction was still open at/ ;    #print "[$@]\n" ;}{    # closing a cursor & a database     my $lex = new LexFile $Dfile ;    my %hash ;    my $status ;    ok 25, my $db = tie %hash, 'BerkeleyDB::Hash', -Filename => $Dfile,                                                -Flags     => DB_CREATE ;    ok 26, my $cursor = $db->db_cursor() ;    ok 27, $cursor->c_close() == 0 ;    eval { $status = $db->db_close() ; } ;    ok 28, $status == 0 ;    ok 29, $@ eq "" ;    #print "[$@]\n" ;    rmtree $home if -e $home ;}{    # closing a database with an open cursor    my $lex = new LexFile $Dfile ;    my %hash ;    ok 30, my $db = tie %hash, 'BerkeleyDB::Hash', -Filename => $Dfile,                                                -Flags     => DB_CREATE ;    ok 31, my $cursor = $db->db_cursor() ;    eval { $db->db_close() ; } ;    ok 32, $@ =~ /\QBerkeleyDB Aborting: attempted to close a database with 1 open cursor(s) at/;    #print "[$@]\n" ;    rmtree $home if -e $home ;}{    # closing a transaction & a cursor     my $lex = new LexFile $Dfile ;    my %hash ;    my $status ;    rmtree $home if -e $home ;    ok 33, mkdir($home, 0777) ;    ok 34, my $env = new BerkeleyDB::Env -Home => $home,                                     -Flags => DB_CREATE|DB_INIT_TXN|                                                DB_INIT_MPOOL|DB_INIT_LOCK ;    ok 35, my $txn = $env->txn_begin() ;    ok 36, my $db = tie %hash, 'BerkeleyDB::Hash', -Filename => $Dfile,                                                -Flags     => DB_CREATE ,					       	-Env 	   => $env,                                                -Txn       => $txn  ;    ok 37, my $cursor = $db->db_cursor() ;    eval { $status = $cursor->c_close() ; } ;    ok 38, $status == 0 ;    ok 39, ($status = $txn->txn_commit())  == 0 ;    ok 40, $@ eq "" ;    eval { $status = $db->db_close() ; } ;    ok 41, $status == 0 ;    ok 42, $@ eq "" ;    eval { $status = $env->db_appexit() ; } ;    ok 43, $status == 0 ;    ok 44, $@ eq "" ;    #print "[$@]\n" ;    rmtree $home if -e $home ;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -