-C Fix\swalmode.test\sso\sthat\sall\stests\spass\swith\sSQLITE_TEMP_STORE=3.
-D 2010-09-13T19:03:38
+C Fix\ssome\stest\sfailures\sfound\srunning\sreleasetest.tcl.
+D 2010-09-14T10:53:46
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
F Makefile.in c599a15d268b1db2aeadea19df2adc3bf2eb6bee
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
F test/enc3.test 5c550d59ff31dccdba5d1a02ae11c7047d77c041
F test/eval.test bc269c365ba877554948441e91ad5373f9f91be3
F test/exclusive.test 0ba00fb15aeec1eba3d4b03a271b5081e21c35be
-F test/exclusive2.test fcbb1c9ca9739292a0a22a3763243ad6d868086b
+F test/exclusive2.test 76e63c05349cb70d09d60b99d2ae625525ff5155
F test/exec.test e949714dc127eaa5ecc7d723efec1ec27118fdd7
F test/expr.test 9f521ae22f00e074959f72ce2e55d46b9ed23f68
F test/fallocate.test 43dc34b8c24be6baffadc3b4401ee15710ce83c6
F test/in2.test 5d4c61d17493c832f7d2d32bef785119e87bde75
F test/in3.test 3cbf58c87f4052cee3a58b37b6389777505aa0c0
F test/in4.test 64f3cc1acde1b9161ccdd8e5bde3daefdb5b2617
-F test/incrblob.test e557f262cd2cc088e6bb4d154575a1bbe242edcd
+F test/incrblob.test fa2cd937f59f5231bfdc2aa152ee184bf254ca02
F test/incrblob2.test edc3a96e557bd61fb39acc8d2edd43371fbbaa19
F test/incrblob_err.test c577c91d4ed9e8336cdb188b15d6ee2a6fe9604e
F test/incrvacuum.test 453d1e490d8f5ad2c9b3a54282a0690d6ae56462
F test/pager1.test 12ad20280db1ba25f1f0d7ddebf0971a305d8f80
F test/pager2.test 0fbb6b6dc40ce1fecfe758c555a748ad2e9beaa3
F test/pager3.test 3856d9c80839be0668efee1b74811b1b7f7fc95f
-F test/pagerfault.test 90f7c65b750def13d4f673ff8bef2446e886517d
+F test/pagerfault.test 3cd3537bf2efb4baef26c74878718f4a32926da4
F test/pagerfault2.test 1f79ea40d1133b2683a2f811b00f2399f7ec2401
F test/pageropt.test 8146bf448cf09e87bb1867c2217b921fb5857806
F test/pagesize.test 76aa9f23ecb0741a4ed9d2e16c5fa82671f28efb
F test/pcache.test 4118a183908ecaed343a06fcef3ba82e87e0129d
F test/pcache2.test 0d85f2ab6963aee28c671d4c71bec038c00a1d16
-F test/permutations.test 9c73c6524ad0603b9f6ab3d49c77ac5a94919732
+F test/permutations.test ca1c985cf68c692096d0325b33c62f2b576446a5
F test/pragma.test ed78d200f65c6998df51196cb8c39d5300570f24
F test/pragma2.test 5364893491b9231dd170e3459bfc2e2342658b47
F test/printf.test 05970cde31b1a9f54bd75af60597be75a5c54fea
F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
-P 8b0b009f292e0b52bffb08662aef67d9465e5a0a
-R 543bdeb104c741398b4c52508ded2b55
+P 6ba6e59a9d528fb1bdc530d48ab96a2de6e190d6
+R 9391d10b44cd28a1b6ec0c0ec67ccf03
U dan
-Z 3a31e4f571c8c095188e7b06c7f17753
+Z b678b2a32447a7b3c62dfb66bd5817c3
-6ba6e59a9d528fb1bdc530d48ab96a2de6e190d6
\ No newline at end of file
+56a9ce7774a6f163a62684dd8d5357ce16a07de1
\ No newline at end of file
# The following tests - exclusive2-1.X - check that:
#
# 1-3: Build a database with connection 1, calculate a signature.
-# 4-9: Modify the database using a second connection in a way that
+# 4-7: Modify the database using a second connection in a way that
# does not modify the freelist, then reset the pager change-counter
# to the value it had before the modifications.
# 8: Check that using the first connection, the database signature
# the cache size must be at least 17. Otherwise, some pages will be
# loaded from the database file in step 8.
#
+# For similar reasons, this test does not work with the memsubsys1 permutation.
+# Permutation memsubsys1 configures the pcache subsystem to use a static
+# allocation of 24 pages (shared between all pagers). This is not enough for
+# this test.
+#
do_test exclusive2-1.1 {
execsql {
BEGIN;
do_test exclusive2-1.7 {
pagerChangeCounter test.db 1
} {1}
-do_test exclusive2-1.9 {
- t1sig
- expr {[t1sig] eq $::sig}
-} {1}
+if {[permutation] != "memsubsys1"} {
+ do_test exclusive2-1.9 {
+ t1sig
+ expr {[t1sig] eq $::sig}
+ } {1}
+}
do_test exclusive2-1.10 {
pagerChangeCounter test.db 2
} {2}
# after the transaction is commited and the blob channel
# closed.
#
-sqlite3_soft_heap_limit 0
-do_test incrblob-6.1 {
- sqlite3 db2 test.db
- execsql {
- BEGIN;
- INSERT INTO blobs(k, v, i) VALUES('a', 'different', 'connection');
- } db2
-} {}
-do_test incrblob-6.2 {
- execsql {
- SELECT rowid FROM blobs
- }
-} {1 2 3}
-do_test incrblob-6.3 {
- set rc [catch {
- db incrblob blobs v 1
- } msg]
- list $rc $msg
-} {1 {database is locked}}
-do_test incrblob-6.4 {
- set rc [catch {
- db incrblob blobs v 3
- } msg]
- list $rc $msg
-} {1 {database is locked}}
-do_test incrblob-6.5 {
- set ::blob [db incrblob -readonly blobs v 3]
- read $::blob
-} {hello}
-do_test incrblob-6.6 {
- close $::blob
-} {}
-
-do_test incrblob-6.7 {
- set ::blob [db2 incrblob blobs i 4]
- gets $::blob
-} {connection}
-do_test incrblob-6.8 {
- tell $::blob
-} {10}
-do_test incrblob-6.9 {
- seek $::blob 0
- puts -nonewline $::blob "invocation"
- flush $::blob
-} {}
-
-# At this point rollback should be illegal (because
-# there is an open blob channel). But commit is also illegal because
-# the open blob is read-write.
+# This test does not work with the "memsubsys1" configuration.
+# Permutation memsubsys1 configures a very small static allocation
+# for use as page-cache memory. This causes SQLite to upgrade
+# to an exclusive lock when writing earlier than usual, which
+# makes some of these tests fail.
#
-do_test incrblob-6.10 {
- catchsql {
- ROLLBACK;
- } db2
-} {1 {cannot rollback transaction - SQL statements in progress}}
-do_test incrblob-6.11 {
- catchsql {
- COMMIT;
- } db2
-} {1 {cannot commit transaction - SQL statements in progress}}
-
-do_test incrblob-6.12 {
- execsql {
- SELECT * FROM blobs WHERE rowid = 4;
- }
-} {}
-do_test incrblob-6.13 {
- close $::blob
-} {}
-do_test incrblob-6.14 {
- catchsql {
- COMMIT;
- } db2
-} {0 {}}
-do_test incrblob-6.15 {
- execsql {
- SELECT * FROM blobs WHERE rowid = 4;
- }
-} {a different invocation}
-db2 close
+sqlite3_soft_heap_limit 0
+if {[permutation] != "memsubsys1"} {
+ do_test incrblob-6.1 {
+ sqlite3 db2 test.db
+ execsql {
+ BEGIN;
+ INSERT INTO blobs(k, v, i) VALUES('a', 'different', 'connection');
+ } db2
+ } {}
+ do_test incrblob-6.2 {
+ execsql {
+ SELECT rowid FROM blobs
+ }
+ } {1 2 3}
+ do_test incrblob-6.3 {
+ set rc [catch {
+ db incrblob blobs v 1
+ } msg]
+ list $rc $msg
+ } {1 {database is locked}}
+ do_test incrblob-6.4 {
+ set rc [catch {
+ db incrblob blobs v 3
+ } msg]
+ list $rc $msg
+ } {1 {database is locked}}
+ do_test incrblob-6.5 {
+ set ::blob [db incrblob -readonly blobs v 3]
+ read $::blob
+ } {hello}
+ do_test incrblob-6.6 {
+ close $::blob
+ } {}
+
+ do_test incrblob-6.7 {
+ set ::blob [db2 incrblob blobs i 4]
+ gets $::blob
+ } {connection}
+ do_test incrblob-6.8 {
+ tell $::blob
+ } {10}
+ do_test incrblob-6.9 {
+ seek $::blob 0
+ puts -nonewline $::blob "invocation"
+ flush $::blob
+ } {}
+
+ # At this point rollback should be illegal (because
+ # there is an open blob channel). But commit is also illegal because
+ # the open blob is read-write.
+ #
+ do_test incrblob-6.10 {
+ catchsql {
+ ROLLBACK;
+ } db2
+ } {1 {cannot rollback transaction - SQL statements in progress}}
+ do_test incrblob-6.11 {
+ catchsql {
+ COMMIT;
+ } db2
+ } {1 {cannot commit transaction - SQL statements in progress}}
+
+ do_test incrblob-6.12 {
+ execsql {
+ SELECT * FROM blobs WHERE rowid = 4;
+ }
+ } {}
+ do_test incrblob-6.13 {
+ close $::blob
+ } {}
+ do_test incrblob-6.14 {
+ catchsql {
+ COMMIT;
+ } db2
+ } {0 {}}
+ do_test incrblob-6.15 {
+ execsql {
+ SELECT * FROM blobs WHERE rowid = 4;
+ }
+ } {a different invocation}
+ db2 close
+}
sqlite3_soft_heap_limit $cmdlinearg(soft-heap-limit)
#-----------------------------------------------------------------------
faultsim_test_result {0 {}} {1 {}} {1 {SQL logic error or missing database}}
}
-do_faultsim_test pagerfault-14b -prep {
- catch { db2 close }
- faultsim_restore_and_reopen
- sqlite3 db2 ""
- db2 eval { PRAGMA page_size = 4096; CREATE TABLE xx(a) }
-} -body {
- sqlite3_backup B db2 main db main
- B step 200
- set rc [B finish]
- if {[string match SQLITE_IOERR_* $rc]} {set rc SQLITE_IOERR}
- if {$rc != "SQLITE_OK"} { error [sqlite3_test_errstr $rc] }
- set {} {}
-} -test {
- faultsim_test_result {0 {}} {1 {sqlite3_backup_init() failed}}
+# If TEMP_STORE is 2 or greater, then the database [db2] will be created
+# as an in-memory database. This test will not work in that case, as it
+# is not possible to change the page-size of an in-memory database. Even
+# using the backup API.
+#
+if {$TEMP_STORE<2} {
+ do_faultsim_test pagerfault-14b -prep {
+ catch { db2 close }
+ faultsim_restore_and_reopen
+ sqlite3 db2 ""
+ db2 eval { PRAGMA page_size = 4096; CREATE TABLE xx(a) }
+ } -body {
+ sqlite3_backup B db2 main db main
+ B step 200
+ set rc [B finish]
+ if {[string match SQLITE_IOERR_* $rc]} {set rc SQLITE_IOERR}
+ if {$rc != "SQLITE_OK"} { error [sqlite3_test_errstr $rc] }
+ set {} {}
+ } -test {
+ faultsim_test_result {0 {}} {1 {sqlite3_backup_init() failed}}
+ }
}
+
do_faultsim_test pagerfault-14c -prep {
catch { db2 close }
faultsim_restore_and_reopen
set alltests [test_set $alltests -exclude {
all.test async.test quick.test veryquick.test
memleak.test permutations.test soak.test fts3.test
- mallocAll.tes rtree.test
+ mallocAll.test rtree.test
}]
set allquicktests [test_set $alltests -exclude {