430e74cd9b
FossilOrigin-Name: 7c33eb5a5add8fe76dd412ecab5b6ff8cd78a98d
157 lines
3.3 KiB
Plaintext
157 lines
3.3 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.
|
|
#
|
|
|
|
set testdir [file dirname $argv0]
|
|
source $testdir/tester.tcl
|
|
db close
|
|
|
|
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 G(issoak) 1
|
|
}
|
|
-start {
|
|
set STARTAT "[lshift argv]*"
|
|
}
|
|
default {
|
|
set argv [linsert $argv 0 $arg]
|
|
break
|
|
}
|
|
}
|
|
}
|
|
|
|
set G(isquick) 1
|
|
|
|
set EXCLUDE {
|
|
all.test
|
|
async.test
|
|
async2.test
|
|
async3.test
|
|
backup_ioerr.test
|
|
corrupt.test
|
|
corruptC.test
|
|
crash.test
|
|
crash2.test
|
|
crash3.test
|
|
crash4.test
|
|
crash5.test
|
|
crash6.test
|
|
crash7.test
|
|
delete3.test
|
|
e_fts3.test
|
|
fts3.test
|
|
fts3rnd.test
|
|
fkey_malloc.test
|
|
fuzz.test
|
|
fuzz3.test
|
|
fuzz_malloc.test
|
|
in2.test
|
|
loadext.test
|
|
memleak.test
|
|
misc7.test
|
|
misuse.test
|
|
mutex2.test
|
|
notify2.test
|
|
onefile.test
|
|
permutations.test
|
|
quick.test
|
|
savepoint4.test
|
|
savepoint6.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
|
|
thread003.test
|
|
thread004.test
|
|
thread005.test
|
|
trans2.test
|
|
vacuum3.test
|
|
|
|
incrvacuum_ioerr.test
|
|
autovacuum_crash.test
|
|
btree8.test
|
|
shared_err.test
|
|
vtab_err.test
|
|
veryquick.test
|
|
mallocAll.test
|
|
|
|
walslow.test
|
|
walcrash.test
|
|
walthread.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 {
|
|
}
|
|
|
|
# If the QUICKTEST_INCLUDE environment variable is set, then interpret
|
|
# it as a list of test files. Always run these files, even if they
|
|
# begin with "malloc*" or "ioerr*" or are part of the EXCLUDE list
|
|
# defined above.
|
|
#
|
|
set QUICKTEST_INCLUDE {}
|
|
catch { set QUICKTEST_INCLUDE $env(QUICKTEST_INCLUDE) }
|
|
|
|
# Run all test files in directory $testdir, subject to the following:
|
|
#
|
|
# 1. If a test file is specified as part of the $INCLUDE or
|
|
# $QUICKTEST_INCLUDE list variables, run it.
|
|
#
|
|
# 2. If $INCLUDE is non-empty, and rule 1 does not apply to it, do not run it.
|
|
#
|
|
# 3. If a test file is specified as part of $EXCLUDE, and rule 1 does not
|
|
# apply, do not run it.
|
|
#
|
|
foreach testfile [lsort -dictionary [glob $testdir/*.test]] {
|
|
set tail [file tail $testfile]
|
|
|
|
if {[info exists STARTAT] && [string match $STARTAT $tail]} {unset STARTAT}
|
|
if {[info exists STARTAT]} continue
|
|
|
|
set run [expr {[llength $INCLUDE]==0}]
|
|
if {[info exists ISVERYQUICK] && [string match *malloc* $tail]} { set run 0 }
|
|
if {[info exists ISVERYQUICK] && [string match *ioerr* $tail]} { set run 0 }
|
|
if {[lsearch -exact $EXCLUDE $tail]>=0} { set run 0 }
|
|
if {[lsearch -exact $INCLUDE $tail]>=0} { set run 1 }
|
|
if {[lsearch -exact $QUICKTEST_INCLUDE $tail]>=0} { set run 1 }
|
|
|
|
if {$run} {
|
|
slave_test_file $testfile
|
|
}
|
|
}
|
|
slave_test_file $testdir/misuse.test
|
|
|
|
finish_test
|
|
|