1# See the file LICENSE for redistribution information. 2# 3# Copyright (c) 2005,2008 Oracle. All rights reserved. 4# 5# $Id: log008.tcl,v 12.8 2008/01/08 20:58:53 bostic Exp $ 6# 7# TEST log008 8# TEST Test what happens if a txn_ckp record falls into a 9# TEST different log file than the DBREG_CKP records generated 10# TEST by the same checkpoint. 11 12proc log008 { { nhandles 100 } args } { 13 source ./include.tcl 14 set tnum "008" 15 16 puts "Log$tnum: Checkpoint test with records spanning log files." 17 env_cleanup $testdir 18 19 # Set up env command for use later. 20 set envcmd "berkdb_env -create -txn -home $testdir" 21 22 # Start up a child process which will open a bunch of handles 23 # on a database and write to it, running until it creates a 24 # checkpoint with records spanning two log files. 25 puts "\tLog$tnum.a: Spawning child tclsh." 26 set pid [exec $tclsh_path $test_path/wrap.tcl \ 27 log008script.tcl $testdir/log008script.log $nhandles &] 28 29 watch_procs $pid 3 30 31 puts "\tLog$tnum.b: Child is done." 32 33 # Join the env with recovery. This ought to work. 34 puts "\tLog$tnum.c: Join abandoned child env with recovery." 35 set env [eval $envcmd -recover] 36 37 # Clean up. 38 error_check_good env_close [$env close] 0 39 40 # Check log file for failures. 41 set errstrings [eval findfail $testdir/log008script.log] 42 foreach str $errstrings { 43 puts "FAIL: error message in log008 log file: $str" 44 } 45} 46 47