# # 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