drh | b19a2bc | 2001-09-16 00:13:26 +0000 | [diff] [blame] | 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 | # | ||||
danielk1977 | 71bc31c | 2008-06-26 08:29:34 +0000 | [diff] [blame^] | 9 | # $Id: quick.test,v 1.84 2008/06/26 08:29:35 danielk1977 Exp $ |
danielk1977 | aef0bf6 | 2005-12-30 16:28:01 +0000 | [diff] [blame] | 10 | |
11 | proc lshift {lvar} { | ||||
12 | upvar $lvar l | ||||
13 | set ret [lindex $l 0] | ||||
14 | set l [lrange $l 1 end] | ||||
15 | return $ret | ||||
16 | } | ||||
17 | while {[set arg [lshift argv]] != ""} { | ||||
18 | switch -- $arg { | ||||
19 | -sharedpagercache { | ||||
20 | sqlite3_enable_shared_cache 1 | ||||
21 | } | ||||
drh | 44548ec | 2007-06-18 12:22:43 +0000 | [diff] [blame] | 22 | -soak { |
23 | set SOAKTEST 1 | ||||
24 | } | ||||
danielk1977 | 5f09613 | 2008-03-28 15:44:09 +0000 | [diff] [blame] | 25 | -start { |
26 | set STARTAT "[lshift argv]*" | ||||
27 | } | ||||
danielk1977 | aef0bf6 | 2005-12-30 16:28:01 +0000 | [diff] [blame] | 28 | default { |
29 | set argv [linsert $argv 0 $arg] | ||||
30 | break | ||||
31 | } | ||||
32 | } | ||||
33 | } | ||||
drh | b19a2bc | 2001-09-16 00:13:26 +0000 | [diff] [blame] | 34 | |
35 | set testdir [file dirname $argv0] | ||||
36 | source $testdir/tester.tcl | ||||
37 | rename finish_test really_finish_test | ||||
38 | proc finish_test {} {} | ||||
drh | 193a6b4 | 2002-07-07 16:52:46 +0000 | [diff] [blame] | 39 | set ISQUICK 1 |
drh | b19a2bc | 2001-09-16 00:13:26 +0000 | [diff] [blame] | 40 | |
41 | set EXCLUDE { | ||||
42 | all.test | ||||
danielk1977 | 13a68c3 | 2005-12-15 10:11:30 +0000 | [diff] [blame] | 43 | async.test |
danielk1977 | 750b03e | 2006-02-14 10:48:39 +0000 | [diff] [blame] | 44 | async2.test |
danielk1977 | 71bc31c | 2008-06-26 08:29:34 +0000 | [diff] [blame^] | 45 | async3.test |
drh | ee696e2 | 2004-08-30 16:52:17 +0000 | [diff] [blame] | 46 | corrupt.test |
47 | crash.test | ||||
danielk1977 | 59a33f9 | 2007-03-17 10:26:59 +0000 | [diff] [blame] | 48 | crash2.test |
danielk1977 | 6897ca3 | 2007-08-23 16:27:21 +0000 | [diff] [blame] | 49 | crash3.test |
drh | 04adf41 | 2008-01-08 18:57:50 +0000 | [diff] [blame] | 50 | crash4.test |
danielk1977 | ff3c898 | 2008-06-25 17:54:53 +0000 | [diff] [blame] | 51 | crash5.test |
danielk1977 | 67c007b | 2008-03-20 04:45:49 +0000 | [diff] [blame] | 52 | crash6.test |
danielk1977 | 81a392f | 2008-03-20 16:26:48 +0000 | [diff] [blame] | 53 | crash7.test |
danielk1977 | ff3c898 | 2008-06-25 17:54:53 +0000 | [diff] [blame] | 54 | delete3.test |
drh | 613a0fe | 2007-11-23 17:31:17 +0000 | [diff] [blame] | 55 | fts3.test |
danielk1977 | def0fec | 2007-05-10 15:37:52 +0000 | [diff] [blame] | 56 | fuzz.test |
danielk1977 | c9cf901 | 2007-05-30 10:36:47 +0000 | [diff] [blame] | 57 | fuzz_malloc.test |
danielk1977 | 4aeff62 | 2007-05-12 09:30:47 +0000 | [diff] [blame] | 58 | in2.test |
danielk1977 | 69e777f | 2006-06-14 10:38:02 +0000 | [diff] [blame] | 59 | loadext.test |
drh | 4b59ab5 | 2002-08-24 18:24:51 +0000 | [diff] [blame] | 60 | memleak.test |
danielk1977 | 393f068 | 2007-03-31 10:00:48 +0000 | [diff] [blame] | 61 | misc7.test |
drh | 94e9203 | 2003-02-16 22:21:32 +0000 | [diff] [blame] | 62 | misuse.test |
danielk1977 | 59f8c08 | 2008-06-18 17:09:10 +0000 | [diff] [blame] | 63 | mutex2.test |
danielk1977 | a15db35 | 2007-09-14 16:20:00 +0000 | [diff] [blame] | 64 | onefile.test |
danielk1977 | 959e3a9 | 2008-06-21 12:15:04 +0000 | [diff] [blame] | 65 | permutations.test |
drh | ee696e2 | 2004-08-30 16:52:17 +0000 | [diff] [blame] | 66 | quick.test |
danielk1977 | 9afe684 | 2008-06-24 11:21:20 +0000 | [diff] [blame] | 67 | select9.test |
danielk1977 | 5453b8d | 2007-05-30 08:18:04 +0000 | [diff] [blame] | 68 | soak.test |
drh | 3590f15 | 2006-11-23 21:09:10 +0000 | [diff] [blame] | 69 | speed1.test |
drh | 45c236d | 2008-03-22 01:08:00 +0000 | [diff] [blame] | 70 | speed1p.test |
drh | e4dd73b | 2007-03-26 13:48:12 +0000 | [diff] [blame] | 71 | speed2.test |
drh | 26c9b5e | 2008-04-11 14:56:53 +0000 | [diff] [blame] | 72 | speed3.test |
danielk1977 | 0d6e7a0 | 2007-10-23 10:25:30 +0000 | [diff] [blame] | 73 | speed4.test |
drh | 26c9b5e | 2008-04-11 14:56:53 +0000 | [diff] [blame] | 74 | speed4p.test |
danielk1977 | b0ab63c | 2007-05-08 15:59:05 +0000 | [diff] [blame] | 75 | sqllimits1.test |
danielk1977 | ff3c898 | 2008-06-25 17:54:53 +0000 | [diff] [blame] | 76 | tkt2686.test |
danielk1977 | e9dcd5e | 2007-09-10 10:53:01 +0000 | [diff] [blame] | 77 | thread001.test |
78 | thread002.test | ||||
danielk1977 | ff3c898 | 2008-06-25 17:54:53 +0000 | [diff] [blame] | 79 | vacuum3.test |
danielk1977 | e9dcd5e | 2007-09-10 10:53:01 +0000 | [diff] [blame] | 80 | |
danielk1977 | b4626a3 | 2007-04-28 15:47:43 +0000 | [diff] [blame] | 81 | incrvacuum_ioerr.test |
danielk1977 | 94daf7f | 2004-11-08 09:26:09 +0000 | [diff] [blame] | 82 | autovacuum_crash.test |
danielk1977 | ce9a7b1 | 2004-11-13 13:19:56 +0000 | [diff] [blame] | 83 | btree8.test |
danielk1977 | 07cb560 | 2006-01-20 10:55:05 +0000 | [diff] [blame] | 84 | shared_err.test |
danielk1977 | be71889 | 2006-06-23 08:05:19 +0000 | [diff] [blame] | 85 | vtab_err.test |
drh | 9e6675f | 2008-03-31 23:51:35 +0000 | [diff] [blame] | 86 | veryquick.test |
danielk1977 | ff3c898 | 2008-06-25 17:54:53 +0000 | [diff] [blame] | 87 | mallocAll.test |
drh | b19a2bc | 2001-09-16 00:13:26 +0000 | [diff] [blame] | 88 | } |
89 | |||||
drh | ef4ac8f | 2004-06-19 00:16:31 +0000 | [diff] [blame] | 90 | if {[sqlite3 -has-codec]} { |
drh | 25d6543 | 2004-07-22 15:02:25 +0000 | [diff] [blame] | 91 | # lappend EXCLUDE \ |
92 | # conflict.test | ||||
drh | 9eb9e26 | 2004-02-11 02:18:05 +0000 | [diff] [blame] | 93 | } |
94 | |||||
drh | b900aaf | 2006-11-09 00:24:53 +0000 | [diff] [blame] | 95 | |
96 | # Files to include in the test. If this list is empty then everything | ||||
97 | # that is not in the EXCLUDE list is run. | ||||
98 | # | ||||
99 | set INCLUDE { | ||||
100 | } | ||||
101 | |||||
drh | b19a2bc | 2001-09-16 00:13:26 +0000 | [diff] [blame] | 102 | foreach testfile [lsort -dictionary [glob $testdir/*.test]] { |
danielk1977 | ff3c898 | 2008-06-25 17:54:53 +0000 | [diff] [blame] | 103 | # If this is "veryquick.test", do not run any of the malloc or |
104 | # IO error simulations. | ||||
105 | if {[info exists ISVERYQUICK] && ( | ||||
106 | [string match *malloc* $testfile] || [string match *ioerr* $testfile] | ||||
107 | ) } { | ||||
108 | continue | ||||
109 | } | ||||
110 | |||||
drh | b19a2bc | 2001-09-16 00:13:26 +0000 | [diff] [blame] | 111 | set tail [file tail $testfile] |
112 | if {[lsearch -exact $EXCLUDE $tail]>=0} continue | ||||
drh | b900aaf | 2006-11-09 00:24:53 +0000 | [diff] [blame] | 113 | if {[llength $INCLUDE]>0 && [lsearch -exact $INCLUDE $tail]<0} continue |
danielk1977 | 5f09613 | 2008-03-28 15:44:09 +0000 | [diff] [blame] | 114 | if {[info exists STARTAT] && [string match $STARTAT $tail]} {unset STARTAT} |
115 | if {[info exists STARTAT]} continue | ||||
drh | b19a2bc | 2001-09-16 00:13:26 +0000 | [diff] [blame] | 116 | source $testfile |
drh | 94e9203 | 2003-02-16 22:21:32 +0000 | [diff] [blame] | 117 | catch {db close} |
118 | if {$sqlite_open_file_count>0} { | ||||
119 | puts "$tail did not close all files: $sqlite_open_file_count" | ||||
120 | incr nErr | ||||
121 | lappend ::failList $tail | ||||
drh | 5ea2df9 | 2007-04-16 17:07:55 +0000 | [diff] [blame] | 122 | set sqlite_open_file_count 0 |
123 | } | ||||
drh | b19a2bc | 2001-09-16 00:13:26 +0000 | [diff] [blame] | 124 | } |
danielk1977 | ff3c898 | 2008-06-25 17:54:53 +0000 | [diff] [blame] | 125 | #set argv quick |
126 | #source $testdir/permutations.test | ||||
127 | #set argv "" | ||||
danielk1977 | c8c1158 | 2004-06-29 13:41:21 +0000 | [diff] [blame] | 128 | source $testdir/misuse.test |
drh | b19a2bc | 2001-09-16 00:13:26 +0000 | [diff] [blame] | 129 | |
drh | 94e9203 | 2003-02-16 22:21:32 +0000 | [diff] [blame] | 130 | set sqlite_open_file_count 0 |
drh | b19a2bc | 2001-09-16 00:13:26 +0000 | [diff] [blame] | 131 | really_finish_test |