# # 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.78 2008/04/19 20:34:19 drh 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 corrupt.test crash.test crash2.test crash3.test crash4.test crash6.test crash7.test exclusive3.test fts3.test fuzz.test fuzz_malloc.test in2.test jrnlmode3.test loadext.test mallocAll.test malloc.test malloc2.test malloc3.test malloc4.test memleak.test misc7.test misuse.test onefile.test quick.test soak.test speed1.test speed1p.test speed2.test speed3.test speed4.test speed4p.test sqllimits1.test thread001.test thread002.test incrvacuum_ioerr.test autovacuum_crash.test btree8.test utf16.test shared_err.test vtab_err.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 { } foreach testfile [lsort -dictionary [glob $testdir/*.test]] { 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 } } source $testdir/misuse.test set sqlite_open_file_count 0 really_finish_test