1# See the file LICENSE for redistribution information. 2# 3# Copyright (c) 1999,2008 Oracle. All rights reserved. 4# 5# $Id: env009.tcl,v 12.7 2008/01/08 20:58:53 bostic Exp $ 6# 7# TEST env009 8# TEST Test calls to all the various stat functions. We have several 9# TEST sprinkled throughout the test suite, but this will ensure that 10# TEST we run all of them at least once. 11proc env009 { } { 12 source ./include.tcl 13 14 puts "Env009: Various stat functions test." 15 16 env_cleanup $testdir 17 puts "\tEnv009.a: Setting up env and a database." 18 19 set e [berkdb_env -create -home $testdir -txn] 20 error_check_good dbenv [is_valid_env $e] TRUE 21 set dbbt [berkdb_open -create -btree $testdir/env009bt.db] 22 error_check_good dbopen [is_valid_db $dbbt] TRUE 23 set dbh [berkdb_open -create -hash $testdir/env009h.db] 24 error_check_good dbopen [is_valid_db $dbh] TRUE 25 set dbq [berkdb_open -create -queue $testdir/env009q.db] 26 error_check_good dbopen [is_valid_db $dbq] TRUE 27 28 puts "\tEnv009.b: Setting up replication master and client envs." 29 replsetup $testdir/MSGQUEUEDIR 30 set masterdir $testdir/MASTERDIR 31 set clientdir $testdir/CLIENTDIR 32 file mkdir $masterdir 33 file mkdir $clientdir 34 35 repladd 1 36 set repenv(M) [berkdb_env -create -home $masterdir \ 37 -txn -rep_master -rep_transport [list 1 replsend]] 38 repladd 2 39 set repenv(C) [berkdb_env -create -home $clientdir \ 40 -txn -rep_client -rep_transport [list 2 replsend]] 41 42 set rlist { 43 { "lock_stat" "Maximum locks" "Env009.c" $e } 44 { "log_stat" "Magic" "Env009.d" "$e" } 45 { "mpool_stat" "Number of caches" "Env009.e" "$e"} 46 { "txn_stat" "Maximum txns" "Env009.f" "$e" } 47 { "rep_stat" "{Environment ID} 1" "Env009.g (Master)" "$repenv(M)"} 48 { "rep_stat" "{Environment ID} 2" "Env009.h (Client)" "$repenv(C)"} 49 } 50 51 foreach set $rlist { 52 set cmd [lindex $set 0] 53 set str [lindex $set 1] 54 set msg [lindex $set 2] 55 set env [lindex $set 3] 56 puts "\t$msg: $cmd" 57 set ret [eval $env $cmd] 58 error_check_good $cmd [is_substr $ret $str] 1 59 } 60 61 puts "\tEnv009.i: btree stats" 62 set ret [$dbbt stat] 63 error_check_good $cmd [is_substr $ret "Leaf pages"] 1 64 65 puts "\tEnv009.j: hash stats" 66 set ret [$dbh stat] 67 error_check_good $cmd [is_substr $ret "Buckets"] 1 68 69 puts "\tEnv009.k: queue stats" 70 set ret [$dbq stat] 71 error_check_good $cmd [is_substr $ret "Extent size"] 1 72 73 # Clean up. 74 error_check_good dbclose [$dbbt close] 0 75 error_check_good dbclose [$dbh close] 0 76 error_check_good dbclose [$dbq close] 0 77 error_check_good masterenvclose [$repenv(M) close] 0 78 error_check_good clientenvclose [$repenv(C) close] 0 79 replclose $testdir/MSGQUEUEDIR 80 error_check_good envclose [$e close] 0 81} 82