sqlcipher/test/quick.test

146 lines
3.1 KiB
Plaintext

#
# 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.
#
# $Id: quick.test,v 1.84 2008/06/26 08:29:35 danielk1977 Exp $
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 {} {}
set ISQUICK 1
set EXCLUDE {
all.test
async.test
async2.test
async3.test
corrupt.test
crash.test
crash2.test
crash3.test
crash4.test
crash5.test
crash6.test
crash7.test
delete3.test
fts3.test
fuzz.test
fuzz_malloc.test
in2.test
loadext.test
memleak.test
misc7.test
misuse.test
mutex2.test
onefile.test
permutations.test
quick.test
select9.test
soak.test
speed1.test
speed1p.test
speed2.test
speed3.test
speed4.test
speed4p.test
sqllimits1.test
tkt2686.test
thread001.test
thread002.test
vacuum3.test
incrvacuum_ioerr.test
autovacuum_crash.test
btree8.test
shared_err.test
vtab_err.test
veryquick.test
mallocAll.test
}
if {[sqlite3 -has-codec]} {
# lappend EXCLUDE \
# conflict.test
lappend EXCLUDE corrupt2.test
lappend EXCLUDE corrupt3.test
lappend EXCLUDE corrupt4.test
lappend EXCLUDE corrupt5.test
lappend EXCLUDE corrupt6.test
lappend EXCLUDE corrupt7.test
lappend EXCLUDE corrupt8.test
lappend EXCLUDE corrupt9.test
lappend EXCLUDE corruptA.test
lappend EXCLUDE filefmt.test
lappend EXCLUDE lock4.test
lappend EXCLUDE memsubsys1.test
lappend EXCLUDE pagesize.test
lappend EXCLUDE shared.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 {
}
foreach testfile [lsort -dictionary [glob $testdir/*.test]] {
# If this is "veryquick.test", do not run any of the malloc or
# IO error simulations.
if {[info exists ISVERYQUICK] && (
[string match *malloc* $testfile] || [string match *ioerr* $testfile]
) } {
continue
}
set tail [file tail $testfile]
if {[lsearch -exact $EXCLUDE $tail]>=0} continue
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 argv quick
#source $testdir/permutations.test
#set argv ""
source $testdir/misuse.test
set sqlite_open_file_count 0
really_finish_test