mirror of
https://github.com/berkeleydb/libdb.git
synced 2024-11-16 09:06:25 +00:00
583 lines
9.3 KiB
Text
583 lines
9.3 KiB
Text
#
|
|
# May you do good and not evil.
|
|
# May you find forgiveness for yourself and forgive others.
|
|
# May you share freely, never taking more than you give.
|
|
#
|
|
#***********************************************************************
|
|
# This file runs all tests relevant to Berkeley DB.
|
|
# It is based on test/quick.test
|
|
#
|
|
# $Id$
|
|
|
|
proc lshift {lvar} {
|
|
upvar $lvar l
|
|
set ret [lindex $l 0]
|
|
set l [lrange $l 1 end]
|
|
return $ret
|
|
}
|
|
while {[set arg [lshift argv]] != ""} {
|
|
switch -- $arg {
|
|
-sharedpagercache {
|
|
sqlite3_enable_shared_cache 1
|
|
}
|
|
-soak {
|
|
set SOAKTEST 1
|
|
}
|
|
-start {
|
|
set STARTAT "[lshift argv]*"
|
|
}
|
|
default {
|
|
set argv [linsert $argv 0 $arg]
|
|
break
|
|
}
|
|
}
|
|
}
|
|
|
|
set testdir [file dirname $argv0]
|
|
source $testdir/tester.tcl
|
|
rename finish_test really_finish_test
|
|
proc finish_test {} {
|
|
catch {db close}
|
|
show_memstats
|
|
}
|
|
|
|
# Could be relevant but not sure.
|
|
set MAYBE {
|
|
analyze.test
|
|
autovacuum_ioerr2.test
|
|
autovacuum.test
|
|
avtrans.test
|
|
bind.test
|
|
bindxfer.test
|
|
conflict.test
|
|
corrupt2.test
|
|
corrupt3.test
|
|
corrupt4.test
|
|
corrupt5.test
|
|
corrupt6.test
|
|
corrupt7.test
|
|
corrupt8.test
|
|
corrupt9.test
|
|
corruptA.test
|
|
corruptB.test
|
|
corruptC.test
|
|
corruptD.test
|
|
corrupt.test
|
|
diskfull.test
|
|
eval.test
|
|
exclusive2.test
|
|
exclusive.test
|
|
filectrl.test
|
|
fuzz2.test
|
|
fuzz3.test
|
|
fuzz_common.tcl
|
|
fuzz_malloc.test
|
|
fuzz.test
|
|
incrvacuum2.test
|
|
incrvacuum_ioerr.test
|
|
incrvacuum.test
|
|
journal1.test, # PRAGMA journal mode. I guess it should be off in DB?
|
|
jrnlmode2.test
|
|
jrnlmode3.test
|
|
jrnlmode.test
|
|
misc1.test
|
|
misc2.test
|
|
misc3.test
|
|
misc4.test
|
|
misc5.test
|
|
misc6.test
|
|
misc7.test
|
|
permutations.test
|
|
pragma2.test, # Probably want part of the pragma tests.
|
|
pragma.test
|
|
savepoint2.test
|
|
savepoint3.test
|
|
savepoint4.test
|
|
savepoint5.test
|
|
savepoint6.test
|
|
savepoint.test
|
|
varint.test
|
|
}
|
|
# Should pass, but test functionality that is outside that changed by
|
|
# Berkeley DB.
|
|
set IRRELEVANT {
|
|
attach.test
|
|
attach2.test
|
|
attach3.test
|
|
attachmalloc.test
|
|
auth.test
|
|
auth2.test
|
|
auth3.test
|
|
capi2.test
|
|
capi3b.test
|
|
capi3c.test
|
|
capi3d.test
|
|
capi3.test
|
|
crash2.test, # These crash tests use simulated IO failure in orig btree.
|
|
crash3.test
|
|
crash4.test
|
|
crash5.test
|
|
crash6.test
|
|
crash7.test
|
|
crash8.test
|
|
crash.test
|
|
crashtest1.c
|
|
enc2.test
|
|
enc3.test
|
|
enc.test
|
|
exec.test
|
|
fts1a.test, # fts == full text search
|
|
fts1b.test
|
|
fts1c.test
|
|
fts1d.test
|
|
fts1e.test
|
|
fts1f.test
|
|
fts1i.test
|
|
fts1j.test
|
|
fts1k.test
|
|
fts1l.test
|
|
fts1m.test
|
|
fts1n.test
|
|
fts1o.test
|
|
fts1porter.test
|
|
fts2a.test
|
|
fts2b.test
|
|
fts2c.test
|
|
fts2d.test
|
|
fts2e.test
|
|
fts2f.test
|
|
fts2g.test
|
|
fts2h.test
|
|
fts2i.test
|
|
fts2j.test
|
|
fts2k.test
|
|
fts2l.test
|
|
fts2m.test
|
|
fts2n.test
|
|
fts2o.test
|
|
fts2p.test
|
|
fts2q.test
|
|
fts2r.test
|
|
fts2.test
|
|
fts2token.test
|
|
fts3aa.test
|
|
fts3ab.test
|
|
fts3ac.test
|
|
fts3ad.test
|
|
fts3ae.test
|
|
fts3af.test
|
|
fts3ag.test
|
|
fts3ah.test
|
|
fts3ai.test
|
|
fts3aj.test
|
|
fts3ak.test
|
|
fts3al.test
|
|
fts3am.test
|
|
fts3an.test
|
|
fts3ao.test
|
|
fts3atoken.test
|
|
fts3b.test
|
|
fts3c.test
|
|
fts3d.test
|
|
fts3e.test
|
|
fts3expr2.test
|
|
fts3expr.test
|
|
fts3near.test
|
|
fts3.test
|
|
hook.test
|
|
icu.test, # international character sets.
|
|
io.test
|
|
ioerr2.test
|
|
ioerr3.test
|
|
ioerr4.test
|
|
ioerr5.test
|
|
ioerr.test
|
|
join2.test
|
|
join3.test
|
|
join4.test
|
|
join5.test
|
|
join.test
|
|
keyword1.test
|
|
laststmtchanges.test
|
|
loadext2.test
|
|
loadext.test
|
|
lock2.test
|
|
lock3.test
|
|
lock4.test
|
|
lock5.test
|
|
lock6.test
|
|
lock.test
|
|
main.test
|
|
malloc3.test
|
|
malloc4.test
|
|
malloc5.test
|
|
malloc6.test
|
|
malloc7.test
|
|
malloc8.test
|
|
malloc9.test
|
|
mallocAll.test
|
|
mallocA.test
|
|
mallocB.test
|
|
malloc_common.tcl
|
|
mallocC.test
|
|
mallocD.test
|
|
mallocE.test
|
|
mallocF.test
|
|
mallocG.test
|
|
mallocH.test
|
|
mallocI.test
|
|
mallocJ.test
|
|
mallocK.test
|
|
malloc.test
|
|
misuse.test
|
|
mutex1.test
|
|
mutex2.test
|
|
notify1.test
|
|
notify2.test
|
|
openv2.test
|
|
pageropt.test
|
|
pcache2.test
|
|
pcache.test
|
|
printf.test
|
|
progress.test
|
|
quote.test
|
|
randexpr1.tcl
|
|
randexpr1.test
|
|
safety.test
|
|
shortread1.test
|
|
sidedelete.test
|
|
softheap1.test
|
|
speed1p.explain
|
|
speed1p.test
|
|
speed1.test
|
|
speed2.test
|
|
speed3.test
|
|
speed4p.explain
|
|
speed4p.test
|
|
speed4.test
|
|
tableapi.test
|
|
tclsqlite.test
|
|
tkt1435.test
|
|
tkt1443.test
|
|
tkt1444.test
|
|
tkt1449.test
|
|
tkt1473.test
|
|
tkt1501.test
|
|
tkt1512.test
|
|
tkt1514.test
|
|
tkt1536.test
|
|
tkt1537.test
|
|
tkt1567.test
|
|
tkt1644.test
|
|
tkt1667.test
|
|
tkt1873.test
|
|
tkt2141.test
|
|
tkt2192.test
|
|
tkt2213.test
|
|
tkt2251.test
|
|
tkt2285.test
|
|
tkt2332.test
|
|
tkt2339.test
|
|
tkt2391.test
|
|
tkt2409.test
|
|
tkt2450.test
|
|
tkt2565.test
|
|
tkt2640.test
|
|
tkt2643.test
|
|
tkt2686.test
|
|
tkt2767.test
|
|
tkt2817.test
|
|
tkt2820.test
|
|
tkt2822.test
|
|
tkt2832.test
|
|
tkt2854.test
|
|
tkt2920.test
|
|
tkt2927.test
|
|
tkt2942.test
|
|
tkt3080.test
|
|
tkt3093.test
|
|
tkt3121.test
|
|
tkt3201.test
|
|
tkt3292.test
|
|
tkt3298.test
|
|
tkt3334.test
|
|
tkt3346.test
|
|
tkt3357.test
|
|
tkt3419.test
|
|
tkt3424.test
|
|
tkt3442.test
|
|
tkt3457.test
|
|
tkt3461.test
|
|
tkt3472.test
|
|
tkt3493.test
|
|
tkt3508.test
|
|
tkt3522.test
|
|
tkt3527.test
|
|
tkt3541.test
|
|
tkt3554.test
|
|
tkt3581.test
|
|
tkt35xx.test
|
|
tkt3630.test
|
|
tkt3718.test
|
|
tkt3731.test
|
|
tkt3757.test
|
|
tkt3761.test
|
|
tkt3762.test
|
|
tkt3773.test
|
|
tkt3791.test
|
|
tkt3793.test
|
|
tkt3810.test
|
|
tkt3824.test
|
|
tkt3832.test
|
|
tkt3838.test
|
|
tkt3841.test
|
|
tkt3871.test
|
|
tkt3879.test
|
|
tkt3911.test
|
|
tkt3918.test
|
|
tkt3922.test
|
|
tkt3929.test
|
|
tkt3935.test
|
|
tkt3992.test
|
|
tkt3997.test
|
|
tokenize.test
|
|
trace.test
|
|
vacuum2.test
|
|
vacuum3.test
|
|
vacuum.test
|
|
}
|
|
set EXCLUDE {
|
|
all.test
|
|
backup2.test
|
|
backup_ioerr.test
|
|
backup_malloc.test
|
|
backup.test
|
|
filefmt.test
|
|
quick.test
|
|
soak.test
|
|
veryquick.test
|
|
}
|
|
|
|
if {[sqlite3 -has-codec]} {
|
|
# lappend EXCLUDE \
|
|
# conflict.test
|
|
}
|
|
|
|
|
|
# Files to include in the test. If this list is empty then everything
|
|
# that is not in the EXCLUDE list is run.
|
|
#
|
|
set INCLUDE {
|
|
aggerror.test
|
|
alter.test
|
|
alter3.test
|
|
alter4.test
|
|
altermalloc.test
|
|
async.test
|
|
async2.test
|
|
async3.test
|
|
async4.test
|
|
async5.test
|
|
autoinc.test
|
|
badutf.test
|
|
backup.test
|
|
backup2.test
|
|
backup_malloc.test
|
|
bdb_deadlock.test
|
|
bdb_exclusive.test
|
|
bdb_inmem_memleak.test
|
|
bdb_logsize.test
|
|
bdb_multi_proc.test
|
|
bdb_mvcc.test
|
|
bdb_persistent_pragma.test
|
|
bdb_replication.test
|
|
bdb_sequence.test
|
|
between.test
|
|
bigrow.test
|
|
bitvec.test
|
|
blob.test
|
|
boundary1.tcl
|
|
boundary1.test
|
|
boundary2.tcl
|
|
boundary2.test
|
|
boundary3.tcl
|
|
boundary3.test
|
|
boundary4.tcl
|
|
boundary4.test
|
|
cast.test
|
|
check.test
|
|
collate1.test
|
|
collate2.test
|
|
collate3.test
|
|
collate4.test
|
|
collate5.test
|
|
collate6.test
|
|
collate7.test
|
|
collate8.test
|
|
collate9.test
|
|
collateA.test
|
|
colmeta.test
|
|
colname.test
|
|
count.test
|
|
createtab.test
|
|
cse.test
|
|
date.test
|
|
default.test
|
|
delete2.test
|
|
delete3.test
|
|
delete.test
|
|
descidx1.test
|
|
descidx2.test
|
|
descidx3.test
|
|
distinctagg.test
|
|
expr.test
|
|
fkey1.test
|
|
func.test
|
|
in.test
|
|
in2.test
|
|
in3.test
|
|
in4.test
|
|
incrblob2.test
|
|
incrblob_err.test
|
|
incrblob.test
|
|
index2.test
|
|
index3.test
|
|
indexedby.test
|
|
index.test
|
|
insert2.test
|
|
insert3.test
|
|
insert4.test
|
|
insert5.test
|
|
insert.test
|
|
interrupt.test
|
|
intpkey.test
|
|
lastinsert.test
|
|
like2.test
|
|
like.test
|
|
limit.test
|
|
lookaside.test
|
|
manydb.test
|
|
memdb.test
|
|
minmax2.test
|
|
minmax3.test
|
|
minmax.test
|
|
nan.test
|
|
notnull.test
|
|
null.test
|
|
pagesize.test
|
|
ptrchng.test
|
|
rdonly.test
|
|
reindex.test
|
|
rollback.test
|
|
rowhash.test
|
|
rowid.test
|
|
rtree.test
|
|
schema2.test
|
|
schema.test
|
|
select1.test
|
|
select2.test
|
|
select3.test
|
|
select4.test
|
|
select5.test
|
|
select6.test
|
|
select7.test
|
|
select8.test
|
|
select9.test
|
|
selectA.test
|
|
selectB.test
|
|
selectC.test
|
|
server1.test
|
|
shared2.test
|
|
shared3.test
|
|
shared4.test
|
|
shared6.test
|
|
shared7.test
|
|
sort.test
|
|
sqllimits1.test
|
|
subquery.test
|
|
subselect.test
|
|
substr.test
|
|
table.test
|
|
tempdb.test
|
|
temptable.test
|
|
temptrigger.test
|
|
thread001.test
|
|
thread002.test
|
|
thread003.test
|
|
thread004.test
|
|
thread005.test
|
|
thread1.test
|
|
thread2.test
|
|
thread_common.tcl
|
|
threadtest1.c
|
|
threadtest2.c
|
|
trans2.test
|
|
trans3.test
|
|
trans.test
|
|
trigger1.test
|
|
trigger2.test
|
|
trigger3.test
|
|
trigger4.test
|
|
trigger5.test
|
|
trigger6.test
|
|
trigger7.test
|
|
trigger8.test
|
|
trigger9.test
|
|
triggerA.test
|
|
triggerB.test
|
|
types2.test
|
|
types3.test
|
|
types.test
|
|
unique.test
|
|
update.test
|
|
utf16align.test
|
|
view.test
|
|
vtab1.test
|
|
vtab2.test
|
|
vtab3.test
|
|
vtab4.test
|
|
vtab5.test
|
|
vtab6.test
|
|
vtab7.test
|
|
vtab8.test
|
|
vtab9.test
|
|
vtab_alter.test
|
|
vtabA.test
|
|
vtabB.test
|
|
vtabC.test
|
|
vtabD.test
|
|
vtab_err.test
|
|
vtab_shared.test
|
|
make-where7.tcl
|
|
where2.test
|
|
where3.test
|
|
where4.test
|
|
where5.test
|
|
where6.test
|
|
where7.test
|
|
where8m.test
|
|
where8.test
|
|
where9.test
|
|
whereA.test
|
|
wherelimit.test
|
|
where.test
|
|
zeroblob.test
|
|
}
|
|
|
|
foreach testfile [lsort -dictionary [glob $testdir/*.test]] {
|
|
set tail [file tail $testfile]
|
|
if {[llength $INCLUDE]>0 && [lsearch -exact $INCLUDE $tail]<0} continue
|
|
if {[info exists STARTAT] && [string match $STARTAT $tail]} {unset STARTAT}
|
|
if {[info exists STARTAT]} continue
|
|
source $testfile
|
|
catch {db close}
|
|
if {$sqlite_open_file_count>0} {
|
|
puts "$tail did not close all files: $sqlite_open_file_count"
|
|
incr nErr
|
|
lappend ::failList $tail
|
|
set sqlite_open_file_count 0
|
|
}
|
|
}
|
|
|
|
set sqlite_open_file_count 0
|
|
really_finish_test
|