OLD | NEW |
1 # 2008 June 21 | 1 # 2008 June 21 |
2 # | 2 # |
3 # The author disclaims copyright to this source code. In place of | 3 # The author disclaims copyright to this source code. In place of |
4 # a legal notice, here is a blessing: | 4 # a legal notice, here is a blessing: |
5 # | 5 # |
6 # May you do good and not evil. | 6 # May you do good and not evil. |
7 # May you find forgiveness for yourself and forgive others. | 7 # May you find forgiveness for yourself and forgive others. |
8 # May you share freely, never taking more than you give. | 8 # May you share freely, never taking more than you give. |
9 # | 9 # |
10 #*********************************************************************** | 10 #*********************************************************************** |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
89 foreach f [glob -nocomplain $testdir/../ext/rtree/*.test] { | 89 foreach f [glob -nocomplain $testdir/../ext/rtree/*.test] { |
90 lappend alltests $f | 90 lappend alltests $f |
91 } | 91 } |
92 | 92 |
93 if {$::tcl_platform(platform)!="unix"} { | 93 if {$::tcl_platform(platform)!="unix"} { |
94 set alltests [test_set $alltests -exclude crash.test crash2.test] | 94 set alltests [test_set $alltests -exclude crash.test crash2.test] |
95 } | 95 } |
96 set alltests [test_set $alltests -exclude { | 96 set alltests [test_set $alltests -exclude { |
97 all.test async.test quick.test veryquick.test | 97 all.test async.test quick.test veryquick.test |
98 memleak.test permutations.test soak.test fts3.test | 98 memleak.test permutations.test soak.test fts3.test |
99 mallocAll.test rtree.test full.test | 99 mallocAll.test rtree.test full.test extraquick.test |
100 }] | 100 }] |
101 | 101 |
102 set allquicktests [test_set $alltests -exclude { | 102 set allquicktests [test_set $alltests -exclude { |
103 async2.test async3.test backup_ioerr.test corrupt.test | 103 async2.test async3.test backup_ioerr.test corrupt.test |
104 corruptC.test crash.test crash2.test crash3.test crash4.test crash5.test | 104 corruptC.test crash.test crash2.test crash3.test crash4.test crash5.test |
105 crash6.test crash7.test delete3.test e_fts3.test fts3rnd.test | 105 crash6.test crash7.test delete3.test e_fts3.test fts3rnd.test |
106 fkey_malloc.test fuzz.test fuzz3.test fuzz_malloc.test in2.test loadext.test | 106 fkey_malloc.test fuzz.test fuzz3.test fuzz_malloc.test in2.test loadext.test |
107 misc7.test mutex2.test notify2.test onefile.test pagerfault2.test | 107 misc7.test mutex2.test notify2.test onefile.test pagerfault2.test |
108 savepoint4.test savepoint6.test select9.test | 108 savepoint4.test savepoint6.test select9.test |
109 speed1.test speed1p.test speed2.test speed3.test speed4.test | 109 speed1.test speed1p.test speed2.test speed3.test speed4.test |
110 speed4p.test sqllimits1.test tkt2686.test thread001.test thread002.test | 110 speed4p.test sqllimits1.test tkt2686.test thread001.test thread002.test |
111 thread003.test thread004.test thread005.test trans2.test vacuum3.test | 111 thread003.test thread004.test thread005.test trans2.test vacuum3.test |
112 incrvacuum_ioerr.test autovacuum_crash.test btree8.test shared_err.test | 112 incrvacuum_ioerr.test autovacuum_crash.test btree8.test shared_err.test |
113 vtab_err.test walslow.test walcrash.test walcrash3.test | 113 vtab_err.test walslow.test walcrash.test walcrash3.test |
114 walthread.test rtree3.test indexfault.test securedel2.test | 114 walthread.test rtree3.test indexfault.test securedel2.test |
115 sort3.test sort4.test fts4growth.test fts4growth2.test | 115 sort3.test sort4.test fts4growth.test fts4growth2.test |
| 116 bigsort.test rbu.test |
116 }] | 117 }] |
117 if {[info exists ::env(QUICKTEST_INCLUDE)]} { | 118 if {[info exists ::env(QUICKTEST_INCLUDE)]} { |
118 set allquicktests [concat $allquicktests $::env(QUICKTEST_INCLUDE)] | 119 set allquicktests [concat $allquicktests $::env(QUICKTEST_INCLUDE)] |
119 } | 120 } |
| 121 if {[info exists ::env(QUICKTEST_OMIT)]} { |
| 122 foreach x [split $::env(QUICKTEST_OMIT) ,] { |
| 123 regsub -all \\y$x\\y $allquicktests {} allquicktests |
| 124 } |
| 125 } |
| 126 |
| 127 # If the TEST_FAILURE environment variable is set, it means that we what to |
| 128 # deliberately provoke test failures in order to test the test infrastructure. |
| 129 # Only the main.test module is needed for this. |
| 130 # |
| 131 if {[info exists ::env(TEST_FAILURE)]} { |
| 132 set allquicktests main.test |
| 133 } |
120 | 134 |
121 ############################################################################# | 135 ############################################################################# |
122 # Start of tests | 136 # Start of tests |
123 # | 137 # |
124 | 138 |
125 #------------------------------------------------------------------------- | 139 #------------------------------------------------------------------------- |
126 # Define the generic test suites: | 140 # Define the generic test suites: |
127 # | 141 # |
128 # veryquick | 142 # veryquick |
129 # quick | 143 # quick |
130 # full | 144 # full |
131 # | 145 # |
132 lappend ::testsuitelist xxx | 146 lappend ::testsuitelist xxx |
133 | 147 |
134 test_suite "veryquick" -prefix "" -description { | 148 test_suite "veryquick" -prefix "" -description { |
135 "Very" quick test suite. Runs in less than 5 minutes on a workstation. | 149 "Very" quick test suite. Runs in minutes on a workstation. |
136 This test suite is the same as the "quick" tests, except that some files | 150 This test suite is the same as the "quick" tests, except that some files |
137 that test malloc and IO errors are omitted. | 151 that test malloc and IO errors are omitted. |
138 } -files [ | 152 } -files [ |
139 test_set $allquicktests -exclude *malloc* *ioerr* *fault* | 153 test_set $allquicktests -exclude *malloc* *ioerr* *fault* *bigfile* |
| 154 ] |
| 155 |
| 156 test_suite "extraquick" -prefix "" -description { |
| 157 "Extra" quick test suite. Runs in a few minutes on a workstation. |
| 158 This test suite is the same as the "veryquick" tests, except that |
| 159 slower tests are omitted. |
| 160 } -files [ |
| 161 test_set $allquicktests -exclude *malloc* *ioerr* *fault* *bigfile* \ |
| 162 wal3.test fts4merge* sort2.test mmap1.test walcrash* \ |
| 163 percentile.test where8m.test walcksum.test savepoint3.test \ |
| 164 fuzzer1.test fuzzer3.test fts3expr3.test |
140 ] | 165 ] |
141 | 166 |
142 test_suite "mmap" -prefix "mm-" -description { | 167 test_suite "mmap" -prefix "mm-" -description { |
143 Similar to veryquick. Except with memory mapping disabled. | 168 Similar to veryquick. Except with memory mapping enabled. |
144 } -presql { | 169 } -presql { |
145 pragma mmap_size = 268435456; | 170 pragma mmap_size = 268435456; |
146 } -files [ | 171 } -files [ |
147 test_set $allquicktests -exclude *malloc* *ioerr* *fault* -include malloc.test | 172 test_set $allquicktests -exclude *malloc* *ioerr* *fault* -include malloc.test |
148 ] | 173 ] |
149 | 174 |
150 test_suite "valgrind" -prefix "" -description { | 175 test_suite "valgrind" -prefix "" -description { |
151 Run the "veryquick" test suite with a couple of multi-process tests (that | 176 Run the "veryquick" test suite with a couple of multi-process tests (that |
152 fail under valgrind) omitted. | 177 fail under valgrind) omitted. |
153 } -files [ | 178 } -files [ |
154 test_set $allquicktests -exclude *malloc* *ioerr* *fault* wal.test atof1.test | 179 test_set $allquicktests -exclude *malloc* *ioerr* *fault* wal.test \ |
| 180 shell*.test crash8.test atof1.test selectG.test \ |
| 181 tkt-fc62af4523.test numindex1.test |
155 ] -initialize { | 182 ] -initialize { |
156 set ::G(valgrind) 1 | 183 set ::G(valgrind) 1 |
157 } -shutdown { | 184 } -shutdown { |
158 unset -nocomplain ::G(valgrind) | 185 unset -nocomplain ::G(valgrind) |
159 } | 186 } |
160 | 187 |
161 test_suite "valgrind-nolookaside" -prefix "" -description { | 188 test_suite "valgrind-nolookaside" -prefix "" -description { |
162 Run the "veryquick" test suite with a couple of multi-process tests (that | 189 Run the "veryquick" test suite with a couple of multi-process tests (that |
163 fail under valgrind) omitted. | 190 fail under valgrind) omitted. |
164 } -files [ | 191 } -files [ |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
215 fts3fault.test fts3malloc.test fts3matchinfo.test | 242 fts3fault.test fts3malloc.test fts3matchinfo.test |
216 fts3aux1.test fts3comp1.test fts3auto.test | 243 fts3aux1.test fts3comp1.test fts3auto.test |
217 fts4aa.test fts4content.test | 244 fts4aa.test fts4content.test |
218 fts3conf.test fts3prefix.test fts3fault2.test fts3corrupt.test | 245 fts3conf.test fts3prefix.test fts3fault2.test fts3corrupt.test |
219 fts3corrupt2.test fts3first.test fts4langid.test fts4merge.test | 246 fts3corrupt2.test fts3first.test fts4langid.test fts4merge.test |
220 fts4check.test fts4unicode.test fts4noti.test | 247 fts4check.test fts4unicode.test fts4noti.test |
221 fts3varint.test | 248 fts3varint.test |
222 fts4growth.test fts4growth2.test | 249 fts4growth.test fts4growth2.test |
223 } | 250 } |
224 | 251 |
| 252 test_suite "fts5" -prefix "" -description { |
| 253 All FTS5 tests. |
| 254 } -files [glob -nocomplain $::testdir/../ext/fts5/test/*.test] |
| 255 |
| 256 test_suite "fts5-light" -prefix "" -description { |
| 257 All FTS5 tests. |
| 258 } -files [ |
| 259 test_set \ |
| 260 [glob -nocomplain $::testdir/../ext/fts5/test/*.test] \ |
| 261 -exclude *corrupt* *fault* *big* *fts5aj* |
| 262 ] |
| 263 |
225 test_suite "nofaultsim" -prefix "" -description { | 264 test_suite "nofaultsim" -prefix "" -description { |
226 "Very" quick test suite. Runs in less than 5 minutes on a workstation. | 265 "Very" quick test suite. Runs in less than 5 minutes on a workstation. |
227 This test suite is the same as the "quick" tests, except that some files | 266 This test suite is the same as the "quick" tests, except that some files |
228 that test malloc and IO errors are omitted. | 267 that test malloc and IO errors are omitted. |
229 } -files [ | 268 } -files [ |
230 test_set $allquicktests -exclude *malloc* *ioerr* *fault* | 269 test_set $allquicktests -exclude *malloc* *ioerr* *fault* |
231 ] -initialize { | 270 ] -initialize { |
232 catch {db close} | 271 catch {db close} |
233 sqlite3_shutdown | 272 sqlite3_shutdown |
234 install_malloc_faultsim 0 | 273 install_malloc_faultsim 0 |
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
371 # | 410 # |
372 # mmap1.test is excluded because a good number of its tests depend on | 411 # mmap1.test is excluded because a good number of its tests depend on |
373 # the page-cache being larger than the database. But this permutation | 412 # the page-cache being larger than the database. But this permutation |
374 # causes the effective limit on the page-cache to be just 24 pages. | 413 # causes the effective limit on the page-cache to be just 24 pages. |
375 # | 414 # |
376 test_suite "memsubsys1" -description { | 415 test_suite "memsubsys1" -description { |
377 Tests using pre-allocated page and scratch blocks | 416 Tests using pre-allocated page and scratch blocks |
378 } -files [ | 417 } -files [ |
379 test_set $::allquicktests -exclude ioerr5.test malloc5.test mmap1.test | 418 test_set $::allquicktests -exclude ioerr5.test malloc5.test mmap1.test |
380 ] -initialize { | 419 ] -initialize { |
| 420 test_set_config_pagecache 4096 24 |
381 catch {db close} | 421 catch {db close} |
382 sqlite3_shutdown | 422 sqlite3_shutdown |
383 sqlite3_config_pagecache 4096 24 | |
384 sqlite3_config_scratch 25000 1 | 423 sqlite3_config_scratch 25000 1 |
385 sqlite3_initialize | 424 sqlite3_initialize |
386 autoinstall_test_functions | 425 autoinstall_test_functions |
387 } -shutdown { | 426 } -shutdown { |
| 427 test_restore_config_pagecache |
388 catch {db close} | 428 catch {db close} |
389 sqlite3_shutdown | 429 sqlite3_shutdown |
390 sqlite3_config_pagecache 0 0 | |
391 sqlite3_config_scratch 0 0 | 430 sqlite3_config_scratch 0 0 |
392 sqlite3_initialize | 431 sqlite3_initialize |
393 autoinstall_test_functions | 432 autoinstall_test_functions |
394 } | 433 } |
395 | 434 |
396 # Run some tests using pre-allocated page and scratch blocks. This time | 435 # Run some tests using pre-allocated page and scratch blocks. This time |
397 # the allocations are too small to use in most cases. | 436 # the allocations are too small to use in most cases. |
398 # | 437 # |
399 # Both ioerr5.test and malloc5.test are excluded because they test the | 438 # Both ioerr5.test and malloc5.test are excluded because they test the |
400 # sqlite3_soft_heap_limit() and sqlite3_release_memory() functionality. | 439 # sqlite3_soft_heap_limit() and sqlite3_release_memory() functionality. |
401 # This functionality is disabled if a pre-allocated page block is provided. | 440 # This functionality is disabled if a pre-allocated page block is provided. |
402 # | 441 # |
403 test_suite "memsubsys2" -description { | 442 test_suite "memsubsys2" -description { |
404 Tests using small pre-allocated page and scratch blocks | 443 Tests using small pre-allocated page and scratch blocks |
405 } -files [ | 444 } -files [ |
406 test_set $::allquicktests -exclude ioerr5.test malloc5.test | 445 test_set $::allquicktests -exclude ioerr5.test malloc5.test |
407 ] -initialize { | 446 ] -initialize { |
| 447 test_set_config_pagecache 512 5 |
408 catch {db close} | 448 catch {db close} |
409 sqlite3_shutdown | 449 sqlite3_shutdown |
410 sqlite3_config_pagecache 512 5 | |
411 sqlite3_config_scratch 1000 1 | 450 sqlite3_config_scratch 1000 1 |
412 sqlite3_initialize | 451 sqlite3_initialize |
413 autoinstall_test_functions | 452 autoinstall_test_functions |
414 } -shutdown { | 453 } -shutdown { |
| 454 test_restore_config_pagecache |
415 catch {db close} | 455 catch {db close} |
416 sqlite3_shutdown | 456 sqlite3_shutdown |
417 sqlite3_config_pagecache 0 0 | |
418 sqlite3_config_scratch 0 0 | 457 sqlite3_config_scratch 0 0 |
419 sqlite3_initialize | 458 sqlite3_initialize |
420 autoinstall_test_functions | 459 autoinstall_test_functions |
421 } | 460 } |
422 | 461 |
423 # Run all tests with the lookaside allocator disabled. | 462 # Run all tests with the lookaside allocator disabled. |
424 # | 463 # |
425 test_suite "nolookaside" -description { | 464 test_suite "nolookaside" -description { |
426 OOM tests with lookaside disabled | 465 OOM tests with lookaside disabled |
427 } -initialize { | 466 } -initialize { |
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
661 } -files ioerr.test | 700 } -files ioerr.test |
662 | 701 |
663 # Run tests with an in-memory journal. | 702 # Run tests with an in-memory journal. |
664 # | 703 # |
665 test_suite "inmemory_journal" -description { | 704 test_suite "inmemory_journal" -description { |
666 Run tests with an in-memory journal file. | 705 Run tests with an in-memory journal file. |
667 } -presql { | 706 } -presql { |
668 pragma journal_mode = 'memory' | 707 pragma journal_mode = 'memory' |
669 } -files [test_set $::allquicktests -exclude { | 708 } -files [test_set $::allquicktests -exclude { |
670 # Exclude all tests that simulate IO errors. | 709 # Exclude all tests that simulate IO errors. |
671 autovacuum_ioerr2.test incrvacuum_ioerr.test ioerr.test | 710 autovacuum_ioerr2.test cffault.test incrvacuum_ioerr.test ioerr.test |
672 ioerr.test ioerr2.test ioerr3.test ioerr4.test ioerr5.test | 711 ioerr.test ioerr2.test ioerr3.test ioerr4.test ioerr5.test |
673 vacuum3.test incrblob_err.test diskfull.test backup_ioerr.test | 712 vacuum3.test incrblob_err.test diskfull.test backup_ioerr.test |
674 e_fts3.test fts3cov.test fts3malloc.test fts3rnd.test | 713 e_fts3.test fts3cov.test fts3malloc.test fts3rnd.test |
675 fts3snippet.test mmapfault.test | 714 fts3snippet.test mmapfault.test |
676 | 715 |
677 # Exclude test scripts that use tcl IO to access journal files or count | 716 # Exclude test scripts that use tcl IO to access journal files or count |
678 # the number of fsync() calls. | 717 # the number of fsync() calls. |
679 pager.test exclusive.test jrnlmode.test sync.test misc1.test | 718 pager.test exclusive.test jrnlmode.test sync.test misc1.test |
680 journal1.test conflict.test crash8.test tkt3457.test io.test | 719 journal1.test conflict.test crash8.test tkt3457.test io.test |
681 journal3.test 8_3_names.test | 720 journal3.test 8_3_names.test |
682 | 721 |
683 pager1.test async4.test corrupt.test filefmt.test pager2.test | 722 pager1.test async4.test corrupt.test filefmt.test pager2.test |
684 corrupt5.test corruptA.test pageropt.test | 723 corrupt5.test corruptA.test pageropt.test |
685 | 724 |
686 # Exclude stmt.test, which expects sub-journals to use temporary files. | 725 # Exclude stmt.test, which expects sub-journals to use temporary files. |
687 stmt.test | 726 stmt.test symlink.test |
688 | 727 |
689 zerodamage.test | 728 zerodamage.test |
690 | 729 |
691 # WAL mode is different. | 730 # WAL mode is different. |
692 wal* tkt-2d1a5c67d.test backcompat.test | 731 wal* tkt-2d1a5c67d.test backcompat.test e_wal* rowallock.test |
693 }] | 732 }] |
694 | 733 |
695 ifcapable mem3 { | 734 ifcapable mem3 { |
696 test_suite "memsys3" -description { | 735 test_suite "memsys3" -description { |
697 Run tests using the allocator in mem3.c. | 736 Run tests using the allocator in mem3.c. |
698 } -files [test_set $::allquicktests -exclude { | 737 } -files [test_set $::allquicktests -exclude { |
699 autovacuum.test delete3.test manydb.test | 738 autovacuum.test delete3.test manydb.test |
700 bigrow.test incrblob2.test memdb.test | 739 bigrow.test incrblob2.test memdb.test |
701 bitvec.test index2.test memsubsys1.test | 740 bitvec.test index2.test memsubsys1.test |
702 capi3c.test ioerr.test memsubsys2.test | 741 capi3c.test ioerr.test memsubsys2.test |
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
916 fts3ae.test fts3af.test fts3ag.test fts3ah.test | 955 fts3ae.test fts3af.test fts3ag.test fts3ah.test |
917 fts3ai.test fts3aj.test fts3ak.test fts3al.test | 956 fts3ai.test fts3aj.test fts3ak.test fts3al.test |
918 fts3am.test fts3an.test fts3ao.test fts3b.test | 957 fts3am.test fts3an.test fts3ao.test fts3b.test |
919 fts3c.test fts3d.test fts3e.test fts3query.test | 958 fts3c.test fts3d.test fts3e.test fts3query.test |
920 } | 959 } |
921 | 960 |
922 test_suite "rtree" -description { | 961 test_suite "rtree" -description { |
923 All R-tree related tests. Provides coverage of source file rtree.c. | 962 All R-tree related tests. Provides coverage of source file rtree.c. |
924 } -files [glob -nocomplain $::testdir/../ext/rtree/*.test] | 963 } -files [glob -nocomplain $::testdir/../ext/rtree/*.test] |
925 | 964 |
| 965 test_suite "rbu" -description { |
| 966 RBU tests. |
| 967 } -files [ |
| 968 test_set [glob -nocomplain $::testdir/../ext/rbu/*.test] -exclude rbu.test |
| 969 ] |
| 970 |
926 test_suite "no_optimization" -description { | 971 test_suite "no_optimization" -description { |
927 Run test scripts with optimizations disabled using the | 972 Run test scripts with optimizations disabled using the |
928 sqlite3_test_control(SQLITE_TESTCTRL_OPTIMIZATIONS) interface. | 973 sqlite3_test_control(SQLITE_TESTCTRL_OPTIMIZATIONS) interface. |
929 } -files { | 974 } -files { |
930 where.test where2.test where3.test where4.test where5.test | 975 where.test where2.test where3.test where4.test where5.test |
931 where6.test where7.test where8.test where9.test | 976 where6.test where7.test where8.test where9.test |
932 whereA.test whereB.test wherelimit.test | 977 whereA.test whereB.test wherelimit.test |
933 select1.test select2.test select3.test select4.test select5.test | 978 select1.test select2.test select3.test select4.test select5.test |
934 select7.test select8.test selectA.test selectC.test | 979 select7.test select8.test selectA.test selectC.test |
935 } -dbconfig { | 980 } -dbconfig { |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1018 set suite [lindex $argv 0] | 1063 set suite [lindex $argv 0] |
1019 if {[info exists ::testspec($suite)]==0} help | 1064 if {[info exists ::testspec($suite)]==0} help |
1020 set extra "" | 1065 set extra "" |
1021 if {[llength $argv]>1} { set extra [list -files [lrange $argv 1 end]] } | 1066 if {[llength $argv]>1} { set extra [list -files [lrange $argv 1 end]] } |
1022 eval run_tests $suite $::testspec($suite) $extra | 1067 eval run_tests $suite $::testspec($suite) $extra |
1023 } | 1068 } |
1024 } | 1069 } |
1025 main $argv | 1070 main $argv |
1026 finish_test | 1071 finish_test |
1027 } | 1072 } |
OLD | NEW |