danielk1977 | 9dfa60b | 2006-01-26 13:11:36 +0000 | [diff] [blame] | 1 | # Documentation for this script. This may be output to stderr |
| 2 | # if the script is invoked incorrectly. |
| 3 | set ::USAGE_MESSAGE { |
| 4 | This Tcl script is used to test the various compile time options |
| 5 | available for omitting code (the SQLITE_OMIT_xxx options). It |
| 6 | should be invoked as follows: |
| 7 | |
dan | bb2b441 | 2011-04-06 17:54:31 +0000 | [diff] [blame] | 8 | <script> ?test-symbol? ?-makefile PATH-TO-MAKEFILE? ?-skip_run? |
danielk1977 | 9dfa60b | 2006-01-26 13:11:36 +0000 | [diff] [blame] | 9 | |
| 10 | The default value for ::MAKEFILE is "../Makefile.linux.gcc". |
| 11 | |
shaneh | bb20134 | 2011-02-09 19:55:20 +0000 | [diff] [blame] | 12 | If -skip_run option is given then only the compile part is attempted. |
| 13 | |
danielk1977 | 9dfa60b | 2006-01-26 13:11:36 +0000 | [diff] [blame] | 14 | This script builds the testfixture program and runs the SQLite test suite |
| 15 | once with each SQLITE_OMIT_ option defined and then once with all options |
| 16 | defined together. Each run is performed in a seperate directory created |
| 17 | as a sub-directory of the current directory by the script. The output |
| 18 | of the build is saved in <sub-directory>/build.log. The output of the |
| 19 | test-suite is saved in <sub-directory>/test.log. |
| 20 | |
| 21 | Almost any SQLite makefile (except those generated by configure - see below) |
| 22 | should work. The following properties are required: |
| 23 | |
| 24 | * The makefile should support the "testfixture" target. |
| 25 | * The makefile should support the "test" target. |
| 26 | * The makefile should support the variable "OPTS" as a way to pass |
| 27 | options from the make command line to lemon and the C compiler. |
| 28 | |
| 29 | More precisely, the following two invocations must be supported: |
| 30 | |
shaneh | 5e0855c | 2011-06-22 20:14:09 +0000 | [diff] [blame] | 31 | $::MAKEBIN -f $::MAKEFILE testfixture OPTS="-DSQLITE_OMIT_ALTERTABLE=1" |
| 32 | $::MAKEBIN -f $::MAKEFILE test |
danielk1977 | 9dfa60b | 2006-01-26 13:11:36 +0000 | [diff] [blame] | 33 | |
| 34 | Makefiles generated by the sqlite configure program cannot be used as |
| 35 | they do not respect the OPTS variable. |
| 36 | } |
| 37 | |
| 38 | |
| 39 | # Build a testfixture executable and run quick.test using it. The first |
| 40 | # parameter is the name of the directory to create and use to run the |
| 41 | # test in. The second parameter is a list of OMIT symbols to define |
| 42 | # when doing so. For example: |
| 43 | # |
| 44 | # run_quick_test /tmp/testdir {SQLITE_OMIT_TRIGGER SQLITE_OMIT_VIEW} |
| 45 | # |
| 46 | # |
| 47 | proc run_quick_test {dir omit_symbol_list} { |
| 48 | # Compile the value of the OPTS Makefile variable. |
drh | 60bdeb2 | 2011-10-20 00:55:54 +0000 | [diff] [blame] | 49 | set opts "" |
shane | 4909760 | 2008-07-31 02:43:34 +0000 | [diff] [blame] | 50 | if {$::tcl_platform(platform)=="windows"} { |
drh | 60bdeb2 | 2011-10-20 00:55:54 +0000 | [diff] [blame] | 51 | append opts "OPTS += -DSQLITE_OS_WIN=1\n" |
shaneh | bb20134 | 2011-02-09 19:55:20 +0000 | [diff] [blame] | 52 | set target "testfixture.exe" |
shane | 4909760 | 2008-07-31 02:43:34 +0000 | [diff] [blame] | 53 | } else { |
drh | 60bdeb2 | 2011-10-20 00:55:54 +0000 | [diff] [blame] | 54 | append opts "OPTS += -DSQLITE_OS_UNIX=1\n" |
shane | 4909760 | 2008-07-31 02:43:34 +0000 | [diff] [blame] | 55 | } |
danielk1977 | 9dfa60b | 2006-01-26 13:11:36 +0000 | [diff] [blame] | 56 | foreach sym $omit_symbol_list { |
drh | 60bdeb2 | 2011-10-20 00:55:54 +0000 | [diff] [blame] | 57 | append opts "OPTS += -D${sym}=1\n" |
danielk1977 | 9dfa60b | 2006-01-26 13:11:36 +0000 | [diff] [blame] | 58 | } |
| 59 | |
| 60 | # Create the directory and do the build. If an error occurs return |
| 61 | # early without attempting to run the test suite. |
| 62 | file mkdir $dir |
| 63 | puts -nonewline "Building $dir..." |
| 64 | flush stdout |
drh | 60bdeb2 | 2011-10-20 00:55:54 +0000 | [diff] [blame] | 65 | catch { |
| 66 | file copy -force ./config.h $dir |
| 67 | file copy -force ./libtool $dir |
| 68 | } |
| 69 | set fd [open $::MAKEFILE] |
| 70 | set mkfile [read $fd] |
| 71 | close $fd |
| 72 | regsub {\ninclude} $mkfile "\n$opts\ninclude" mkfile |
| 73 | set fd [open $dir/makefile w] |
| 74 | puts $fd $mkfile |
| 75 | close $fd |
| 76 | |
danielk1977 | 9dfa60b | 2006-01-26 13:11:36 +0000 | [diff] [blame] | 77 | set rc [catch { |
drh | 60bdeb2 | 2011-10-20 00:55:54 +0000 | [diff] [blame] | 78 | exec $::MAKEBIN -C $dir -f makefile clean $::TARGET >& $dir/build.log |
danielk1977 | 9dfa60b | 2006-01-26 13:11:36 +0000 | [diff] [blame] | 79 | }] |
| 80 | if {$rc} { |
| 81 | puts "No good. See $dir/build.log." |
| 82 | return |
| 83 | } else { |
| 84 | puts "Ok" |
| 85 | } |
| 86 | |
| 87 | # Create an empty file "$dir/sqlite3". This is to trick the makefile out |
| 88 | # of trying to build the sqlite shell. The sqlite shell won't build |
| 89 | # with some of the OMIT options (i.e OMIT_COMPLETE). |
shane | 4909760 | 2008-07-31 02:43:34 +0000 | [diff] [blame] | 90 | set sqlite3_dummy $dir/sqlite3 |
mistachkin | f1c6bc5 | 2012-06-21 15:09:20 +0000 | [diff] [blame] | 91 | if {$::tcl_platform(platform)=="windows"} { |
shane | 4909760 | 2008-07-31 02:43:34 +0000 | [diff] [blame] | 92 | append sqlite3_dummy ".exe" |
| 93 | } |
| 94 | if {![file exists $sqlite3_dummy]} { |
| 95 | set wr [open $sqlite3_dummy w] |
danielk1977 | 9dfa60b | 2006-01-26 13:11:36 +0000 | [diff] [blame] | 96 | puts $wr "dummy" |
| 97 | close $wr |
| 98 | } |
| 99 | |
shaneh | bb20134 | 2011-02-09 19:55:20 +0000 | [diff] [blame] | 100 | if {$::SKIP_RUN} { |
drh | ef9f719 | 2020-01-17 19:14:08 +0000 | [diff] [blame] | 101 | # puts "Skip testing $dir." |
danielk1977 | 9dfa60b | 2006-01-26 13:11:36 +0000 | [diff] [blame] | 102 | } else { |
shaneh | bb20134 | 2011-02-09 19:55:20 +0000 | [diff] [blame] | 103 | # Run the test suite. |
| 104 | puts -nonewline "Testing $dir..." |
| 105 | flush stdout |
| 106 | set rc [catch { |
drh | 60bdeb2 | 2011-10-20 00:55:54 +0000 | [diff] [blame] | 107 | exec $::MAKEBIN -C $dir -f makefile test >& $dir/test.log |
shaneh | bb20134 | 2011-02-09 19:55:20 +0000 | [diff] [blame] | 108 | }] |
| 109 | if {$rc} { |
| 110 | puts "No good. See $dir/test.log." |
| 111 | } else { |
| 112 | puts "Ok" |
| 113 | } |
danielk1977 | 9dfa60b | 2006-01-26 13:11:36 +0000 | [diff] [blame] | 114 | } |
| 115 | } |
| 116 | |
| 117 | |
| 118 | # This proc processes the command line options passed to this script. |
| 119 | # Currently the only option supported is "-makefile", default |
| 120 | # "../Makefile.linux-gcc". Set the ::MAKEFILE variable to the value of this |
| 121 | # option. |
| 122 | # |
| 123 | proc process_options {argv} { |
shaneh | 5e0855c | 2011-06-22 20:14:09 +0000 | [diff] [blame] | 124 | set ::MAKEBIN make ;# Default value |
mistachkin | f1c6bc5 | 2012-06-21 15:09:20 +0000 | [diff] [blame] | 125 | if {$::tcl_platform(platform)=="windows"} { |
| 126 | set ::MAKEFILE ./Makefile ;# Default value on Windows |
shane | 4909760 | 2008-07-31 02:43:34 +0000 | [diff] [blame] | 127 | } else { |
dan | bb2b441 | 2011-04-06 17:54:31 +0000 | [diff] [blame] | 128 | set ::MAKEFILE ./Makefile.linux-gcc ;# Default value |
shane | 4909760 | 2008-07-31 02:43:34 +0000 | [diff] [blame] | 129 | } |
drh | ef9f719 | 2020-01-17 19:14:08 +0000 | [diff] [blame] | 130 | set ::SKIP_RUN 1 ;# Default to attempt test |
drh | 60bdeb2 | 2011-10-20 00:55:54 +0000 | [diff] [blame] | 131 | set ::TARGET testfixture ;# Default thing to build |
shaneh | bb20134 | 2011-02-09 19:55:20 +0000 | [diff] [blame] | 132 | |
danielk1977 | 9dfa60b | 2006-01-26 13:11:36 +0000 | [diff] [blame] | 133 | for {set i 0} {$i < [llength $argv]} {incr i} { |
drh | 96a27f4 | 2017-05-15 15:05:48 +0000 | [diff] [blame] | 134 | switch -regexp -- [lindex $argv $i] { |
| 135 | -{1,2}makefile { |
danielk1977 | 9dfa60b | 2006-01-26 13:11:36 +0000 | [diff] [blame] | 136 | incr i |
| 137 | set ::MAKEFILE [lindex $argv $i] |
| 138 | } |
| 139 | |
drh | 96a27f4 | 2017-05-15 15:05:48 +0000 | [diff] [blame] | 140 | -{1,2}nmake { |
shaneh | 5e0855c | 2011-06-22 20:14:09 +0000 | [diff] [blame] | 141 | set ::MAKEBIN nmake |
| 142 | set ::MAKEFILE ./Makefile.msc |
| 143 | } |
| 144 | |
drh | 96a27f4 | 2017-05-15 15:05:48 +0000 | [diff] [blame] | 145 | -{1,2}target { |
drh | 60bdeb2 | 2011-10-20 00:55:54 +0000 | [diff] [blame] | 146 | incr i |
| 147 | set ::TARGET [lindex $argv $i] |
| 148 | } |
| 149 | |
drh | 96a27f4 | 2017-05-15 15:05:48 +0000 | [diff] [blame] | 150 | -{1,2}skip_run { |
shaneh | bb20134 | 2011-02-09 19:55:20 +0000 | [diff] [blame] | 151 | set ::SKIP_RUN 1 |
| 152 | } |
drh | ef9f719 | 2020-01-17 19:14:08 +0000 | [diff] [blame] | 153 | -{1,2}run { |
| 154 | set ::SKIP_RUN 0 |
| 155 | } |
shaneh | bb20134 | 2011-02-09 19:55:20 +0000 | [diff] [blame] | 156 | |
drh | 96a27f4 | 2017-05-15 15:05:48 +0000 | [diff] [blame] | 157 | -{1,2}help { |
| 158 | puts $::USAGE_MESSAGE |
| 159 | exit |
| 160 | } |
| 161 | |
| 162 | -.* { |
| 163 | puts stderr "Unknown option: [lindex $argv i]" |
| 164 | puts stderr $::USAGE_MESSAGE |
| 165 | exit 1 |
| 166 | } |
| 167 | |
danielk1977 | 9dfa60b | 2006-01-26 13:11:36 +0000 | [diff] [blame] | 168 | default { |
dan | bb2b441 | 2011-04-06 17:54:31 +0000 | [diff] [blame] | 169 | if {[info exists ::SYMBOL]} { |
| 170 | puts stderr [string trim $::USAGE_MESSAGE] |
| 171 | exit -1 |
| 172 | } |
| 173 | set ::SYMBOL [lindex $argv $i] |
danielk1977 | 9dfa60b | 2006-01-26 13:11:36 +0000 | [diff] [blame] | 174 | } |
| 175 | } |
| 176 | set ::MAKEFILE [file normalize $::MAKEFILE] |
| 177 | } |
| 178 | } |
| 179 | |
| 180 | # Main routine. |
| 181 | # |
danielk1977 | 4b2688a | 2006-06-20 11:01:07 +0000 | [diff] [blame] | 182 | |
danielk1977 | 9dfa60b | 2006-01-26 13:11:36 +0000 | [diff] [blame] | 183 | proc main {argv} { |
| 184 | # List of SQLITE_OMIT_XXX symbols supported by SQLite. |
shaneh | bb20134 | 2011-02-09 19:55:20 +0000 | [diff] [blame] | 185 | set ::OMIT_SYMBOLS [list \ |
| 186 | SQLITE_OMIT_ALTERTABLE \ |
| 187 | SQLITE_OMIT_ANALYZE \ |
| 188 | SQLITE_OMIT_ATTACH \ |
| 189 | SQLITE_OMIT_AUTHORIZATION \ |
| 190 | SQLITE_OMIT_AUTOINCREMENT \ |
| 191 | SQLITE_OMIT_AUTOINIT \ |
| 192 | SQLITE_OMIT_AUTOMATIC_INDEX \ |
| 193 | SQLITE_OMIT_AUTORESET \ |
| 194 | SQLITE_OMIT_AUTOVACUUM \ |
| 195 | SQLITE_OMIT_BETWEEN_OPTIMIZATION \ |
| 196 | SQLITE_OMIT_BLOB_LITERAL \ |
| 197 | SQLITE_OMIT_BTREECOUNT \ |
drh | ef9f719 | 2020-01-17 19:14:08 +0000 | [diff] [blame] | 198 | SQLITE_OMIT_CASE_SENSITIVE_LIKE_PRAGMA \ |
shaneh | bb20134 | 2011-02-09 19:55:20 +0000 | [diff] [blame] | 199 | SQLITE_OMIT_CAST \ |
| 200 | SQLITE_OMIT_CHECK \ |
| 201 | SQLITE_OMIT_COMPILEOPTION_DIAGS \ |
| 202 | SQLITE_OMIT_COMPLETE \ |
| 203 | SQLITE_OMIT_COMPOUND_SELECT \ |
drh | 6adba90 | 2019-04-10 18:29:40 +0000 | [diff] [blame] | 204 | SQLITE_OMIT_CONFLICT_CLAUSE \ |
dan | b68b977 | 2014-01-25 12:16:53 +0000 | [diff] [blame] | 205 | SQLITE_OMIT_CTE \ |
shaneh | bb20134 | 2011-02-09 19:55:20 +0000 | [diff] [blame] | 206 | SQLITE_OMIT_DATETIME_FUNCS \ |
| 207 | SQLITE_OMIT_DECLTYPE \ |
| 208 | SQLITE_OMIT_DEPRECATED \ |
drh | 6adba90 | 2019-04-10 18:29:40 +0000 | [diff] [blame] | 209 | SQLITE_OMIT_DISKIO \ |
shaneh | bb20134 | 2011-02-09 19:55:20 +0000 | [diff] [blame] | 210 | SQLITE_OMIT_EXPLAIN \ |
| 211 | SQLITE_OMIT_FLAG_PRAGMAS \ |
| 212 | SQLITE_OMIT_FLOATING_POINT \ |
| 213 | SQLITE_OMIT_FOREIGN_KEY \ |
drh | ef9f719 | 2020-01-17 19:14:08 +0000 | [diff] [blame] | 214 | SQLITE_OMIT_GENERATED_COLUMNS \ |
shaneh | bb20134 | 2011-02-09 19:55:20 +0000 | [diff] [blame] | 215 | SQLITE_OMIT_GET_TABLE \ |
drh | 6adba90 | 2019-04-10 18:29:40 +0000 | [diff] [blame] | 216 | SQLITE_OMIT_HEX_INTEGER \ |
shaneh | bb20134 | 2011-02-09 19:55:20 +0000 | [diff] [blame] | 217 | SQLITE_OMIT_INCRBLOB \ |
| 218 | SQLITE_OMIT_INTEGRITY_CHECK \ |
drh | ef9f719 | 2020-01-17 19:14:08 +0000 | [diff] [blame] | 219 | SQLITE_OMIT_INTROSPECTION_PRAGMAS \ |
shaneh | bb20134 | 2011-02-09 19:55:20 +0000 | [diff] [blame] | 220 | SQLITE_OMIT_LIKE_OPTIMIZATION \ |
| 221 | SQLITE_OMIT_LOAD_EXTENSION \ |
| 222 | SQLITE_OMIT_LOCALTIME \ |
| 223 | SQLITE_OMIT_LOOKASIDE \ |
| 224 | SQLITE_OMIT_MEMORYDB \ |
| 225 | SQLITE_OMIT_OR_OPTIMIZATION \ |
| 226 | SQLITE_OMIT_PAGER_PRAGMAS \ |
drh | 6adba90 | 2019-04-10 18:29:40 +0000 | [diff] [blame] | 227 | SQLITE_OMIT_PARSER_TRACE \ |
| 228 | SQLITE_OMIT_POPEN \ |
shaneh | bb20134 | 2011-02-09 19:55:20 +0000 | [diff] [blame] | 229 | SQLITE_OMIT_PRAGMA \ |
| 230 | SQLITE_OMIT_PROGRESS_CALLBACK \ |
| 231 | SQLITE_OMIT_QUICKBALANCE \ |
drh | 6adba90 | 2019-04-10 18:29:40 +0000 | [diff] [blame] | 232 | SQLITE_OMIT_RANDOMNESS \ |
shaneh | bb20134 | 2011-02-09 19:55:20 +0000 | [diff] [blame] | 233 | SQLITE_OMIT_REINDEX \ |
| 234 | SQLITE_OMIT_SCHEMA_PRAGMAS \ |
danielk1977 | 9dfa60b | 2006-01-26 13:11:36 +0000 | [diff] [blame] | 235 | SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS \ |
shaneh | bb20134 | 2011-02-09 19:55:20 +0000 | [diff] [blame] | 236 | SQLITE_OMIT_SHARED_CACHE \ |
drh | 6adba90 | 2019-04-10 18:29:40 +0000 | [diff] [blame] | 237 | SQLITE_OMIT_SHUTDOWN_DIRECTORIES \ |
shaneh | bb20134 | 2011-02-09 19:55:20 +0000 | [diff] [blame] | 238 | SQLITE_OMIT_SUBQUERY \ |
| 239 | SQLITE_OMIT_TCL_VARIABLE \ |
| 240 | SQLITE_OMIT_TEMPDB \ |
drh | 6adba90 | 2019-04-10 18:29:40 +0000 | [diff] [blame] | 241 | SQLITE_OMIT_TEST_CONTROL \ |
shaneh | bb20134 | 2011-02-09 19:55:20 +0000 | [diff] [blame] | 242 | SQLITE_OMIT_TRACE \ |
| 243 | SQLITE_OMIT_TRIGGER \ |
| 244 | SQLITE_OMIT_TRUNCATE_OPTIMIZATION \ |
drh | 6adba90 | 2019-04-10 18:29:40 +0000 | [diff] [blame] | 245 | SQLITE_OMIT_UPSERT \ |
shaneh | bb20134 | 2011-02-09 19:55:20 +0000 | [diff] [blame] | 246 | SQLITE_OMIT_UTF16 \ |
| 247 | SQLITE_OMIT_VACUUM \ |
| 248 | SQLITE_OMIT_VIEW \ |
| 249 | SQLITE_OMIT_VIRTUALTABLE \ |
| 250 | SQLITE_OMIT_WAL \ |
drh | 6adba90 | 2019-04-10 18:29:40 +0000 | [diff] [blame] | 251 | SQLITE_OMIT_WINDOWFUNC \ |
shaneh | bb20134 | 2011-02-09 19:55:20 +0000 | [diff] [blame] | 252 | SQLITE_OMIT_WSD \ |
| 253 | SQLITE_OMIT_XFER_OPT \ |
| 254 | ] |
| 255 | |
| 256 | set ::ENABLE_SYMBOLS [list \ |
| 257 | SQLITE_DISABLE_DIRSYNC \ |
| 258 | SQLITE_DISABLE_LFS \ |
| 259 | SQLITE_ENABLE_ATOMIC_WRITE \ |
shaneh | bb20134 | 2011-02-09 19:55:20 +0000 | [diff] [blame] | 260 | SQLITE_ENABLE_COLUMN_METADATA \ |
| 261 | SQLITE_ENABLE_EXPENSIVE_ASSERT \ |
shaneh | bb20134 | 2011-02-09 19:55:20 +0000 | [diff] [blame] | 262 | SQLITE_ENABLE_FTS3 \ |
| 263 | SQLITE_ENABLE_FTS3_PARENTHESIS \ |
| 264 | SQLITE_ENABLE_FTS4 \ |
shaneh | bb20134 | 2011-02-09 19:55:20 +0000 | [diff] [blame] | 265 | SQLITE_ENABLE_IOTRACE \ |
| 266 | SQLITE_ENABLE_LOAD_EXTENSION \ |
| 267 | SQLITE_ENABLE_LOCKING_STYLE \ |
| 268 | SQLITE_ENABLE_MEMORY_MANAGEMENT \ |
| 269 | SQLITE_ENABLE_MEMSYS3 \ |
| 270 | SQLITE_ENABLE_MEMSYS5 \ |
| 271 | SQLITE_ENABLE_OVERSIZE_CELL_CHECK \ |
| 272 | SQLITE_ENABLE_RTREE \ |
drh | 60bdeb2 | 2011-10-20 00:55:54 +0000 | [diff] [blame] | 273 | SQLITE_ENABLE_STAT3 \ |
shaneh | bb20134 | 2011-02-09 19:55:20 +0000 | [diff] [blame] | 274 | SQLITE_ENABLE_UNLOCK_NOTIFY \ |
| 275 | SQLITE_ENABLE_UPDATE_DELETE_LIMIT \ |
danielk1977 | 9dfa60b | 2006-01-26 13:11:36 +0000 | [diff] [blame] | 276 | ] |
| 277 | |
| 278 | # Process any command line options. |
| 279 | process_options $argv |
shaneh | bb20134 | 2011-02-09 19:55:20 +0000 | [diff] [blame] | 280 | |
dan | bb2b441 | 2011-04-06 17:54:31 +0000 | [diff] [blame] | 281 | if {[info exists ::SYMBOL] } { |
| 282 | set sym $::SYMBOL |
| 283 | |
| 284 | if {[lsearch $::OMIT_SYMBOLS $sym]<0 && [lsearch $::ENABLE_SYMBOLS $sym]<0} { |
| 285 | puts stderr "No such symbol: $sym" |
| 286 | exit -1 |
danielk1977 | 9dfa60b | 2006-01-26 13:11:36 +0000 | [diff] [blame] | 287 | } |
shane | 4909760 | 2008-07-31 02:43:34 +0000 | [diff] [blame] | 288 | |
shaneh | 5e0855c | 2011-06-22 20:14:09 +0000 | [diff] [blame] | 289 | set dirname "test_[regsub -nocase {^x*SQLITE_} $sym {}]" |
shaneh | bb20134 | 2011-02-09 19:55:20 +0000 | [diff] [blame] | 290 | run_quick_test $dirname $sym |
dan | bb2b441 | 2011-04-06 17:54:31 +0000 | [diff] [blame] | 291 | } else { |
| 292 | # First try a test with all OMIT symbols except SQLITE_OMIT_FLOATING_POINT |
| 293 | # and SQLITE_OMIT_PRAGMA defined. The former doesn't work (causes segfaults) |
| 294 | # and the latter is currently incompatible with the test suite (this should |
| 295 | # be fixed, but it will be a lot of work). |
| 296 | set allsyms [list] |
| 297 | foreach s $::OMIT_SYMBOLS { |
| 298 | if {$s!="SQLITE_OMIT_FLOATING_POINT" && $s!="SQLITE_OMIT_PRAGMA"} { |
| 299 | lappend allsyms $s |
| 300 | } |
| 301 | } |
| 302 | run_quick_test test_OMIT_EVERYTHING $allsyms |
| 303 | |
| 304 | # Now try one quick.test with each of the OMIT symbols defined. Included |
| 305 | # are the OMIT_FLOATING_POINT and OMIT_PRAGMA symbols, even though we |
| 306 | # know they will fail. It's good to be reminded of this from time to time. |
| 307 | foreach sym $::OMIT_SYMBOLS { |
shaneh | 5e0855c | 2011-06-22 20:14:09 +0000 | [diff] [blame] | 308 | set dirname "test_[regsub -nocase {^x*SQLITE_} $sym {}]" |
dan | bb2b441 | 2011-04-06 17:54:31 +0000 | [diff] [blame] | 309 | run_quick_test $dirname $sym |
| 310 | } |
| 311 | |
| 312 | # Try the ENABLE/DISABLE symbols one at a time. |
| 313 | # We don't do them all at once since some are conflicting. |
| 314 | foreach sym $::ENABLE_SYMBOLS { |
shaneh | 5e0855c | 2011-06-22 20:14:09 +0000 | [diff] [blame] | 315 | set dirname "test_[regsub -nocase {^x*SQLITE_} $sym {}]" |
dan | bb2b441 | 2011-04-06 17:54:31 +0000 | [diff] [blame] | 316 | run_quick_test $dirname $sym |
| 317 | } |
danielk1977 | 9dfa60b | 2006-01-26 13:11:36 +0000 | [diff] [blame] | 318 | } |
| 319 | } |
| 320 | |
| 321 | main $argv |