1# See the file LICENSE for redistribution information.
2#
3# Copyright (c) 2000,2008 Oracle.  All rights reserved.
4#
5# $Id: test084.tcl,v 12.6 2008/01/08 20:58:53 bostic Exp $
6#
7# TEST	test084
8# TEST	Basic sanity test (test001) with large (64K) pages.
9proc test084 { method {nentries 10000} {tnum "084"} {pagesize 65536} args} {
10	source ./include.tcl
11
12	set txnenv 0
13	set eindex [lsearch -exact $args "-env"]
14	#
15	# If we are using an env, then testfile should just be the db name.
16	# Otherwise it is the test directory and the name.
17	if { $eindex == -1 } {
18		set testfile $testdir/test$tnum-empty.db
19		set env NULL
20	} else {
21		set testfile test$tnum-empty.db
22		incr eindex
23		set env [lindex $args $eindex]
24		set txnenv [is_txnenv $env]
25		if { $txnenv == 1 } {
26			append args " -auto_commit "
27		}
28		set testdir [get_home $env]
29	}
30
31	set pgindex [lsearch -exact $args "-pagesize"]
32	if { $pgindex != -1 } {
33		puts "Test084: skipping for specific pagesizes"
34		return
35	}
36
37	cleanup $testdir $env
38
39	set args "-pagesize $pagesize $args"
40
41	eval {test001 $method $nentries 0 0 $tnum} $args
42
43	set omethod [convert_method $method]
44	set args [convert_args $method $args]
45
46	# For good measure, create a second database that's empty
47	# with the large page size.  (There was a verifier bug that
48	# choked on empty 64K pages. [#2408])
49	set db [eval {berkdb_open -create -mode 0644} $args $omethod $testfile]
50	error_check_good empty_db [is_valid_db $db] TRUE
51	error_check_good empty_db_close [$db close] 0
52}
53