-C More\sdocumentation\sspellcheck\sand\scleanup.\sNo\schanges\sto\scode.\s(CVS\s5264)
-D 2008-06-21T18:02:17
+C Add\stest\sfile\spermutations.test,\swhich\sruns\svarious\sother\stest\sfiles\swith\ssqlite\sconfigured\sin\svarious\sways.\sThis\sadds\sa\sfew\snew\stests\sand\sreplaces\stest\sfiles\sautovacuum_crash.test,\sautovacuum_ioerr.test,\sexclusive3.test,\sjrnlmode2.test,\sjrnlmode3.test,\sjrnlmode4.test,\smutex2\sand\sonefile.test.\s(CVS\s5265)
+D 2008-06-21T18:07:37
F Makefile.arm-wince-mingw32ce-gcc ac5f7b2cef0cd850d6f755ba6ee4ab961b1fadf7
F Makefile.in ff6f90048555a0088f6a4b7406bed5e55a7c4eff
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
F src/where.c 5c4a999f6aed992131479bfaec9b874326d9963c
F tclinstaller.tcl 4356d9d94d2b5ed5e68f9f0c80c4df3048dd7617
F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2
-F test/all.test d56a3ca8acdf761204aff0a2e7aa5eb8e11b31e6
+F test/all.test 4e152341762cfc9b87dac0305e50ea2c8c68b81c
F test/alter.test 6353aae6839e486c9b7d8f73b1f4a1e98e57332c
F test/alter2.test dd55146e812622c8fc51fd2216bcd8dca8880752
F test/alter3.test 25b95a136708f22b87184fa6a4309eea03d65153
F test/auth2.test 65ac294b8d52cbdd463f61e77ad0165268373126
F test/autoinc.test 42af2c407c4e37d0626f9cda57ed381e94522c9d
F test/autovacuum.test 4339e66003b9cf813dd667a83aed2dee27c4c36d
-F test/autovacuum_crash.test 05a63b8805b20cfba7ace82856ce4ccdda075a31
-F test/autovacuum_ioerr.test c46a76869cb6eddbbb40b419b2b6c4c001766b1f
F test/autovacuum_ioerr2.test dc189f323cf0546289b5a9bbda60bcb1fe52bd4b
F test/avtrans.test 1e901d8102706b63534dbd2bdd4d8f16c4082650
F test/badutf.test d5360fc31f643d37a973ab0d8b4fb85799c3169f
F test/enc3.test 5c550d59ff31dccdba5d1a02ae11c7047d77c041
F test/exclusive.test 5390ddf1f90a6d055111c0ebe6311045dd3035e1
F test/exclusive2.test d13bf66753dca46e61241d35d36ab7c868b0d313
-F test/exclusive3.test 4c54ad89bc70031ee36ed06d92f47e38c7801429
F test/exec.test e949714dc127eaa5ecc7d723efec1ec27118fdd7
F test/expr.test 5c606f12045dd640ede7f840270340baf5ef1450
F test/filectrl.test 524853082d5d7fb442599730ec3a0f3f84a3a936
F test/join5.test 86675fc2919269aa923c84dd00ee4249b97990fe
F test/journal1.test 36f2d1bb9bf03f790f43fbdb439e44c0657fab19
F test/jrnlmode.test b60a7dae8534ccd2e811deb09258f1172fd6e24f
-F test/jrnlmode2.test e48ec49320a3f849a5036e3551bf2394112a4aae
-F test/jrnlmode3.test c77f9d4095945f234dddd60ca0f73c24802ed0c1
-F test/jrnlmode4.test 8ee031603fef8ed5deba0de8b012a82be6d5a6a0
F test/lastinsert.test 474d519c68cb79d07ecae56a763aa7f322c72f51
F test/laststmtchanges.test 18ead86c8a87ade949a1d5658f6dc4bb111d1b02
F test/like.test 2a3ddbd5d91503f914eabae67a47c4196fe33a58
F test/nan.test 14c41572ff52dbc740b1c3303dd313a90dc6084c
F test/notnull.test 44d600f916b770def8b095a9962dbe3be5a70d82
F test/null.test a8b09b8ed87852742343b33441a9240022108993
-F test/onefile.test 5af2867a8097cea08f15de5382b8d57d1219d8e3
F test/openv2.test f5dd6b23e4dce828eb211649b600763c42a668df
F test/pager.test 60303481b22b240c18d6dd1b64edcecc2f4b5a97
F test/pager2.test c025f91b75fe65e85febda64d9416428b8a5cab5
F test/pager3.test 2323bf27fd5bd887b580247e5bce500ceee994b4
F test/pageropt.test 6df72c441db0a037b7ec6990d16311c24fbea77b
F test/pagesize.test e0a8b3fe80f8b8e808d94a00734c7a18c76c407e
+F test/permutations.test fb03fe6dc2a713ff1171373da9f72d962ed3bc92
F test/pragma.test 6b9bee4f5dbb9bccde4d0d5caf13a33f9da86e15
F test/pragma2.test 5364893491b9231dd170e3459bfc2e2342658b47
F test/printf.test c3405535b418d454e8a52196a0fc592ec9eec58d
F test/progress.test 5b075c3c790c7b2a61419bc199db87aaf48b8301 x
F test/ptrchng.test 83150cb7b513e33cce90fdc68f4b1817551857c0
-F test/quick.test 48fb66d9c7216c3ff72c7619b264be6c427d7bac
+F test/quick.test f040f7e8834699d4fd25271780e0c61bbff7a2e5
F test/quote.test 215897dbe8de1a6f701265836d6601cc6ed103e6
F test/rdonly.test b34db316525440d3b42c32e83942c02c37d28ef0
F test/reindex.test 38b138abe36bf9a08c791ed44d9f76cd6b97b78b
F test/types3.test a0f66bf12f80fad89493535474f7a6d16fa58150
F test/unique.test 0253c4227a5dc533e312202ce21ecfad18058d18
F test/update.test 8bc86fd7ef1a00014f76dc6a6a7c974df4aef172
-F test/utf16.test 20e2d9ba0d57e952a18b1ac8deab9ad49e082893
F test/utf16align.test 7360e84472095518c56746f76b1f9d4dce99fb4d
F test/vacuum.test 0bc75ee74ab9c69322d6563aa2287375697e630b
F test/vacuum2.test d3b9691541fe6ed5c711f547a1c7d70e9760ac6f
F test/vacuum3.test 6149b24613f487915ca9cedfbb9147d5759714ec
F test/varint.test ab7b110089a08b9926ed7390e7e97bdefeb74102
-F test/veryquick.test 5117ca7a26f3c86abd5bd34590a82bbccbd79d34
+F test/veryquick.test a5d65426d4a598d9f4c57aaca6e539a692fad580
F test/view.test 4864e3841ab3213a95297718b94d5d6a8d3bc78b
F test/vtab1.test 47092e3ac59141f08e09a6c0cc0df8997242bc79
F test/vtab2.test 1da49b015582965a8fc386aa23d051a5a622b08e
F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
F tool/speedtest8.c 1dbced29de5f59ba2ebf877edcadf171540374d1
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
-P 3edfc64f27ba50ba43b79435b3f5d273e3c29aff
-R d37ae6eef8a5c1b7352c6d7e5db4a96b
-U mihailim
-Z 63772ff9082afb0236c109bd8e25e2d9
+P 9ae03f5629fb47006ae2d8108dfab3956833d943
+R b8fb89ef8b6c36b0d81c4791e3cfb607
+U danielk1977
+Z 8b09be7399f86723726fb0f8fb2ed88a
-9ae03f5629fb47006ae2d8108dfab3956833d943
\ No newline at end of file
+0e9df3507bd30d320b7ccfeaf3e06e10938022e1
\ No newline at end of file
#***********************************************************************
# This file runs all tests.
#
-# $Id: all.test,v 1.54 2008/03/31 23:51:35 drh Exp $
+# $Id: all.test,v 1.55 2008/06/21 18:07:37 danielk1977 Exp $
set testdir [file dirname $argv0]
source $testdir/tester.tcl
lappend LeakList $Leak
}
}
+set argv all
+source $testdir/permutations.test
+set argv ""
# Do one last test to look for a memory leak in the library. This will
# only work if SQLite is compiled with the -DSQLITE_DEBUG=1 flag.
source $testdir/crash.test
source $testdir/crash2.test
ifcapable !default_autovacuum {
- source $testdir/autovacuum_crash.test
+ set argv autovacuum_crash
+ source $testdir/permutations.test
+ set argv ""
}
}
+++ /dev/null
-# 2001 September 15
-#
-# The author disclaims copyright to this source code. In place of
-# a legal notice, here is a blessing:
-#
-# May you do good and not evil.
-# May you find forgiveness for yourself and forgive others.
-# May you share freely, never taking more than you give.
-#
-#***********************************************************************
-#
-# This file runs the tests in the file crash.test with auto-vacuum enabled
-# databases.
-#
-# $Id: autovacuum_crash.test,v 1.2 2005/01/16 09:06:34 danielk1977 Exp $
-
-set testdir [file dirname $argv0]
-source $testdir/tester.tcl
-
-# If this build of the library does not support auto-vacuum, omit this
-# whole file.
-ifcapable {!autovacuum} {
- finish_test
- return
-}
-
-rename finish_test really_finish_test2
-proc finish_test {} {}
-set ISQUICK 1
-
-rename sqlite3 real_sqlite3
-proc sqlite3 {args} {
- set r [eval "real_sqlite3 $args"]
- if { [llength $args] == 2 } {
- [lindex $args 0] eval {pragma auto_vacuum = 1}
- }
- set r
-}
-
-rename do_test really_do_test
-proc do_test {args} {
- set sc [concat really_do_test "autovacuum-[lindex $args 0]" \
- [lrange $args 1 end]]
- eval $sc
-}
-
-source $testdir/crash.test
-
-rename sqlite3 ""
-rename real_sqlite3 sqlite3
-rename finish_test ""
-rename really_finish_test2 finish_test
-rename do_test ""
-rename really_do_test do_test
-finish_test
-
-
-
+++ /dev/null
-# 2001 September 15
-#
-# The author disclaims copyright to this source code. In place of
-# a legal notice, here is a blessing:
-#
-# May you do good and not evil.
-# May you find forgiveness for yourself and forgive others.
-# May you share freely, never taking more than you give.
-#
-#***********************************************************************
-#
-# This file runs the tests in the file ioerr.test with auto-vacuum enabled
-# databases.
-#
-# $Id: autovacuum_ioerr.test,v 1.3 2006/01/16 12:46:41 danielk1977 Exp $
-
-set testdir [file dirname $argv0]
-source $testdir/tester.tcl
-
-# If this build of the library does not support auto-vacuum, omit this
-# whole file.
-ifcapable {!autovacuum} {
- finish_test
- return
-}
-
-rename finish_test really_finish_test2
-proc finish_test {} {}
-set ISQUICK 1
-
-rename sqlite3 real_sqlite3
-proc sqlite3 {args} {
- set r [eval "real_sqlite3 $args"]
- if { [llength $args] == 2 } {
- [lindex $args 0] eval {pragma auto_vacuum = 1}
- }
- set r
-}
-
-rename do_test really_do_test
-proc do_test {args} {
- set sc [concat really_do_test "autovacuum-[lindex $args 0]" \
- [lrange $args 1 end]]
- eval $sc
-}
-
-source $testdir/ioerr.test
-
-rename sqlite3 ""
-rename real_sqlite3 sqlite3
-rename finish_test ""
-rename really_finish_test2 finish_test
-rename do_test ""
-rename really_do_test do_test
-finish_test
-
-
-
+++ /dev/null
-# 2007 March 26
-#
-# The author disclaims copyright to this source code. In place of
-# a legal notice, here is a blessing:
-#
-# May you do good and not evil.
-# May you find forgiveness for yourself and forgive others.
-# May you share freely, never taking more than you give.
-#
-#***********************************************************************
-#
-# This file runs the tests in the file ioerr.test with
-# exclusive access mode enabled.
-#
-# $Id: exclusive3.test,v 1.4 2008/04/17 14:16:42 drh Exp $
-
-set testdir [file dirname $argv0]
-source $testdir/tester.tcl
-
-ifcapable {!pager_pragmas} {
- finish_test
- return
-}
-
-rename finish_test really_finish_test2
-proc finish_test {} {}
-set ISQUICK 1
-
-rename sqlite3 real_sqlite3
-proc sqlite3 {args} {
- set r [eval "real_sqlite3 $args"]
- if { [llength $args] == 2 } {
- [lindex $args 0] eval {pragma locking_mode = exclusive}
- }
- set r
-}
-
-rename do_test really_do_test
-proc do_test {args} {
- set sc [concat really_do_test "exclusive-[lindex $args 0]" \
- [lrange $args 1 end]]
- eval $sc
-}
-
-source $testdir/rollback.test
-source $testdir/select1.test
-source $testdir/select2.test
-source $testdir/malloc.test
-source $testdir/ioerr.test
-
-
-rename sqlite3 ""
-rename real_sqlite3 sqlite3
-rename finish_test ""
-rename really_finish_test2 finish_test
-rename do_test ""
-rename really_do_test do_test
-finish_test
+++ /dev/null
-# 2007 March 26
-#
-# The author disclaims copyright to this source code. In place of
-# a legal notice, here is a blessing:
-#
-# May you do good and not evil.
-# May you find forgiveness for yourself and forgive others.
-# May you share freely, never taking more than you give.
-#
-#***********************************************************************
-#
-# This file runs a few of the other test files (select1.test etc.) with
-# persistent journal mode enabled.
-#
-# $Id: jrnlmode2.test,v 1.3 2008/05/07 15:44:26 danielk1977 Exp $
-
-set testdir [file dirname $argv0]
-source $testdir/tester.tcl
-
-ifcapable {!pager_pragmas} {
- finish_test
- return
-}
-
-rename finish_test really_finish_test2
-proc finish_test {} {}
-set ISQUICK 1
-
-rename sqlite3 real_sqlite3
-proc sqlite3 {args} {
- set r [eval "real_sqlite3 $args"]
- if { [llength $args] == 2 } {
- [lindex $args 0] eval {PRAGMA journal_mode = persist}
- }
- set r
-}
-
-rename do_test really_do_test
-proc do_test {args} {
- set sc [concat really_do_test "jrlnmode2-[lindex $args 0]" \
- [lrange $args 1 end]]
- eval $sc
-}
-
-source $testdir/delete.test
-source $testdir/delete2.test
-source $testdir/insert.test
-source $testdir/rollback.test
-source $testdir/select1.test
-source $testdir/select2.test
-source $testdir/trans.test
-source $testdir/update.test
-source $testdir/vacuum.test
-
-
-rename sqlite3 ""
-rename real_sqlite3 sqlite3
-rename finish_test ""
-rename really_finish_test2 finish_test
-rename do_test ""
-rename really_do_test do_test
-finish_test
+++ /dev/null
-# 2007 March 26
-#
-# The author disclaims copyright to this source code. In place of
-# a legal notice, here is a blessing:
-#
-# May you do good and not evil.
-# May you find forgiveness for yourself and forgive others.
-# May you share freely, never taking more than you give.
-#
-#***********************************************************************
-#
-# This file runs the tests in the file ioerr.test with
-# persistent journal mode enabled.
-#
-# $Id: jrnlmode3.test,v 1.2 2008/04/19 20:53:26 drh Exp $
-
-set testdir [file dirname $argv0]
-source $testdir/tester.tcl
-
-ifcapable {!pager_pragmas} {
- finish_test
- return
-}
-
-rename finish_test really_finish_test2
-proc finish_test {} {}
-set ISQUICK 1
-
-rename sqlite3 real_sqlite3
-proc sqlite3 {args} {
- set r [eval "real_sqlite3 $args"]
- if { [llength $args] == 2 } {
- [lindex $args 0] eval {PRAGMA journal_mode = persist}
- }
- set r
-}
-
-rename do_test really_do_test
-proc do_test {args} {
- set sc [concat really_do_test "jrlnmode3-[lindex $args 0]" \
- [lrange $args 1 end]]
- eval $sc
-}
-
-source $testdir/malloc.test
-source $testdir/ioerr.test
-
-
-rename sqlite3 ""
-rename real_sqlite3 sqlite3
-rename finish_test ""
-rename really_finish_test2 finish_test
-rename do_test ""
-rename really_do_test do_test
-finish_test
+++ /dev/null
-# 2007 March 26
-#
-# The author disclaims copyright to this source code. In place of
-# a legal notice, here is a blessing:
-#
-# May you do good and not evil.
-# May you find forgiveness for yourself and forgive others.
-# May you share freely, never taking more than you give.
-#
-#***********************************************************************
-#
-# This file runs a few of the other test files (select1.test etc.) with
-# persistent journal mode disabled.
-#
-# $Id: jrnlmode4.test,v 1.3 2008/05/07 15:44:26 danielk1977 Exp $
-
-set testdir [file dirname $argv0]
-source $testdir/tester.tcl
-
-ifcapable {!pager_pragmas} {
- finish_test
- return
-}
-
-rename finish_test really_finish_test2
-proc finish_test {} {}
-set ISQUICK 1
-
-rename sqlite3 real_sqlite3
-proc sqlite3 {args} {
- set r [eval "real_sqlite3 $args"]
- if { [llength $args] == 2 } {
- [lindex $args 0] eval {PRAGMA journal_mode = off}
- }
- set r
-}
-
-rename do_test really_do_test
-proc do_test {args} {
- set sc [concat really_do_test "jrlnmode4-[lindex $args 0]" \
- [lrange $args 1 end]]
- eval $sc
-}
-
-source $testdir/delete.test
-source $testdir/delete2.test
-source $testdir/insert.test
-source $testdir/select1.test
-source $testdir/select2.test
-source $testdir/update.test
-source $testdir/vacuum.test
-
-
-rename sqlite3 ""
-rename real_sqlite3 sqlite3
-rename finish_test ""
-rename really_finish_test2 finish_test
-rename do_test ""
-rename really_do_test do_test
-finish_test
+++ /dev/null
-#
-# May you do good and not evil.
-# May you find forgiveness for yourself and forgive others.
-# May you share freely, never taking more than you give.
-#
-#***********************************************************************
-# This file runs all tests.
-#
-# $Id: onefile.test,v 1.3 2008/01/18 02:31:56 drh Exp $
-
-set testdir [file dirname $argv0]
-source $testdir/tester.tcl
-rename finish_test really_finish_test2
-proc finish_test {} {
- catch {db close}
- catch {db2 close}
- catch {db3 close}
-}
-set ISQUICK 1
-
-set onefile_INCLUDE {
- conflict.test
- insert.test
- insert2.test
- insert3.test
- rollback.test
- select1.test
- select2.test
- select3.test
- temptable.test
-}
-#set onefile_INCLUDE insert2.test
-
-rename sqlite3 really_sqlite3
-proc sqlite3 {args} {
- if {[string range [lindex $args 0] 0 0] ne "-"} {
- lappend args -vfs fs
- }
- uplevel [concat really_sqlite3 $args]
-}
-
-rename do_test really_do_test
-proc do_test {name args} {
- uplevel really_do_test onefile-$name $args
-}
-
-foreach testfile [lsort -dictionary [glob $testdir/*.test]] {
- set tail [file tail $testfile]
- if {[lsearch -exact $onefile_INCLUDE $tail]<0} continue
- source $testfile
-}
-
-file delete -force test.db test2.db test3.db test4.db
-
-really_finish_test2
-rename do_test {}
-rename really_do_test do_test
-rename finish_test {}
-rename really_finish_test2 finish_test
-rename sqlite3 {}
-rename really_sqlite3 sqlite3
--- /dev/null
+# 2008 June 21
+#
+# The author disclaims copyright to this source code. In place of
+# a legal notice, here is a blessing:
+#
+# May you do good and not evil.
+# May you find forgiveness for yourself and forgive others.
+# May you share freely, never taking more than you give.
+#
+#***********************************************************************
+#
+# $Id: permutations.test,v 1.1 2008/06/21 18:07:37 danielk1977 Exp $
+
+set testdir [file dirname $argv0]
+source $testdir/tester.tcl
+
+# Argument processing.
+#
+set ::testmode [lindex $argv 0]
+set ::testfile [lindex $argv 1]
+set argv [lrange $argv 2 end]
+
+set ::permutations_presql ""
+set ::permutations_test_prefix ""
+
+if {$::testmode eq "veryquick"} {
+ set ::testmode [list persistent_journal no_journal]
+ set ISQUICK 1
+}
+if {$::testmode eq "quick"} {
+ set ::testmode [list persistent_journal no_journal autovacuum_ioerr]
+ set ISQUICK 1
+}
+if {$::testmode eq "all"} {
+ set ::testmode {
+ memsubsys1 memsubsys2 singlethread multithread onefile utf16 exclusive
+ persistent_journal persistent_journal_error no_journal no_journal_error
+ autovacuum_ioerr
+ }
+}
+if {$::testmode eq "targets"} {
+ puts ""
+ puts -nonewline "veryquick "
+ puts "Same as persistent_journal and no_journal"
+ puts -nonewline "quick "
+ puts "Same as persistent_journal, no_journal and autovacuum_ioerr"
+ puts -nonewline "all "
+ puts "Everything except autovacuum_crash"
+}
+
+set EXCLUDE {
+ all.test async.test async2.test corrupt.test
+ crash.test crash2.test crash3.test crash4.test
+ crash6.test crash7.test exclusive3.test fts3.test
+ fuzz.test fuzz_malloc.test in2.test jrnlmode3.test
+ loadext.test mallocAll.test malloc.test malloc2.test
+ malloc3.test malloc4.test memleak.test misc7.test
+ misuse.test mutex2.test onefile.test quick.test
+ soak.test speed1.test speed1p.test speed2.test
+ speed3.test speed4.test speed4p.test sqllimits1.test
+ thread001.test thread002.test btree8.test utf16.test
+ shared_err.test vtab_err.test veryquick.test incrvacuum_ioerr.test
+ autovacuum_crash.test permutations.test
+ autovacuum_ioerr.test jrnlmode2.test jrnlmode4.test
+}
+set ALLTESTS [list]
+foreach filename [glob $testdir/*.test] {
+ set filename [file tail $filename]
+ if {[lsearch $EXCLUDE $filename] < 0} { lappend ALLTESTS $filename }
+}
+
+rename finish_test really_finish_test2
+proc finish_test {} {}
+
+rename do_test really_do_test
+
+proc do_test {name args} {
+ eval really_do_test [list "perm-$::permutations_test_prefix.$name"] $args
+}
+
+# Overload the [sqlite3] command
+rename sqlite3 really_sqlite3
+proc sqlite3 {args} {
+ set r [eval really_sqlite3 $args]
+ if { [llength $args] == 2 && $::permutations_presql ne "" } {
+ [lindex $args 0] eval $::permutations_presql
+ }
+ set r
+}
+
+# run_tests OPTIONS
+#
+# where available options are:
+#
+# -initialize SCRIPT (default "")
+# -shutdown SCRIPT (default "")
+# -include LIST-OF-FILES (default $::ALLTESTS)
+# -exclude LIST-OF-FILES (default "")
+# -presql SQL (default "")
+# -description TITLE (default "")
+#
+proc run_tests {name args} {
+ set ::permutations_test_prefix $name
+ set options(-shutdown) ""
+ set options(-initialize) ""
+ set options(-exclude) ""
+ set options(-include) $::ALLTESTS
+ set options(-presql) ""
+ set options(-description) "no description supplied (fixme)"
+ array set options $args
+
+ if {$::testmode eq "targets"} {
+ puts [format "% -20s %s" $name [string trim $options(-description)]]
+ return
+ }
+ if {$::testmode ne "" && [lsearch $::testmode $name]<0} return
+
+
+ uplevel $options(-initialize)
+ set ::permutations_presql $options(-presql)
+
+ foreach file $options(-include) {
+ if {[lsearch $options(-exclude) $file] < 0 && (
+ $::testfile eq "" || $::testfile eq $file || "$::testfile.test" eq $file
+ ) } {
+ uplevel source $::testdir/$file
+ }
+ }
+
+ uplevel $options(-shutdown)
+}
+
+#############################################################################
+# Start of tests
+
+# Run some tests using pre-allocated page and scratch blocks.
+#
+run_tests "memsubsys1" -description {
+ Tests using pre-allocated page and scratch blocks
+} -initialize {
+ sqlite3_shutdown
+ sqlite3_config_pagecache 4096 24
+ sqlite3_config_scratch 25000 1
+ sqlite3_initialize
+} -exclude {
+ memsubsys1.test
+} -shutdown {
+ catch {db close}
+ sqlite3_shutdown
+ sqlite3_config_pagecache 0 0
+ sqlite3_config_scratch 0 0
+ sqlite3_initialize
+}
+
+# Run some tests using pre-allocated page and scratch blocks. This time
+# the allocations are too small to use in most cases.
+#
+run_tests "memsubsys2" -description {
+ Tests using small pre-allocated page and scratch blocks
+} -initialize {
+ sqlite3_shutdown
+ sqlite3_config_pagecache 512 5
+ sqlite3_config_scratch 1000 1
+ sqlite3_initialize
+} -exclude {
+ memsubsys1.test
+} -shutdown {
+ catch {db close}
+ sqlite3_shutdown
+ sqlite3_config_pagecache 0 0
+ sqlite3_config_scratch 0 0
+ sqlite3_initialize
+}
+
+# Run some tests in SQLITE_CONFIG_SINGLETHREAD mode.
+#
+run_tests "singlethread" -description {
+ Tests run in SQLITE_CONFIG_SINGLETHREAD mode
+} -initialize {
+ do_test mutex2-singlethread.0 {
+ catch {db close}
+ sqlite3_shutdown
+ sqlite3_config singlethread
+ } SQLITE_OK
+} -include {
+ delete.test delete2.test insert.test rollback.test select1.test
+ select2.test trans.test update.test vacuum.test types.test
+ types2.test types3.test
+} -shutdown {
+ do_test mutex2-X {
+ catch {db close}
+ sqlite3_shutdown
+ sqlite3_config serialized
+ } SQLITE_OK
+}
+
+# Run some tests in SQLITE_CONFIG_MULTITHREAD mode.
+#
+run_tests "multithread" -description {
+ Tests run in SQLITE_CONFIG_MULTITHREAD mode
+} -initialize {
+ do_test mutex2-multithread.0 {
+ catch {db close}
+ sqlite3_shutdown
+ sqlite3_config multithread
+ } SQLITE_OK
+} -include {
+ delete.test delete2.test insert.test rollback.test select1.test
+ select2.test trans.test update.test vacuum.test types.test
+ types2.test types3.test
+} -shutdown {
+ do_test mutex2-X {
+ catch {db close}
+ sqlite3_shutdown
+ sqlite3_config serialized
+ } SQLITE_OK
+}
+
+# Run some tests using the "onefile" demo.
+#
+run_tests "onefile" -description {
+ Run some tests using the "test_onefile.c" demo
+} -initialize {
+ rename sqlite3 sqlite3_onefile
+ proc sqlite3 {args} {
+ if {[string range [lindex $args 0] 0 0] ne "-"} {
+ lappend args -vfs fs
+ }
+ uplevel [concat sqlite3_onefile $args]
+ }
+} -include {
+ conflict.test insert.test insert2.test insert3.test
+ rollback.test select1.test select2.test select3.test
+ temptable.test
+} -shutdown {
+ rename sqlite3 {}
+ rename sqlite3_onefile sqlite3
+}
+
+# Run some tests using UTF-16 databases.
+#
+run_tests "utf16" -description {
+ Run tests using UTF-16 databases
+} -initialize {
+ pragma encoding = 'UTF-16'
+} -include {
+ alter.test alter3.test
+ auth.test bind.test blob.test capi2.test capi3.test collate1.test
+ collate2.test collate3.test collate4.test collate5.test collate6.test
+ conflict.test date.test delete.test expr.test fkey1.test func.test
+ hook.test index.test insert2.test insert.test interrupt.test in.test
+ intpkey.test ioerr.test join2.test join.test lastinsert.test
+ laststmtchanges.test limit.test lock2.test lock.test main.test
+ memdb.test minmax.test misc1.test misc2.test misc3.test notnull.test
+ null.test progress.test quote.test rowid.test select1.test select2.test
+ select3.test select4.test select5.test select6.test sort.test
+ subselect.test tableapi.test table.test temptable.test
+ trace.test trigger1.test trigger2.test trigger3.test
+ trigger4.test types2.test types.test unique.test update.test
+ vacuum.test view.test where.test
+}
+
+# Run some tests in exclusive locking mode.
+#
+run_tests "exclusive" -description {
+ Run tests in exclusive locking mode.
+} -presql {
+ pragma locking_mode = 'exclusive'
+} -include {
+ rollback.test select1.test select2.test
+ malloc.test ioerr.test
+}
+
+# Run some tests in persistent journal mode.
+#
+run_tests "persistent_journal" -description {
+ Run tests in persistent-journal mode.
+} -presql {
+ pragma journal_mode = persist
+} -include {
+ delete.test delete2.test insert.test rollback.test select1.test
+ select2.test trans.test update.test vacuum.test
+}
+
+# Run some error tests in persistent journal mode.
+#
+run_tests "persistent_journal_error" -description {
+ Run malloc.test and ioerr.test in persistent-journal mode.
+} -presql {
+ pragma journal_mode = persist
+} -include {
+ malloc.test ioerr.test
+}
+
+# Run some tests in no journal mode.
+#
+run_tests "no_journal" -description {
+ Run tests in no-journal mode.
+} -presql {
+ pragma journal_mode = persist
+} -include {
+ delete.test delete2.test insert.test rollback.test select1.test
+ select2.test trans.test update.test vacuum.test
+}
+
+# Run some error tests in no journal mode.
+#
+run_tests "no_journal_error" -description {
+ Run malloc.test and ioerr.test in no-journal mode.
+} -presql {
+ pragma journal_mode = persist
+} -include {
+ malloc.test ioerr.test
+}
+
+# Run some crash-tests in autovacuum mode.
+#
+run_tests "autovacuum_crash" -description {
+ Run crash.test in autovacuum mode.
+} -presql {
+ pragma auto_vacuum = 1
+} -include crash.test
+
+# Run some ioerr-tests in autovacuum mode.
+#
+run_tests "autovacuum_ioerr" -description {
+ Run ioerr.test in autovacuum mode.
+} -presql {
+ pragma auto_vacuum = 1
+} -include ioerr.test
+
+# End of tests
+#############################################################################
+
+if {$::testmode eq "targets"} { puts "" ; exit }
+
+# Restore the [sqlite3] command.
+#
+rename sqlite3 {}
+rename really_sqlite3 sqlite3
+
+# Restore the [finish_test] command.
+#
+rename finish_test ""
+rename really_finish_test2 finish_test
+
+# Restore the [do_test] command.
+#
+rename do_test ""
+rename really_do_test do_test
+
+finish_test
+
#***********************************************************************
# This file runs all tests.
#
-# $Id: quick.test,v 1.80 2008/06/21 12:15:04 danielk1977 Exp $
+# $Id: quick.test,v 1.81 2008/06/21 18:07:37 danielk1977 Exp $
proc lshift {lvar} {
upvar $lvar l
set sqlite_open_file_count 0
}
}
+set argv quick
+source $testdir/permutations.test
+set argv ""
source $testdir/misuse.test
set sqlite_open_file_count 0
+++ /dev/null
-# 2001 September 15
-#
-# The author disclaims copyright to this source code. In place of
-# a legal notice, here is a blessing:
-#
-# May you do good and not evil.
-# May you find forgiveness for yourself and forgive others.
-# May you share freely, never taking more than you give.
-#
-#***********************************************************************
-# This file runs all tests.
-#
-# $Id: utf16.test,v 1.6 2007/01/04 16:37:04 drh Exp $
-
-set testdir [file dirname $argv0]
-source $testdir/tester.tcl
-rename finish_test really_finish_test2
-proc finish_test {} {}
-set ISQUICK 1
-
-if { [llength $argv]>0 } {
- set FILES $argv
- set argv [list]
-} else {
- set F {
- alter.test alter3.test
- auth.test bind.test blob.test capi2.test capi3.test collate1.test
- collate2.test collate3.test collate4.test collate5.test collate6.test
- conflict.test date.test delete.test expr.test fkey1.test func.test
- hook.test index.test insert2.test insert.test interrupt.test in.test
- intpkey.test ioerr.test join2.test join.test lastinsert.test
- laststmtchanges.test limit.test lock2.test lock.test main.test
- memdb.test minmax.test misc1.test misc2.test misc3.test notnull.test
- null.test progress.test quote.test rowid.test select1.test select2.test
- select3.test select4.test select5.test select6.test sort.test
- subselect.test tableapi.test table.test temptable.test
- trace.test trigger1.test trigger2.test trigger3.test
- trigger4.test types2.test types.test unique.test update.test
- vacuum.test view.test where.test
- }
- foreach f $F {lappend FILES $testdir/$f}
-}
-
-rename sqlite3 real_sqlite3
-proc sqlite3 {args} {
- set r [eval "real_sqlite3 $args"]
- if { [llength $args] == 2 } {
- [lindex $args 0] eval {pragma encoding = 'UTF-16'}
- }
- set r
-}
-
-rename do_test really_do_test
-proc do_test {args} {
- set sc [concat really_do_test "utf16-[lindex $args 0]" [lrange $args 1 end]]
- eval $sc
-}
-
-foreach f $FILES {
- source $f
- catch {db close}
- if {$sqlite_open_file_count>0} {
- puts "$tail did not close all files: $sqlite_open_file_count"
- incr nErr
- lappend ::failList $tail
- }
-}
-
-rename sqlite3 ""
-rename real_sqlite3 sqlite3
-rename finish_test ""
-rename really_finish_test2 finish_test
-rename do_test ""
-rename really_do_test do_test
-finish_test
#***********************************************************************
# This file runs all tests.
#
-# $Id: veryquick.test,v 1.4 2008/06/18 17:09:10 danielk1977 Exp $
+# $Id: veryquick.test,v 1.5 2008/06/21 18:07:37 danielk1977 Exp $
proc lshift {lvar} {
upvar $lvar l
set sqlite_open_file_count 0
}
}
+set argv veryquick
+source $testdir/permutations.test
+set argv ""
source $testdir/misuse.test
set sqlite_open_file_count 0