1# See the file LICENSE for redistribution information. 2# 3# Copyright (c) 1999-2009 Oracle. All rights reserved. 4# 5# $Id$ 6# 7# TEST env006 8# TEST Make sure that all the utilities exist and run. 9# TEST Test that db_load -r options don't blow up. 10proc env006 { } { 11 source ./include.tcl 12 13 puts "Env006: Run underlying utilities." 14 15 set rlist { 16 { "db_archive" "Env006.a"} 17 { "db_checkpoint" "Env006.b"} 18 { "db_deadlock" "Env006.c"} 19 { "db_dump" "Env006.d"} 20 { "db_load" "Env006.e"} 21 { "db_printlog" "Env006.f"} 22 { "db_recover" "Env006.g"} 23 { "db_stat" "Env006.h"} 24 { "db_upgrade" "Env006.h"} 25 { "db_verify" "Env006.h"} 26 } 27 foreach pair $rlist { 28 set cmd [lindex $pair 0] 29 set msg [lindex $pair 1] 30 31 puts "\t$msg: $cmd" 32 33 set stat [catch {exec $util_path/$cmd -?} ret] 34 error_check_good $cmd $stat 1 35 36 # 37 # Check for "usage", but only check "sage" so that 38 # we can handle either Usage or usage. 39 # 40 error_check_good $cmd.err [is_substr $ret sage] 1 41 } 42 43 env_cleanup $testdir 44 set env [eval berkdb_env -create -home $testdir -txn] 45 error_check_good env_open [is_valid_env $env] TRUE 46 47 set sub SUBDB 48 foreach case { noenv env } { 49 if { $case == "env" } { 50 set envargs " -env $env " 51 set homeargs " -h $testdir " 52 set testfile env006.db 53 } else { 54 set envargs "" 55 set homeargs "" 56 set testfile $testdir/env006.db 57 } 58 59 puts "\tEnv006.i: Testing db_load -r with $case." 60 set db [eval berkdb_open -create $envargs -btree $testfile] 61 error_check_good db_open [is_valid_db $db] TRUE 62 error_check_good db_close [$db close] 0 63 64 set ret [eval \ 65 exec $util_path/db_load -r lsn $homeargs $testfile] 66 error_check_good db_load_r_lsn $ret "" 67 set ret [eval \ 68 exec $util_path/db_load -r fileid $homeargs $testfile] 69 error_check_good db_load_r_fileid $ret "" 70 71 error_check_good db_remove \ 72 [eval {berkdb dbremove} $envargs $testfile] 0 73 74 puts "\tEnv006.j: Testing db_load -r with $case and subdbs." 75 set db [eval berkdb_open -create $envargs -btree $testfile $sub] 76 error_check_good db_open [is_valid_db $db] TRUE 77 error_check_good db_close [$db close] 0 78 79 set ret [eval \ 80 exec {$util_path/db_load} -r lsn $homeargs $testfile] 81 error_check_good db_load_r_lsn $ret "" 82 set ret [eval \ 83 exec {$util_path/db_load} -r fileid $homeargs $testfile] 84 error_check_good db_load_r_fileid $ret "" 85 86 error_check_good \ 87 db_remove [eval {berkdb dbremove} $envargs $testfile] 0 88 } 89 error_check_good env_close [$env close] 0 90} 91