1# 2# May you do good and not evil. 3# May you find forgiveness for yourself and forgive others. 4# May you share freely, never taking more than you give. 5# 6#*********************************************************************** 7# This file runs all tests. 8# 9# $Id: quick.test,v 1.93 2009/02/26 07:15:59 danielk1977 Exp $ 10 11proc lshift {lvar} { 12 upvar $lvar l 13 set ret [lindex $l 0] 14 set l [lrange $l 1 end] 15 return $ret 16} 17while {[set arg [lshift argv]] != ""} { 18 switch -- $arg { 19 -sharedpagercache { 20 sqlite3_enable_shared_cache 1 21 } 22 -soak { 23 set SOAKTEST 1 24 } 25 -start { 26 set STARTAT "[lshift argv]*" 27 } 28 default { 29 set argv [linsert $argv 0 $arg] 30 break 31 } 32 } 33} 34 35set testdir [file dirname $argv0] 36source $testdir/tester.tcl 37rename finish_test really_finish_test 38proc finish_test {} { 39 catch {db close} 40 show_memstats 41} 42set ISQUICK 1 43 44set EXCLUDE { 45 all.test 46 async.test 47 async2.test 48 async3.test 49 backup_ioerr.test 50 corrupt.test 51 corruptC.test 52 crash.test 53 crash2.test 54 crash3.test 55 crash4.test 56 crash5.test 57 crash6.test 58 crash7.test 59 delete3.test 60 fts3.test 61 fuzz.test 62 fuzz3.test 63 fuzz_malloc.test 64 in2.test 65 loadext.test 66 memleak.test 67 misc7.test 68 misuse.test 69 mutex2.test 70 onefile.test 71 permutations.test 72 quick.test 73 savepoint4.test 74 savepoint6.test 75 select9.test 76 soak.test 77 speed1.test 78 speed1p.test 79 speed2.test 80 speed3.test 81 speed4.test 82 speed4p.test 83 sqllimits1.test 84 tkt2686.test 85 thread001.test 86 thread002.test 87 thread003.test 88 thread004.test 89 trans2.test 90 vacuum3.test 91 92 incrvacuum_ioerr.test 93 autovacuum_crash.test 94 btree8.test 95 shared_err.test 96 vtab_err.test 97 veryquick.test 98 mallocAll.test 99} 100 101if {[sqlite3 -has-codec]} { 102 # lappend EXCLUDE \ 103 # conflict.test 104} 105 106 107# Files to include in the test. If this list is empty then everything 108# that is not in the EXCLUDE list is run. 109# 110set INCLUDE { 111} 112 113foreach testfile [lsort -dictionary [glob $testdir/*.test]] { 114 # If this is "veryquick.test", do not run any of the malloc or 115 # IO error simulations. 116 if {[info exists ISVERYQUICK] && ( 117 [string match *malloc* $testfile] || [string match *ioerr* $testfile] 118 ) } { 119 continue 120 } 121 122 set tail [file tail $testfile] 123 if {[lsearch -exact $EXCLUDE $tail]>=0} continue 124 if {[llength $INCLUDE]>0 && [lsearch -exact $INCLUDE $tail]<0} continue 125 if {[info exists STARTAT] && [string match $STARTAT $tail]} {unset STARTAT} 126 if {[info exists STARTAT]} continue 127 source $testfile 128 catch {db close} 129 if {$sqlite_open_file_count>0} { 130 puts "$tail did not close all files: $sqlite_open_file_count" 131 incr nErr 132 lappend ::failList $tail 133 set sqlite_open_file_count 0 134 } 135} 136#set argv quick 137#source $testdir/permutations.test 138#set argv "" 139source $testdir/misuse.test 140 141set sqlite_open_file_count 0 142really_finish_test 143