diff options
Diffstat (limited to 'db-4.8.30/test/plat001.tcl')
-rw-r--r-- | db-4.8.30/test/plat001.tcl | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/db-4.8.30/test/plat001.tcl b/db-4.8.30/test/plat001.tcl new file mode 100644 index 0000000..5a60c8c --- /dev/null +++ b/db-4.8.30/test/plat001.tcl @@ -0,0 +1,75 @@ +# See the file LICENSE for redistribution information. +# +# Copyright (c) 2005-2009 Oracle. All rights reserved. +# +# $Id$ +# +# TEST plat001 +# TEST +# TEST Test of portability of sequences. +# TEST +# TEST Create and dump a database containing sequences. Save the dump. +# TEST This test is used in conjunction with the upgrade tests, which +# TEST will compare the saved dump to a locally created dump. + +proc plat001 { method {tnum "001"} args } { + source ./include.tcl + global fixed_len + global util_path + + # Fixed_len must be increased from the default to + # accommodate fixed-record length methods. + set orig_fixed_len $fixed_len + set fixed_len 128 + set args [convert_args $method $args] + set omethod [convert_method $method] + + set eindex [lsearch -exact $args "-env"] + set txnenv 0 + if { $eindex == -1 } { + set testfile $testdir/plat$tnum.db + set testdump $testdir/plat$tnum.dmp + set env NULL + } else { + set testfile plat$tnum.db + set testdump plat$tnum.dmp + incr eindex + set env [lindex $args $eindex] + set txnenv [is_txnenv $env] + set rpcenv [is_rpcenv $env] + if { $txnenv == 1 } { + append args " -auto_commit " + } + set testdir [get_home $env] + } + + cleanup $testdir $env + + # Make the key numeric so we can test record-based methods. + set key 1 + + puts "\tPlat$tnum.a: Create $method db with a sequence." + set db [eval {berkdb_open -create -mode 0644} $args $omethod $testfile] + error_check_good dbopen [is_valid_db $db] TRUE + + set init 1 + set min $init + set max 1000000000 + set seq [eval {berkdb sequence} \ + -create -init $init -min $min -max $max $db $key] + error_check_good is_valid_seq [is_valid_seq $seq] TRUE + + error_check_good seq_close [$seq close] 0 + error_check_good db_close [$db close] 0 + + puts "\tPlat$tnum.b: Dump the db." + set stat [catch {eval {exec $util_path/db_dump} -f $testdump \ + $testfile} ret] + error_check_good sequence_dump $stat 0 + + puts "\tPlat$tnum.c: Delete the db." + error_check_good db_delete [fileremove $testfile] "" + + set fixed_len $orig_fixed_len + return +} |