]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Changes to test scripts so that the "inmemory_journal" permutation works with [ef126e...
authordan <dan@noemail.net>
Thu, 8 Jul 2010 09:44:42 +0000 (09:44 +0000)
committerdan <dan@noemail.net>
Thu, 8 Jul 2010 09:44:42 +0000 (09:44 +0000)
FossilOrigin-Name: f553c8ed04b4b2df8ff4929e0754e3ffd1d01ba4

18 files changed:
manifest
manifest.uuid
test/alter2.test
test/analyze.test
test/autovacuum.test
test/cache.test
test/capi3.test
test/capi3c.test
test/corrupt2.test
test/incrvacuum.test
test/index3.test
test/main.test
test/misc5.test
test/permutations.test
test/pragma.test
test/shared3.test
test/tester.tcl
test/trigger7.test

index 9248208cc16b2f57ce7d503ec4be6067fa017b5e..dc523d2ff937c57061bb237ab6aa39c822529c89 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Add\stests\sto\swalmode.test.
-D 2010-07-08T06:22:26
+C Changes\sto\stest\sscripts\sso\sthat\sthe\s"inmemory_journal"\spermutation\sworks\swith\s[ef126e775a].
+D 2010-07-08T09:44:42
 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
 F Makefile.in c4270a1cd7cd70a263b7e96a258aa90e9c3618eb
 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@@ -234,11 +234,11 @@ F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2
 F test/alias.test 4529fbc152f190268a15f9384a5651bbbabc9d87
 F test/all.test 6745008c144bd2956d58864d21f7b304689c1cce
 F test/alter.test 15f9224868b290d6bf7a63f31437f31aee070636
-F test/alter2.test bc69a33f1c9f7e5ba4bf6348ec1962a6b7367bdc
+F test/alter2.test 52096b711afe5f219e575c6db7a70f7a35df4f63
 F test/alter3.test 25b95a136708f22b87184fa6a4309eea03d65153
 F test/alter4.test 9386ffd1e9c7245f43eca412b2058d747509cc1f
 F test/altermalloc.test e81ac9657ed25c6c5bb09bebfa5a047cd8e4acfc
-F test/analyze.test ad5329098fe4de4a96852231d53e3e9e6283ad4b
+F test/analyze.test bf692e7db414f268a136bade16c03a1bdbb9240c
 F test/analyze2.test 59dac6c399c0c5d1a90a11ee7cc606743fb6db93
 F test/analyze3.test 506203875258ffd8ffa879b9c3c5432022d2b6d8
 F test/async.test 028bd42d4ff9c69b62953ea6f718e827f37e1d79
@@ -255,7 +255,7 @@ F test/auth2.test 270baddc8b9c273682760cffba6739d907bd2882
 F test/auth3.test a4755e6a2a2fea547ffe63c874eb569e60a28eb5
 F test/autoinc.test 85ef3180a737e6580086a018c09c6f1a52759b46
 F test/autoindex1.test ffb06a246e2c1f89cfbe3d93eca513c9e78d4063
-F test/autovacuum.test 25f891bc343a8bf5d9229e2e9ddab9f31a9ab5ec
+F test/autovacuum.test bb7c0885e6f8f1d633045de48f2b66082162766d
 F test/autovacuum_ioerr2.test 598b0663074d3673a9c1bc9a16e80971313bafe6
 F test/avtrans.test 0252654f4295ddda3b2cce0e894812259e655a85
 F test/backup.test 200e64bd91244b73ca8094bc1e03dfc83cc94c2e
@@ -279,11 +279,11 @@ F test/boundary3.test 56ef82096b4329aca2be74fa1e2b0f762ea0eb45
 F test/boundary4.tcl 0bb4b1a94f4fc5ae59b79b9a2b7a140c405e2983
 F test/boundary4.test 89e02fa66397b8a325d5eb102b5806f961f8ec4b
 F test/busy.test 76b4887f8b9160ba903c1ac22e8ff406ad6ae2f0
-F test/cache.test f19e0c8dbd7a1721856dafe3801cd5ea02def4f5
+F test/cache.test c4288607b54f2702858492fc4b92828336a1812f
 F test/capi2.test 00032d7504b9c14f1b36331670c5e7b0f73e3c5d
-F test/capi3.test 952ef8382398a6f4e0106b471cd8a197e55c8103
+F test/capi3.test 1945a2ba75e3f4c49d5beb8fc092115b6292d471
 F test/capi3b.test efb2b9cfd127efa84433cd7a2d72ce0454ae0dc4
-F test/capi3c.test d9a828c8bc759f755c8463e1a3cf60795a34dae0
+F test/capi3c.test bea67403a5e37a4b33230ee4723e315a2ffb31e7
 F test/capi3d.test 57d83b690d7364bde02cddbf8339a4b50d80ce23
 F test/cast.test 166951664a0b0a2e0f8fb5997a152490c6363932
 F test/check.test db2b29d557544347d28e25b8406f5d5ecc3d1bc3
@@ -302,7 +302,7 @@ F test/colmeta.test 087c42997754b8c648819832241daf724f813322
 F test/colname.test 08948a4809d22817e0e5de89c7c0a8bd90cb551b
 F test/conflict.test 0ed68b11f22721052d880ee80bd528a0e0828236
 F test/corrupt.test 1a5bef8b2d178859af69814ecedcd37219a89968
-F test/corrupt2.test ada8f27dd4fd237e010bf46453d5ff114a8ca23a
+F test/corrupt2.test 808a28d0ca3b97e9aa8c91cd2b485ea2700b76d1
 F test/corrupt3.test a399dacccb91c732f6b071c913e70d195af8c058
 F test/corrupt4.test b963f9e01e0f92d15c76fb0747876fd4b96dc30a
 F test/corrupt5.test c23da7bfb20917cc7fdbb13ee25c7cc4e9fffeff
@@ -437,12 +437,12 @@ F test/in4.test 64f3cc1acde1b9161ccdd8e5bde3daefdb5b2617
 F test/incrblob.test e557f262cd2cc088e6bb4d154575a1bbe242edcd
 F test/incrblob2.test edc3a96e557bd61fb39acc8d2edd43371fbbaa19
 F test/incrblob_err.test c577c91d4ed9e8336cdb188b15d6ee2a6fe9604e
-F test/incrvacuum.test d0fb6ef6d747ef5c5ebe878aafa72dd3e178856b
+F test/incrvacuum.test 453d1e490d8f5ad2c9b3a54282a0690d6ae56462
 F test/incrvacuum2.test 9e22a794899c91b7d8c8e12eaacac8df249faafe
 F test/incrvacuum_ioerr.test 57d2f5777ab13fa03b87b262a4ea1bad5cfc0291
 F test/index.test cbf301cdb2da43e4eac636c3400c2439af1834ad
 F test/index2.test ee83c6b5e3173a3d7137140d945d9a5d4fdfb9d6
-F test/index3.test 727d55dceb9a4ec36675057bb5becfc265e28ca6
+F test/index3.test 423a25c789fc8cc51aaf2a4370bbdde2d9e9eed7
 F test/indexedby.test 946ca2628a521f4ced0520421a0788345abaf3dc
 F test/init.test 15c823093fdabbf7b531fe22cf037134d09587a7
 F test/insert.test aef273dd1cee84cc92407469e6bd1b3cdcb76908
@@ -487,7 +487,7 @@ F test/lock6.test 8df56060f396151777390982422c800d026e1722
 F test/lock7.test 64006c84c1c616657e237c7ad6532b765611cf64
 F test/lock_common.tcl e7013c6208f5fa818735c324eb0249b4c0f317cf
 F test/lookaside.test 382e7bc2fab23d902c8eafb1b9ed7ababfff75a6
-F test/main.test 2be2352ac77ac5b238c6337a5469aeeef57677e6
+F test/main.test 9d7bbfcc1b52c88ba7b2ba6554068ecf9939f252
 F test/make-where7.tcl 05c16b5d4f5d6512881dfec560cb793915932ef9
 F test/malloc.test 927e6c8668a1d48c23aa6189bda02aff5a1b83de
 F test/malloc3.test 4bc57f850b212f706f3e1b37c4eced1d5a727cd1
@@ -522,7 +522,7 @@ F test/misc1.test e56baf44656dd68d6475a4b44521045a60241e9b
 F test/misc2.test a628db7b03e18973e5d446c67696b03de718c9fd
 F test/misc3.test 72c5dc87a78e7865c5ec7a969fc572913dbe96b6
 F test/misc4.test 91e8ed25c092c2bb4e0bb01864631e2930f8d7de
-F test/misc5.test 6a5c1e3217a95b0db05ff9a0f1ecb5ce9043ffef
+F test/misc5.test 45b2e3ed5f79af2b4f38ae362eaf4c49674575bd
 F test/misc6.test 953cc693924d88e6117aeba16f46f0bf5abede91
 F test/misc7.test c5f4e6a82e04e71820c0f9f64f6733f04c8ae0ae
 F test/misuse.test 30b3a458e5a70c31e74c291937b6c82204c59f33
@@ -543,8 +543,8 @@ F test/pageropt.test 8146bf448cf09e87bb1867c2217b921fb5857806
 F test/pagesize.test 76aa9f23ecb0741a4ed9d2e16c5fa82671f28efb
 F test/pcache.test 4118a183908ecaed343a06fcef3ba82e87e0129d
 F test/pcache2.test 0d85f2ab6963aee28c671d4c71bec038c00a1d16
-F test/permutations.test a540a4ede33a306e77a2945901f398ec518fd668
-F test/pragma.test a869b428b861f9dbbdb25461a104e8e830fc3026
+F test/permutations.test 8be8c377dab57c1dc2181f49d2ce3c25d745ecfd
+F test/pragma.test ed78d200f65c6998df51196cb8c39d5300570f24
 F test/pragma2.test 5364893491b9231dd170e3459bfc2e2342658b47
 F test/printf.test 05970cde31b1a9f54bd75af60597be75a5c54fea
 F test/progress.test 5b075c3c790c7b2a61419bc199db87aaf48b8301
@@ -584,7 +584,7 @@ F test/selectC.test 33bb5673a8141df193c6fd56e6de7fea38b8d2ee
 F test/server1.test f5b790d4c0498179151ca8a7715a65a7802c859c
 F test/shared.test 3b448dc0f7a9356e641894ed81c27599f39d809d
 F test/shared2.test d6ba4ca1827ea36a1ac23a99e3c36eeac9165450
-F test/shared3.test 9c880afc081d797da514ef64bccf36f3fce2f09c
+F test/shared3.test d69bdd5f156580876c5345652d21dc2092e85962
 F test/shared4.test d0fadacb50bb6981b2fb9dc6d1da30fa1edddf83
 F test/shared6.test 990d2584b5db28e6e1f24742c711b26e59757b67
 F test/shared7.test 8114027cb5e8c376e467115703d46e5ac4e77739
@@ -615,7 +615,7 @@ F test/tclsqlite.test 8c154101e704170c2be10f137a5499ac2c6da8d3
 F test/tempdb.test 800c36623d67a2ad1f58784b9c5644e0405af6e6
 F test/temptable.test f42121a0d29a62f00f93274464164177ab1cc24a
 F test/temptrigger.test b0273db072ce5f37cf19140ceb1f0d524bbe9f05
-F test/tester.tcl 9ddc36ee951a4b7aebee17f28e2880c8a6e57861
+F test/tester.tcl 17aa13b61d4d6088b08c543942194bdc3cae685a
 F test/thread001.test a3e6a7254d1cb057836cb3145b60c10bf5b7e60f
 F test/thread002.test afd20095e6e845b405df4f2c920cb93301ca69db
 F test/thread003.test b824d4f52b870ae39fc5bae4d8070eca73085dca
@@ -736,7 +736,7 @@ F test/trigger3.test d2c60d8be271c355d61727411e753181e877230a
 F test/trigger4.test 8e90ee98cba940cd5f96493f82e55083806ab8a0
 F test/trigger5.test 619391a3e9fc194081d22cefd830d811e7badf83
 F test/trigger6.test 0e411654f122552da6590f0b4e6f781048a4a9b9
-F test/trigger7.test 72feaf8dbc52cea84de0c3e6ce7559ff19c479af
+F test/trigger7.test b39e6dee1debe0ff9c2ef66326668f149f07c9c4
 F test/trigger8.test 30cb0530bd7c4728055420e3f739aa00412eafa4
 F test/trigger9.test 5b0789f1c5c4600961f8e68511b825b87be53e31
 F test/triggerA.test eaf11a29db2a11967d2d4b49d37f92bce598194e
@@ -832,7 +832,7 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
-P 0d53da9451fe016adc57c7c077fdbbbdb1c8d6ee
-R b58a5775e3725a5f103ee1708fc4f9f4
+P 5aa2bdb502d70ccbc249a6b38b8a07b91c4ccd26
+R 9dc833f21280e696a7395bd9db154b17
 U dan
-Z 0c9a27a3186e4aa1ec68825ca3150943
+Z f94371008135c6c987152f6a482f93e2
index d6842d488d7ba9c70b740c0e1dc8ab5a56bc9dbd..475632585e79e5c8fedc14eec8dea1c8607d908f 100644 (file)
@@ -1 +1 @@
-5aa2bdb502d70ccbc249a6b38b8a07b91c4ccd26
\ No newline at end of file
+f553c8ed04b4b2df8ff4929e0754e3ffd1d01ba4
\ No newline at end of file
index 487acef1cd9b2b3d9b75d33beb56fd3eaefccd27..b5d700de9dbe93b5794a38c3cac3e6f55307a185 100644 (file)
@@ -254,7 +254,8 @@ ifcapable trigger {
 do_test alter2-4.1 {
   db close
   set_file_format 5
-  sqlite3 db test.db
+  catch { sqlite3 db test.db }
+  set {} {}
 } {}
 do_test alter2-4.2 {
   # We have to run two queries here because the Tcl interface uses
index 867cf0f6bafbbd312f8f7bded3442379c23887f9..5bd653a93bf5305f6dd0a3f39cfd0eaeafa8c3f5 100644 (file)
@@ -296,7 +296,7 @@ do_test analyze-99.1 {
     UPDATE sqlite_master SET sql='nonsense' WHERE name='sqlite_stat1';
   }
   db close
-  sqlite3 db test.db
+  catch { sqlite3 db test.db }
   catchsql {
     ANALYZE
   }
index b8437072b6c3015a7237b19917ac37613a723033..57dfd52df1489f2d541ce797924baa9653ef755b 100644 (file)
@@ -654,12 +654,14 @@ do_test autovacuum-8.1 {
   sqlite3 db2 test.db
   db eval {PRAGMA auto_vacuum}
 } {1}
-do_test autovacuum-8.2 {
-  db eval {BEGIN EXCLUSIVE}
-  catchsql {PRAGMA auto_vacuum} db2
-} {1 {database is locked}}
-catch {db2 close}
-catch {db eval {COMMIT}}
+if {[permutation] == ""} {
+  do_test autovacuum-8.2 {
+    db eval {BEGIN EXCLUSIVE}
+    catchsql {PRAGMA auto_vacuum} db2
+  } {1 {database is locked}}
+  catch {db2 close}
+  catch {db eval {COMMIT}}
+}
 
 do_test autovacuum-9.1 {
   execsql {
index d24054a1e69d6329a4493a14d3896d213af1ea74..3f42a47d275c7c8fe70b419801492b09b3ff2338 100644 (file)
@@ -28,9 +28,9 @@ proc pager_cache_size {db} {
   return $stats(page)
 }
 
-do_test cache-1.1 {
-  pager_cache_size db
-} {0}
+if {[permutation] == ""} { 
+  do_test cache-1.1 { pager_cache_size db } {0}
+}
 
 do_test cache-1.2 {
   execsql {
index 76c738c15199c5ce4bb67333cbb2ca44ce2dced7..4f5e02ce86d9d798d3b7069c41be3c6cd14df8a2 100644 (file)
@@ -685,7 +685,7 @@ if {![sqlite3 -has-codec]} {
     set_file_format 5
   } {}
   do_test capi3-7.2 {
-    sqlite3 db test.db
+    catch { sqlite3 db test.db }
     catchsql {
       SELECT * FROM sqlite_master;
     }
@@ -713,7 +713,7 @@ if {![sqlite3 -has-codec]} {
     db close
   } {}
   do_test capi3-8.3 {
-    sqlite3 db test.db
+    catch { sqlite3 db test.db }
     catchsql {
       SELECT * FROM sqlite_master;
     }
@@ -732,7 +732,7 @@ if {![sqlite3 -has-codec]} {
     db close
   } {};
   do_test capi3-8.5 {
-    sqlite3 db test.db
+    catch { sqlite3 db test.db }
     catchsql {
       SELECT * FROM sqlite_master;
     }
index cd76fb7e40f8cf777bed70d408e0ff13dbb40b69..af9794380f251d72023b8a5ae1dc703fc8731709 100644 (file)
@@ -658,7 +658,7 @@ if {![sqlite3 -has-codec]} {
     set_file_format 5
   } {}
   do_test capi3c-7.2 {
-    sqlite3 db test.db
+    catch { sqlite3 db test.db }
     catchsql {
       SELECT * FROM sqlite_master;
     }
@@ -686,7 +686,7 @@ if {![sqlite3 -has-codec]} {
     db close
   } {}
   do_test capi3c-8.3 {
-    sqlite3 db test.db
+    catch { sqlite3 db test.db }
     catchsql {
       SELECT * FROM sqlite_master;
     }
@@ -705,7 +705,7 @@ if {![sqlite3 -has-codec]} {
     db close
   } {};
   do_test capi3c-8.5 {
-    sqlite3 db test.db
+    catch { sqlite3 db test.db }
     catchsql {
       SELECT * FROM sqlite_master;
     }
index c4880c5c5775a76789fbbb1e768c65ee4d38660b..bdbc0165f47ceaf16b8115155e12fafcd13638fd 100644 (file)
@@ -23,6 +23,10 @@ source $testdir/tester.tcl
 #
 do_not_use_codec
 
+set presql ""
+catch { set presql "$::G(perm:presql);" }
+unset -nocomplain ::G(perm:presql)
+
 # The following tests - corrupt2-1.* - create some databases corrupted in
 # specific ways and ensure that SQLite detects them as corrupt.
 #
@@ -46,9 +50,10 @@ do_test corrupt2-1.2 {
   close $f
 
   sqlite3 db2 corrupt.db
-  catchsql {
+  catchsql "
+    $::presql
     SELECT * FROM sqlite_master;
-  } db2
+  " db2
 } {1 {file is encrypted or is not a database}}
 
 do_test corrupt2-1.3 {
@@ -65,9 +70,10 @@ do_test corrupt2-1.3 {
   close $f
 
   sqlite3 db2 corrupt.db
-  catchsql {
+  catchsql "
+    $::presql
     SELECT * FROM sqlite_master;
-  } db2
+  " db2
 } {1 {file is encrypted or is not a database}}
 
 do_test corrupt2-1.4 {
@@ -84,9 +90,10 @@ do_test corrupt2-1.4 {
   close $f
 
   sqlite3 db2 corrupt.db
-  catchsql {
+  catchsql "
+    $::presql
     SELECT * FROM sqlite_master;
-  } db2
+  " db2
 } {1 {database disk image is malformed}}
 
 do_test corrupt2-1.5 {
@@ -106,9 +113,10 @@ do_test corrupt2-1.5 {
   close $f
 
   sqlite3 db2 corrupt.db
-  catchsql {
+  catchsql "
+    $::presql
     SELECT * FROM sqlite_master;
-  } db2
+  " db2
 } {1 {database disk image is malformed}}
 db2 close
 
@@ -120,7 +128,8 @@ do_test corrupt2-2.1 {
   copy_file test.db corrupt.db
 
   sqlite3 db2 corrupt.db 
-  execsql {
+  execsql "
+    $::presql
     CREATE INDEX a1 ON abc(a);
     CREATE INDEX a2 ON abc(b);
     PRAGMA writable_schema = 1;
@@ -128,13 +137,14 @@ do_test corrupt2-2.1 {
       SET name = 'a3', sql = 'CREATE INDEX a3' || substr(sql, 16, 10000)
       WHERE type = 'index';
     PRAGMA writable_schema = 0;
-  } db2
+  " db2
 
   db2 close
   sqlite3 db2 corrupt.db 
-  catchsql {
+  catchsql "
+    $::presql
     SELECT * FROM sqlite_master;
-  } db2
+  " db2
 } {1 {malformed database schema (a3) - index a3 already exists}}
 
 db2 close
@@ -144,7 +154,8 @@ do_test corrupt2-3.1 {
   file delete -force corrupt.db-journal
   sqlite3 db2 corrupt.db 
 
-  execsql {
+  execsql "
+    $::presql
     PRAGMA auto_vacuum = 1;
     PRAGMA page_size = 1024;
     CREATE TABLE t1(a, b, c);
@@ -154,7 +165,7 @@ do_test corrupt2-3.1 {
     INSERT INTO t2 SELECT * FROM t2;
     INSERT INTO t2 SELECT * FROM t2;
     INSERT INTO t2 SELECT * FROM t2;
-  } db2
+  " db2
 
   db2 close
 
@@ -173,9 +184,10 @@ do_test corrupt2-3.1 {
   close $fd
 
   sqlite3 db2 corrupt.db 
-  catchsql {
+  catchsql "
+    $::presql
     DROP TABLE t1;
-  } db2
+  " db2
 } {1 {database disk image is malformed}}
 
 do_test corrupt2-4.1 {
@@ -192,7 +204,8 @@ do_test corrupt2-5.1 {
   file delete -force corrupt.db-journal
   sqlite3 db2 corrupt.db 
 
-  execsql {
+  execsql "
+    $::presql
     PRAGMA auto_vacuum = 0;
     PRAGMA page_size = 1024;
     CREATE TABLE t1(a, b, c);
@@ -203,7 +216,7 @@ do_test corrupt2-5.1 {
     INSERT INTO t2 SELECT * FROM t2;
     INSERT INTO t2 SELECT * FROM t2;
     INSERT INTO t1 SELECT * FROM t2;
-  } db2
+  " db2
 
   db2 close
 
@@ -224,6 +237,7 @@ do_test corrupt2-5.1 {
   close $fd
 
   sqlite3 db2 corrupt.db 
+  db2 eval $::presql
   db2 eval {SELECT rowid FROM t1} {
     set result [db2 eval {pragma integrity_check}]
     break
@@ -247,6 +261,7 @@ proc corruption_test {args} {
   file delete -force corrupt.db-journal
 
   sqlite3 db corrupt.db 
+  db eval $::presql
   eval $A(-tclprep)
   db eval $A(-sqlprep)
   db close
@@ -281,7 +296,7 @@ ifcapable autovacuum {
     hexio_write corrupt.db [expr 1024*5] 00000008
   } -test {
     do_test corrupt2-6.1 {
-      catchsql { pragma incremental_vacuum = 1 }
+      catchsql " $::presql pragma incremental_vacuum = 1 "
     } {1 {database disk image is malformed}}
   }
 
@@ -302,7 +317,7 @@ ifcapable autovacuum {
     hexio_write corrupt.db [expr 1024*2 + 8] 00000009
   } -test {
     do_test corrupt2-6.2 {
-      catchsql { pragma incremental_vacuum = 1 }
+      catchsql " $::presql pragma incremental_vacuum = 1 "
     } {1 {database disk image is malformed}}
   }
 
@@ -323,7 +338,7 @@ ifcapable autovacuum {
     hexio_write corrupt.db [expr 1024 + ($nPage-3)*5] 010000000
   } -test {
     do_test corrupt2-6.3 {
-      catchsql { pragma incremental_vacuum = 1 }
+      catchsql " $::presql pragma incremental_vacuum = 1 "
     } {1 {database disk image is malformed}}
   }
 
@@ -342,10 +357,11 @@ ifcapable autovacuum {
     hexio_write corrupt.db 28 00000000
   } -test {
     do_test corrupt2-6.4 {
-      catchsql { 
+      catchsql " 
+        $::presql 
         BEGIN EXCLUSIVE;
         COMMIT;
-      }
+      "
     } {1 {database disk image is malformed}}
   }
 }
@@ -379,7 +395,7 @@ corruption_test -sqlprep $sqlprep -corrupt {
   close $fd
 } -test {
   do_test corrupt2-7.1 {
-    catchsql { SELECT b FROM t1 ORDER BY b ASC }
+    catchsql " $::presql SELECT b FROM t1 ORDER BY b ASC "
   } {1 {database disk image is malformed}}
 }
 
@@ -400,7 +416,7 @@ corruption_test -sqlprep $sqlprep -corrupt {
   close $fd
 } -test {
   do_test corrupt2-7.1 {
-    catchsql { SELECT b FROM t1 ORDER BY b DESC }
+    catchsql " $::presql SELECT b FROM t1 ORDER BY b DESC "
   } {1 {database disk image is malformed}}
 }
 
@@ -418,7 +434,7 @@ corruption_test -sqlprep $sqlprep -corrupt {
   close $fd
 } -test {
   do_test corrupt2-8.1 {
-    catchsql { SELECT * FROM t1 WHERE rowid=1000 }
+    catchsql " $::presql SELECT * FROM t1 WHERE rowid=1000 "
   } {1 {database disk image is malformed}}
 }
 
@@ -446,7 +462,7 @@ corruption_test -sqlprep {
   close $fd
 } -test {
   do_test corrupt2-9.1 {
-    catchsql { SELECT sql FROM sqlite_master }
+    catchsql " $::presql SELECT sql FROM sqlite_master "
   } {1 {database disk image is malformed}}
 }
 
@@ -457,7 +473,7 @@ corruption_test -sqlprep {
   UPDATE sqlite_master SET rootpage = NULL WHERE name = 't2';
 } -test {
   do_test corrupt2-10.1 {
-    catchsql { SELECT * FROM t2 }
+    catchsql " $::presql SELECT * FROM t2 "
   } {1 {malformed database schema (t2)}}
   do_test corrupt2-10.2 {
     sqlite3_errcode db
@@ -482,7 +498,7 @@ corruption_test -sqlprep {
   hexio_write corrupt.db 24   12345678
 } -test {
   do_test corrupt2-11.1 {
-    catchsql { PRAGMA incremental_vacuum }
+    catchsql " $::presql PRAGMA incremental_vacuum "
   } {1 {database disk image is malformed}}
 }
 corruption_test -sqlprep {
@@ -503,7 +519,7 @@ corruption_test -sqlprep {
   hexio_write corrupt.db 24   12345678
 } -test {
   do_test corrupt2-12.1 {
-    catchsql { PRAGMA incremental_vacuum }
+    catchsql " $::presql PRAGMA incremental_vacuum "
   } {1 {database disk image is malformed}}
 }
 
@@ -521,7 +537,7 @@ ifcapable autovacuum {
       INSERT INTO t1 VALUES(NULL, randstr(50,50));
     }
     for {set ii 0} {$ii < 10} {incr ii} {
-      db eval { INSERT INTO t1 SELECT NULL, randstr(50,50) FROM t1 }
+      db eval " $::presql INSERT INTO t1 SELECT NULL, randstr(50,50) FROM t1 "
     }
   } -corrupt {
     do_test corrupt2-13.1 {
index fe10acb3d92d5cc39ce18630cf22e1744b8ae09d..d037d8e7d93f8da6ccec9f3d52afa1c5a710ee74 100644 (file)
@@ -727,15 +727,18 @@ do_test incrvacuum-13.5 {
 # Verify that the incremental_vacuum pragma fails gracefully if it
 # is used against an invalid database file.
 #
-do_test incrvacuum-14.1 {
-  set out [open invalid.db w]
-  puts $out "This is not an SQLite database file"
-  close $out
-  sqlite3 db3 invalid.db
-  catchsql {
-    PRAGMA incremental_vacuum(10);
-  } db3
-} {1 {file is encrypted or is not a database}}
+if {[permutation] == ""} {
+  do_test incrvacuum-14.1 {
+    set out [open invalid.db w]
+    puts $out "This is not an SQLite database file"
+    close $out
+    sqlite3 db3 invalid.db
+    catchsql {
+      PRAGMA incremental_vacuum(10);
+    } db3
+  } {1 {file is encrypted or is not a database}}
+  db3 close
+}
 
 do_test incrvacuum-15.1 {
   db close
@@ -780,5 +783,4 @@ do_test incrvacuum-15.1 {
   }
 } {ok}
 
-db3 close
 finish_test
index 9549f55b0599f45e62b84ab469e27e7ee04209eb..161ddecc01277b2d94572fd1b0f190ad555e5cf2 100644 (file)
@@ -49,10 +49,8 @@ do_test index3-99.1 {
     UPDATE sqlite_master SET sql='nonsense';
   }
   db close
-  sqlite3 db test.db
-  catchsql {
-    DROP INDEX i1;
-  }
+  catch { sqlite3 db test.db }
+  catchsql { DROP INDEX i1 }
 } {1 {malformed database schema (t1) - near "nonsense": syntax error}}
 
 finish_test
index 6248e11bb2dbfff3308db40cbb72a3f3ff428d8b..dbf90410623d5a0a3397d4e7dbf1daf70d17882d 100644 (file)
@@ -298,15 +298,17 @@ ifcapable {trigger} {
 
 # Try to open a database with a corrupt database file.
 #
-do_test main-2.0 {
-  catch {db close}
-  file delete -force test.db
-  set fd [open test.db w]
-  puts $fd hi!
-  close $fd
-  set v [catch {sqlite3 db test.db} msg]
-  if {$v} {lappend v $msg} {lappend v {}}
-} {0 {}}
+if {[permutation] == ""} {
+  do_test main-2.0 {
+    catch {db close}
+    file delete -force test.db
+    set fd [open test.db w]
+    puts $fd hi!
+    close $fd
+    set v [catch {sqlite3 db test.db} msg]
+    if {$v} {lappend v $msg} {lappend v {}}
+  } {0 {}}
+}
 
 # Here are some tests for tokenize.c.  
 #
index a28f4918afa0ed189964bf7cb922252a610446b6..34b2284bc16bc0cd74eabe1f9d751ce10beb6282 100644 (file)
@@ -511,17 +511,19 @@ ifcapable subquery {
 # Ticket #1370.  Do not overwrite small files (less than 1024 bytes)
 # when trying to open them as a database.
 #
-do_test misc5-4.1 {
-  db close
-  file delete -force test.db
-  set fd [open test.db w]
-  puts $fd "This is not really a database"
-  close $fd
-  sqlite3 db test.db
-  catchsql {
-    CREATE TABLE t1(a,b,c);
-  }
-} {1 {file is encrypted or is not a database}}
+if {[permutation] == ""} {
+  do_test misc5-4.1 {
+    db close
+    file delete -force test.db
+    set fd [open test.db w]
+    puts $fd "This is not really a database"
+    close $fd
+    sqlite3 db test.db
+    catchsql {
+      CREATE TABLE t1(a,b,c);
+    }
+  } {1 {file is encrypted or is not a database}}
+}
 
 # Ticket #1371.  Allow floating point numbers of the form .N  or N.
 #
index 67b089bbbd381fa8ad6205c775dbf990e66a9abb..582dcc802df2f88a9f54b70ae87c924f403a7c46 100644 (file)
@@ -486,6 +486,9 @@ test_suite "inmemory_journal" -description {
   pager.test exclusive.test jrnlmode.test sync.test misc1.test 
   journal1.test conflict.test crash8.test tkt3457.test io.test
 
+  pager1.test async4.test corrupt.test filefmt.test pager2.test
+  corrupt5.test corruptA.test pageropt.test
+
   # Exclude stmt.test, which expects sub-journals to use temporary files.
   stmt.test
 
index 55319dda7622c02b6c8649ef318969bbe46205ef..3e926ebd6640c9fa1b36a86a53d0ed13288bc049 100644 (file)
@@ -640,13 +640,15 @@ do_test pragma-7.1.2 {
 } {}
 } ;# ifcapable schema_pragmas
 ifcapable {utf16} {
-  do_test pragma-7.2 {
-    db close
-    sqlite3 db test.db
-    catchsql {
-      pragma encoding=bogus;
-    }
-  } {1 {unsupported encoding: bogus}}
+  if {[permutation] == ""} {
+    do_test pragma-7.2 {
+      db close
+      sqlite3 db test.db
+      catchsql {
+        pragma encoding=bogus;
+      }
+    } {1 {unsupported encoding: bogus}}
+  }
 }
 ifcapable tempdb {
   do_test pragma-7.3 {
index d9d5fa8ccb0677e72aec3aa623c5f0596517e390..8f9eae9b7a33174d26bc9a8b34bee88260bd05ca 100644 (file)
@@ -90,12 +90,12 @@ do_test shared3-2.8 {
   execsql {
     INSERT INTO t1 VALUES(10, randomblob(10000))
   } db1
-  sqlite3 db3 $alternative_name
 
   # If the pager-cache is really still limited to 10 pages, then the INSERT
   # statement above should have caused the pager to grab an exclusive lock
   # on the database file so that the cache could be spilled.
   #
+  catch { sqlite3 db3 $alternative_name }
   catchsql {select count(*) from sqlite_master} db3
 } {1 {database is locked}}
 
index 1e12835f255178e0ee9c210933ed098c028fd4fc..3e7e7481fdbd9fcd5e56f507606d3797ec544883 100644 (file)
@@ -105,11 +105,9 @@ if {[info command sqlite_orig]==""} {
       }
 
       set res [uplevel 1 sqlite_orig $args]
-
       if {[info exists ::G(perm:presql)]} {
         [lindex $args 0] eval $::G(perm:presql)
       }
-
       set res
     } else {
       # This command is not opening a new database connection. Pass the 
@@ -120,6 +118,13 @@ if {[info command sqlite_orig]==""} {
   }
 }
 
+proc execpresql {handle args} {
+  trace remove execution $handle enter [list execpresql $handle]
+  if {[info exists ::G(perm:presql)]} {
+    $handle eval $::G(perm:presql)
+  }
+}
+
 # This command should be called after loading tester.tcl from within
 # all test scripts that are incompatible with encryption codecs.
 #
index 2c79fa06ce3a43f547f8523446863e0345000658..8fde2004f87bd0c283b3a1e3ee25d1ac1fbb3c4d 100644 (file)
@@ -112,10 +112,8 @@ do_test trigger7-99.1 {
     UPDATE sqlite_master SET sql='nonsense';
   }
   db close
-  sqlite3 db test.db
-  catchsql {
-    DROP TRIGGER t2r5
-  }
+  catch { sqlite3 db test.db }
+  catchsql { DROP TRIGGER t2r5 }
 } {1 {malformed database schema (t2r12) - near "nonsense": syntax error}}
 
 finish_test