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