#
# Portions Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiaries. All rights reserved.
#
# 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.87 2008/09/09 18:28:07 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
fuzz3.test
fuzz_malloc.test
in2.test
loadext.test
memleak.test
misc7.test
misuse.test
mutex2.test
onefile.test
permutations.test
quick.test
rtree.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
trans2.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
}
# 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
}
#Symbian OS: tail is overwritten in misc5.test, so use a new var tname for it here.
set tname [file tail $testfile]
if {[lsearch -exact $EXCLUDE $tname]>=0} continue
if {[llength $INCLUDE]>0 && [lsearch -exact $INCLUDE $tname]<0} continue
if {[info exists STARTAT] && [string match $STARTAT $tname]} {unset STARTAT}
if {[info exists STARTAT]} continue
print_text "" $tname
start_case $tname
source $testfile
catch {db close}
if {$sqlite_open_file_count>0} {
puts "$tname did not close all files: $sqlite_open_file_count"
# Symbian OS: Set and increase error count with do_fail procedure (definition in Tester.tcl)
do_fail $tname
set sqlite_open_file_count 0
}
foreach var [info vars] {
catch { if {[string length [set $var]] > 25000} { unset $var } }
}
end_case $tname
}
#set argv quick
#source $testdir/permutations.test
#set argv ""
source $testdir/misuse.test
set sqlite_open_file_count 0
really_finish_test