]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix some test failures found running releasetest.tcl.
authordan <dan@noemail.net>
Tue, 14 Sep 2010 10:53:45 +0000 (10:53 +0000)
committerdan <dan@noemail.net>
Tue, 14 Sep 2010 10:53:45 +0000 (10:53 +0000)
FossilOrigin-Name: 56a9ce7774a6f163a62684dd8d5357ce16a07de1

manifest
manifest.uuid
test/exclusive2.test
test/incrblob.test
test/pagerfault.test
test/permutations.test

index aab5c8ef2908af76c73c00b8a5c9f3fca498e2aa..c6227eb17fd823aa112bb6cd8001366306ac242e 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-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
@@ -356,7 +356,7 @@ F test/enc2.test 6d91a5286f59add0cfcbb2d0da913b76f2242398
 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
@@ -446,7 +446,7 @@ F test/in.test 19b642bb134308980a92249750ea4ce3f6c75c2d
 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
@@ -551,13 +551,13 @@ F test/openv2.test af02ed0a9cbc0d2a61b8f35171d4d117e588e4ec
 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
@@ -857,7 +857,7 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
 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
index 45e01d1bdbdbadc85372663418dab9c88dc72e73..af7cfa2e2edde01c2ff2f94eafba1fddfb8525bb 100644 (file)
@@ -1 +1 @@
-6ba6e59a9d528fb1bdc530d48ab96a2de6e190d6
\ No newline at end of file
+56a9ce7774a6f163a62684dd8d5357ce16a07de1
\ No newline at end of file
index 00e2c16875243a4bc612388edffe23092c756ca4..6c3571d23b66a1f70e0273b6bd2933942d947bde 100644 (file)
@@ -83,7 +83,7 @@ do_test exclusive2-1.0 {
 # 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
@@ -99,6 +99,11 @@ do_test exclusive2-1.0 {
 # 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;
@@ -146,10 +151,12 @@ do_test exclusive2-1.6 {
 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}
index 0865912956fc5064ce5a4171f80b52519f8366a3..e0b278779254d234fb413cf3b0e0d5c022985e7f 100644 (file)
@@ -420,86 +420,94 @@ unset -nocomplain ::text
 #     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)
 
 #-----------------------------------------------------------------------
index 71aa6f72c37f3a0a82ffc69c0cf15563b9fd566d..adea58d500b8187a885aaf131397ec29dad90f70 100644 (file)
@@ -674,21 +674,29 @@ do_faultsim_test pagerfault-14a -prep {
   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
index 06f629468f081ba7b94ffc29ee45067e5b180d15..fb1604ca96bd42a05373d7b309178ed4f4ad7e42 100644 (file)
@@ -95,7 +95,7 @@ if {$::tcl_platform(platform)!="unix"} {
 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 {