]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Many more test cases fixed. Only a few remain.
authordrh <drh@noemail.net>
Mon, 14 Mar 2016 18:34:42 +0000 (18:34 +0000)
committerdrh <drh@noemail.net>
Mon, 14 Mar 2016 18:34:42 +0000 (18:34 +0000)
FossilOrigin-Name: 99b9d7eef68fd6d5c9eecb5fbe3dfe002c1ca4a8

20 files changed:
manifest
manifest.uuid
test/e_walauto.test
test/incrblob.test
test/io.test
test/memsubsys1.test
test/mmap1.test
test/mmap3.test
test/nan.test
test/pageropt.test
test/pragma.test
test/pragma3.test
test/stat.test
test/tclsqlite.test
test/tkt4018.test
test/wal.test
test/wal5.test
test/wal8.test
test/walbak.test
test/walro.test

index 4ca965b9142f8215c81171489590d0f4f4e16f8d..ae6b61c7dee53a5e3045d16dbd209a72e14cd91e 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Many\stest\scases\sfixed\sto\swork\swith\sencryption.
-D 2016-03-14T17:05:04.050
+C Many\smore\stest\scases\sfixed.\s\sOnly\sa\sfew\sremain.
+D 2016-03-14T18:34:42.199
 F Makefile.in f53429fb2f313c099283659d0df6f20f932c861f
 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
 F Makefile.msc df0bf9ff7f8b3f4dd9fb4cc43f92fe58f6ec5c66
@@ -619,7 +619,7 @@ F test/e_update.test f46c2554d915c9197548681e8d8c33a267e84528
 F test/e_uri.test 25385396082b67fd02ae0038b95a3b3575fe0519
 F test/e_vacuum.test 4d5b391384bb7d56bb9337d956f08035332421fc
 F test/e_wal.test ae9a593207a77d711443ee69ffe081fda9243625
-F test/e_walauto.test 280714ddf14e1a47dcbc59d515cd0b026dfd5567
+F test/e_walauto.test 248af31e73c98df23476a22bdb815524c9dc3ba8
 F test/e_walckpt.test 28c371a6bb5e5fe7f31679c1df1763a19d19e8a0
 F test/e_walhook.test 4c0613a0c76e7a9d5c4c211e1b4cbcc1143914df
 F test/enc.test e54531cd6bf941ee6760be041dff19a104c7acea
@@ -790,7 +790,7 @@ F test/in2.test 5d4c61d17493c832f7d2d32bef785119e87bde75
 F test/in3.test 3cbf58c87f4052cee3a58b37b6389777505aa0c0
 F test/in4.test d2b38cba404bc4320f4fe1b595b3d163f212c068
 F test/in5.test acc710c12af118df5f8645eaba9479f5619eed81
-F test/incrblob.test 8a6d31ba3243d7c00cebf0b0d9ff533410e8b412
+F test/incrblob.test c9b96afc292aeff43d6687bcb09b0280aa599822
 F test/incrblob2.test a5ce5ed1d0b01e2ed347245a21170372528af0a5
 F test/incrblob3.test d8d036fde015d4a159cd3cbae9d29003b37227a4
 F test/incrblob4.test f26502a5697893e5acea268c910f16478c2f0fab
@@ -821,7 +821,7 @@ F test/instr.test 737bbf80685232033f3abedc6ae92f75860b5dd2
 F test/intarray.test 066b7d7ac38d25bf96f87f1b017bfc687551cdd4
 F test/interrupt.test dfe9a67a94b0b2d8f70545ba1a6cca10780d71cc
 F test/intpkey.test 7506090fc08e028712a8bf47e5f54111947e3844
-F test/io.test 3a7abcef18727cc0f2399e04b0e8903eccae50f8
+F test/io.test f95bca1783b01ea7761671560d023360d2dfa4cc
 F test/ioerr.test 2a24bd6ed5a8b062e64bfe1f6cf94fb25e92210d
 F test/ioerr2.test 2593563599e2cc6b6b4fcf5878b177bdd5d8df26
 F test/ioerr3.test d3cec5e1a11ad6d27527d0d38573fbff14c71bdd
@@ -889,7 +889,7 @@ F test/manydb.test 28385ae2087967aa05c38624cec7d96ec74feb3e
 F test/mem5.test c6460fba403c5703141348cd90de1c294188c68f
 F test/memdb.test c1f2a343ad14398d5d6debda6ea33e80d0dafcc7
 F test/memleak.test 10b9c6c57e19fc68c32941495e9ba1c50123f6e2
-F test/memsubsys1.test d2b2d6ca37890b26703a2258df8fd66f9869da02
+F test/memsubsys1.test 0311bfb4edd2615e3aa56c7a9cf44574e4229077
 F test/memsubsys2.test 3e4a8d0c05fd3e5fa92017c64666730a520c7e08
 F test/minmax.test 42fbad0e81afaa6e0de41c960329f2b2c3526efd
 F test/minmax2.test b44bae787fc7b227597b01b0ca5575c7cb54d3bc
@@ -904,9 +904,9 @@ F test/misc6.test 953cc693924d88e6117aeba16f46f0bf5abede91
 F test/misc7.test edd0b63e2ee29a256900b0514f6fff27e19e9bb2
 F test/misc8.test 21ac9d35a5e110279ae9e1588b8914f54de1c60b
 F test/misuse.test 3c34719944ba045cc6c188a4852ba04680728912
-F test/mmap1.test 44a5ff1c1bcc7dcf2de50227d1f997e75a8ef1ae
+F test/mmap1.test d2cfc1635171c434dcff0ece2f1c8e0a658807ce
 F test/mmap2.test 9d6dd9ddb4ad2379f29cc78f38ce1e63ed418022
-F test/mmap3.test c92273e16eb8d23c1d55c9815b446bb72ef0512e
+F test/mmap3.test b3c297e78e6a8520aafcc1a8f140535594c9086e
 F test/mmap4.test 2e2b4e32555b58da15176e6fe750f17c9dcf7f93
 F test/mmapfault.test d4c9eff9cd8c2dc14bc43e71e042f175b0a26fe3
 F test/multiplex.test efd015ca0b5b4a57dc9535b8feb1273eebeadb60
@@ -915,7 +915,7 @@ F test/multiplex3.test d228f59eac91839a977eac19f21d053f03e4d101
 F test/multiplex4.test e8ae4c4bd70606a5727743241f13b5701990abe4
 F test/mutex1.test e0a44072d98189003deae4b091106f085d94bea8
 F test/mutex2.test bfeaeac2e73095b2ac32285d2756e3a65e681660
-F test/nan.test e9648b9d007c7045242af35e11a984d4b169443a
+F test/nan.test dacc57f80859c06a433d30839336fe227d2038b3
 F test/nolock.test 96e922d2d3db71c2dd6557c98e8027a28277b415
 F test/notify1.test 669b2b743618efdc18ca4b02f45423d5d2304abf
 F test/notify2.test 2ecabaa1305083856b7c39cf32816b612740c161
@@ -944,16 +944,16 @@ F test/pager4.test a122e9e6925d5b23b31e3dfef8c6a44bbf19590e
 F test/pagerfault.test ae9ee0db5a30aecda9db8290ce3dd12e5f7bbaa1
 F test/pagerfault2.test caf4c7facb914fd3b03a17b31ae2b180c8d6ca1f
 F test/pagerfault3.test 1003fcda009bf48a8e22a516e193b6ef0dd1bbd8
-F test/pageropt.test 6b8f6a123a5572c195ad4ae40f2987007923bbd6
+F test/pageropt.test f8d840f0fed84854dbd12b4c17fb3506eeb8224c
 F test/pagesize.test 5769fc62d8c890a83a503f67d47508dfdc543305
 F test/parser1.test 222b5cbf3e2e659fec1bf7d723488c8b9c94f1d0
 F test/pcache.test c8acbedd3b6fd0f9a7ca887a83b11d24a007972b
 F test/pcache2.test af7f3deb1a819f77a6d0d81534e97d1cf62cd442
 F test/percentile.test 4243af26b8f3f4555abe166f723715a1f74c77ff
 F test/permutations.test 64abe58d53cde4adcfb881e37aa5ea1b2a980e58
-F test/pragma.test 507ac7ef2ea5682241ea0ef041799ca70bb5e0bf
+F test/pragma.test afbf028be1c35b68f57db8eb015c4a3c59d8f28e
 F test/pragma2.test e5d5c176360c321344249354c0c16aec46214c9f
-F test/pragma3.test 6f849ccffeee7e496d2f2b5e74152306c0b8757c
+F test/pragma3.test 3f1984a04657331f838df5c519b443c2088df922
 F test/printf.test b3ff34e73d59124140eaf89f7672e21bc2ca5fcc
 F test/printf2.test 0b61566dd1c0f0b802f59dffa228c5dc5aa6b054
 F test/progress.test ebab27f670bd0d4eb9d20d49cef96e68141d92fb
@@ -1064,7 +1064,7 @@ F test/spellfix3.test 0f9efaaa502a0e0a09848028518a6fb096c8ad33
 F test/sqldiff1.test 8f6bc7c6a5b3585d350d779c6078869ba402f8f5
 F test/sqllimits1.test a74ee2a3740b9f9c2437c246d8fb77354862a142
 F test/sqllog.test 6af6cb0b09f4e44e1917e06ce85be7670302517a
-F test/stat.test acc91e80517fff447ae8adcfd953cfdaa5efc0af
+F test/stat.test b65bad7120c52583b8f0054d99eff80718119a77
 F test/statfault.test f525a7bf633e50afd027700e9a486090684b1ac1
 F test/stmt.test 64844332db69cf1a735fcb3e11548557fc95392f
 F test/subquery.test d7268d193dd33d5505df965399d3a594e76ae13f
@@ -1081,7 +1081,7 @@ F test/tabfunc01.test f977868fa8bb7beb4b2072883190411653473906
 F test/table.test b708f3e5fa2542fa51dfab21fc07b36ea445cb2f
 F test/tableapi.test 2674633fa95d80da917571ebdd759a14d9819126
 F test/tableopts.test dba698ba97251017b7c80d738c198d39ab747930
-F test/tclsqlite.test 7fb866443c7deceed22b63948ccd6f76b52ad054
+F test/tclsqlite.test c6d9f546f79d15d0134c1e06583fb3ee0c3afad3
 F test/tempdb.test bd92eba8f20e16a9136e434e20b280794de3cdb6
 F test/temptable.test d2c9b87a54147161bcd1822e30c1d1cd891e5b30
 F test/temptrigger.test 8ec228b0db5d7ebc4ee9b458fc28cb9e7873f5e1
@@ -1237,7 +1237,7 @@ F test/tkt3929.test cdf67acf5aa936ec4ffead81db87f8a71fe40e59
 F test/tkt3935.test e15261fedb9e30a4305a311da614a5d8e693c767
 F test/tkt3992.test f3e7d548ac26f763b47bc0f750da3d03c81071da
 F test/tkt3997.test a335fa41ca3985660a139df7b734a26ef53284bd
-F test/tkt4018.test 7c2c9ba4df489c676a0a7a0e809a1fb9b2185bd1
+F test/tkt4018.test 18dbc6617f7a4b90e938d1bd6d26ad18daafaf08
 F test/tokenize.test ce430a7aed48fc98301611429595883fdfcab5d7
 F test/tpch01.test 04adbf8d8300fa60a222f28d901abd76e7be6dd4
 F test/trace.test 6f676313e3ebd2a50585036d2f212a3319dd5836
@@ -1303,18 +1303,18 @@ F test/vtabI.test 751b07636700dbdea328e4265b6077ccd6811a3f
 F test/vtab_alter.test 9e374885248f69e251bdaacf480b04a197f125e5
 F test/vtab_err.test 0d4d8eb4def1d053ac7c5050df3024fd47a3fbd8
 F test/vtab_shared.test 5253bff2355a9a3f014c15337da7e177ab0ef8ad
-F test/wal.test 0148c8b3421a25fdb4d9c160e84a681d0646371b
+F test/wal.test 613efec03e517e1775d86b993a54877d2e29a477
 F test/wal2.test 25ae059e900dbb584e0775627e45415ba5940df1
 F test/wal3.test 5dd734147f1f8f958c5261a1f2775d346d7013ce
 F test/wal4.test 4744e155cd6299c6bd99d3eab1c82f77db9cdb3c
-F test/wal5.test 88b5d9a6a3d1532497ee9f4296f010d66f07e33c
+F test/wal5.test 22cb252502c5ff851925add2ca8a7e2af012e1d6
 F test/wal6.test a9d6aa635b9d63607dabdc11406f5f96ca986635
 F test/wal64k.test 163655ecd2cb8afef4737cac2a40fdd2eeaf20b8
 F test/wal7.test 2ae8f427d240099cc4b2dfef63cff44e2a68a1bd
-F test/wal8.test 75c42e1bc4545c277fed212f8fc9b7723cd02216
+F test/wal8.test d9df3fba4caad5854ed69ed673c68482514203c8
 F test/wal9.test 378e76a9ad09cd9bee06c172ad3547b0129a6750
 F test/wal_common.tcl a98f17fba96206122eff624db0ab13ec377be4fe
-F test/walbak.test 8f4466e574dcd3a41cad3f25c45dc15aa74959d8
+F test/walbak.test 018d4e5a3d45c6298d11b99f09a8ef6876527946
 F test/walbig.test f437473a16cfb314867c6b5d1dbcd519e73e3434
 F test/walblock.test be48f3a75eff0b4456209f26b3ce186c2015497d
 F test/walcksum.test bb234a1bb42248b3515d992b719708015c384278
@@ -1328,7 +1328,7 @@ F test/walnoshm.test 84ca10c544632a756467336b7c3b864d493ee496
 F test/waloverwrite.test dad2f26567f1b45174e54fbf9a8dc1cb876a7f03
 F test/walpersist.test 8c6b7e3ec1ba91b5e4dc4e0921d6d3f87cd356a6
 F test/walprotocol.test 059cb75484a1ecf6357a2c1b3324b8156749221e
-F test/walro.test 34422d1d95aaff0388f0791ec20edb34e2a3ed57
+F test/walro.test 4ab7ac01b77c2f894235c699d59e3e3c7f15a160
 F test/walshared.test 0befc811dcf0b287efae21612304d15576e35417
 F test/walslow.test c05c68d4dc2700a982f89133ce103a1a84cc285f
 F test/walthread.test de8dbaf6d9e41481c460ba31ca61e163d7348f8e
@@ -1456,7 +1456,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 1c70aa5c014fc48ab06215992a61c6f92490abe4
-R ac90bb020079fb64a047783b4d5bc228
+P d866fffb8b1af5003a8730ce7029d1edddb24d46
+R 3cbc3d8762ef570c005be926f5a219e3
 U drh
-Z 40fa5f4f9bc49db4a476fd7c95e3e453
+Z 5481496fbfdbf0fce1abf7df1c171e0c
index de29d5f426223b9e897c845d7e4e8629e05a7a8b..fd9549389f11beff4dadc95e7403c824e717ab13 100644 (file)
@@ -1 +1 @@
-d866fffb8b1af5003a8730ce7029d1edddb24d46
\ No newline at end of file
+99b9d7eef68fd6d5c9eecb5fbe3dfe002c1ca4a8
\ No newline at end of file
index 093b13f940f95547e595013479b3087eeed49667..7665b1bf735f96ba70a0af31d9c43d819b11902b 100644 (file)
@@ -24,6 +24,11 @@ if {$tcl_platform(os) == "OpenBSD"} {
   return
 }
 
+# This module uses hard-coded offsets which do not work if the reserved_bytes
+# value is nonzero.
+if {[nonzero_reserved_bytes]} {finish_test; return;}
+
+
 proc read_nbackfill {} {
   seek $::shmfd 96
   binary scan [read $::shmfd 4] n nBackfill
index 44182287ec07ffb29a757fd6daa8d054ae9b8550..c56689ee1bbcfef977e4b7f72e69bb52536f6131 100644 (file)
@@ -126,6 +126,11 @@ foreach AutoVacuumMode [list 0 1] {
   execsql "PRAGMA mmap_size = 0"
   execsql "PRAGMA auto_vacuum = $AutoVacuumMode"
 
+  # Extra value added to size answers
+  set ib2_extra 0
+  if {$AutoVacuumMode} {incr ib2_extra}
+  if {[nonzero_reserved_bytes]} {incr ib2_extra}
+
   do_test incrblob-2.$AutoVacuumMode.1 {
     set ::str [string repeat abcdefghij 2900]
     execsql {
@@ -136,7 +141,7 @@ foreach AutoVacuumMode [list 0 1] {
       COMMIT;
     }
     expr [file size test.db]/1024
-  } [expr 31 + $AutoVacuumMode]
+  } [expr 31 + $ib2_extra]
 
   ifcapable autovacuum {
     do_test incrblob-2.$AutoVacuumMode.2 {
@@ -163,7 +168,7 @@ foreach AutoVacuumMode [list 0 1] {
     # sqlite uses the ptrmap pages to avoid reading the other pages.
     #
     nRead db
-  } [expr $AutoVacuumMode ? 4 : 30]
+  } [expr $AutoVacuumMode ? 4 : 30+$ib2_extra]
 
   do_test incrblob-2.$AutoVacuumMode.4 {
     string range [db one {SELECT v FROM blobs}] end-19 end
@@ -187,7 +192,7 @@ foreach AutoVacuumMode [list 0 1] {
     # sqlite uses the ptrmap pages to avoid reading the other pages.
     #
     nRead db
-  } [expr $AutoVacuumMode ? 4 : 30]
+  } [expr $AutoVacuumMode ? 4 : 30 + $ib2_extra]
 
   # Pages 1 (the write-counter) and 32 (the blob data) were written.
   do_test incrblob-2.$AutoVacuumMode.6 {
@@ -210,7 +215,7 @@ foreach AutoVacuumMode [list 0 1] {
 
   do_test incrblob-2.$AutoVacuumMode.9 {
     nRead db
-  } [expr $AutoVacuumMode ? 4 : 30]
+  } [expr $AutoVacuumMode ? 4 : 30 + $ib2_extra]
 }
 sqlite3_soft_heap_limit $cmdlinearg(soft-heap-limit)
 
index c5086c10ecb391cb00cb53c3eb0d3f003d05f98a..e1af808a3f9d7db8d3030bb561a09c50c38247bf 100644 (file)
@@ -424,7 +424,7 @@ ifcapable pager_pragmas {
     # The COMMIT requires a single fsync() - to the database file.
     execsql { COMMIT }
     list [file size test.db] [nSync]
-  } {39936 1}
+  } "[expr {[nonzero_reserved_bytes]?40960:39936}] 1"
 }
 
 #----------------------------------------------------------------------
index 8265ce63174d1ebd8cd23368d9e671902f15cf74..e9a4cf08a85d29acb3ee796d3cc2d2319774618e 100644 (file)
@@ -255,7 +255,7 @@ do_test memsubsys1-7.4 {
 } 0
 do_test memsubsys1-7.5 {
   set maxreq [lindex [sqlite3_status SQLITE_STATUS_MALLOC_SIZE 0] 2]
-  expr {$maxreq<4100}
+  expr {$maxreq<4100 + 4200*[nonzero_reserved_bytes]}
 } 1
 do_test memsubsys1-7.6 {
   set s_used [lindex [sqlite3_status SQLITE_STATUS_SCRATCH_USED 0] 2]
index 199a0587546c50463ab8f42435f2d093abed1040..c7c72c0ab2c93ca43b009f782e254ee57a569d79 100644 (file)
@@ -88,7 +88,7 @@ foreach {t mmap_size nRead c2init} {
     sql2 { DELETE FROM t1 WHERE rowid%2; }
     do_test $t.$tn.2 {
       sql1 "SELECT count(*) FROM t1; PRAGMA integrity_check ; PRAGMA page_count"
-    } {16 ok 42}
+    } "16 ok [expr {42+[nonzero_reserved_bytes]}]"
 
     # Have connection 2 grow the file. Check connection 1 can still read it.
     sql2 { INSERT INTO t1 SELECT rblob(500), rblob(500) FROM t1 }
@@ -104,7 +104,9 @@ foreach {t mmap_size nRead c2init} {
 
     # Check that the number of pages read by connection 1 indicates that the
     # "PRAGMA mmap_size" command worked.
-    do_test $t.$tn.5 { nRead db } $nRead
+    if {[nonzero_reserved_bytes]==0} {
+      do_test $t.$tn.5 { nRead db } $nRead
+    }
   }
 }
 
index 07b5152968f8f4ab03cd36598ba744c36e360f42..184dda5f866fe696ba841838dd92f2039ddefce2 100644 (file)
@@ -19,6 +19,9 @@ ifcapable !mmap||!vtab {
 source $testdir/lock_common.tcl
 set testprefix mmap3
 
+# A codec shuts down memory-mapped I/O
+if {[nonzero_reserved_bytes]} {finish_test; return;}
+
 do_test mmap3-1.0 {
   load_static_extension db wholenumber
   db eval {
index df3f65b8e6229bcbe7744949ac34ef4f5df4c3a4..27fa04a3517a8106427018a62483243bb7ee3cb6 100644 (file)
@@ -151,45 +151,47 @@ sqlite3_finalize $::STMT
 # Then it reads the value of the database to verify it is converted into
 # NULL.
 #
-do_test nan-3.1 {
-  db eval {
-    DELETE FROM t1;
-    INSERT INTO t1 VALUES(0.5);
-    PRAGMA auto_vacuum=OFF;
-    PRAGMA page_size=1024;
-    VACUUM;
-  }
-  hexio_read test.db 2040 8
-} {3FE0000000000000}
-do_test nan-3.2 {
-  db eval {
-    SELECT x, typeof(x) FROM t1
-  }
-} {0.5 real}
-do_test nan-3.3 {
-  db close
-  hexio_write test.db 2040 FFF8000000000000
-  sqlite3 db test.db
-  db eval {SELECT x, typeof(x) FROM t1}
-} {{} null}
-do_test nan-3.4 {
-  db close
-  hexio_write test.db 2040 7FF8000000000000
-  sqlite3 db test.db
-  db eval {SELECT x, typeof(x) FROM t1}
-} {{} null}
-do_test nan-3.5 {
-  db close
-  hexio_write test.db 2040 FFFFFFFFFFFFFFFF
-  sqlite3 db test.db
-  db eval {SELECT x, typeof(x) FROM t1}
-} {{} null}
-do_test nan-3.6 {
-  db close
-  hexio_write test.db 2040 7FFFFFFFFFFFFFFF
-  sqlite3 db test.db
-  db eval {SELECT x, typeof(x) FROM t1}
-} {{} null}
+if {![nonzero_reserved_bytes]} {
+  do_test nan-3.1 {
+    db eval {
+      DELETE FROM t1;
+      INSERT INTO t1 VALUES(0.5);
+      PRAGMA auto_vacuum=OFF;
+      PRAGMA page_size=1024;
+      VACUUM;
+    }
+    hexio_read test.db 2040 8
+  } {3FE0000000000000}
+  do_test nan-3.2 {
+    db eval {
+      SELECT x, typeof(x) FROM t1
+    }
+  } {0.5 real}
+  do_test nan-3.3 {
+    db close
+    hexio_write test.db 2040 FFF8000000000000
+    sqlite3 db test.db
+    db eval {SELECT x, typeof(x) FROM t1}
+  } {{} null}
+  do_test nan-3.4 {
+    db close
+    hexio_write test.db 2040 7FF8000000000000
+    sqlite3 db test.db
+    db eval {SELECT x, typeof(x) FROM t1}
+  } {{} null}
+  do_test nan-3.5 {
+    db close
+    hexio_write test.db 2040 FFFFFFFFFFFFFFFF
+    sqlite3 db test.db
+    db eval {SELECT x, typeof(x) FROM t1}
+  } {{} null}
+  do_test nan-3.6 {
+    db close
+    hexio_write test.db 2040 7FFFFFFFFFFFFFFF
+    sqlite3 db test.db
+    db eval {SELECT x, typeof(x) FROM t1}
+  } {{} null}
+}
 
 # Verify that the sqlite3AtoF routine is able to handle extreme
 # numbers.
index 7191661ba5d7cd4e599c9129bbda142b87f4d9d5..f8f5c718921a2876c84d452b2327c441df48b4c1 100644 (file)
@@ -16,6 +16,7 @@
 
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
+do_not_use_codec
 
 ifcapable {!pager_pragmas||secure_delete||direct_read} {
   finish_test
index befa5cf548f9b2c0735b2c947be09a00ea952a8f..acbe74599e909fe3336ec12a853da5be5d9de6dc 100644 (file)
@@ -1741,73 +1741,75 @@ forcedelete data_dir
 } ;# endif windows
 
 database_may_be_corrupt
+if {![nonzero_reserved_bytes]} {
 
-do_test 21.1 {
-  # Create a corrupt database in testerr.db. And a non-corrupt at test.db.
-  #
-  db close
-  forcedelete test.db
-  sqlite3 db test.db
-  execsql { 
-    PRAGMA page_size = 1024;
-    PRAGMA auto_vacuum = 0;
-    CREATE TABLE t1(a PRIMARY KEY, b);
-    INSERT INTO t1 VALUES(1, 1);
-  }
-  for {set i 0} {$i < 10} {incr i} {
-    execsql { INSERT INTO t1 SELECT a + (1 << $i), b + (1 << $i) FROM t1 }
-  }
-  db close
-  forcecopy test.db testerr.db
-  hexio_write testerr.db 15000 [string repeat 55 100]
-} {100}
-
-set mainerr {*** in database main ***
+  do_test 21.1 {
+    # Create a corrupt database in testerr.db. And a non-corrupt at test.db.
+    #
+    db close
+    forcedelete test.db
+    sqlite3 db test.db
+    execsql { 
+      PRAGMA page_size = 1024;
+      PRAGMA auto_vacuum = 0;
+      CREATE TABLE t1(a PRIMARY KEY, b);
+      INSERT INTO t1 VALUES(1, 1);
+    }
+    for {set i 0} {$i < 10} {incr i} {
+      execsql { INSERT INTO t1 SELECT a + (1 << $i), b + (1 << $i) FROM t1 }
+    }
+    db close
+    forcecopy test.db testerr.db
+    hexio_write testerr.db 15000 [string repeat 55 100]
+  } {100}
+  
+  set mainerr {*** in database main ***
 Multiple uses for byte 672 of page 15}
-set auxerr {*** in database aux ***
+  set auxerr {*** in database aux ***
 Multiple uses for byte 672 of page 15}
-
-set mainerr {/{\*\*\* in database main \*\*\*
+  
+  set mainerr {/{\*\*\* in database main \*\*\*
 Multiple uses for byte 672 of page 15}.*/}
-set auxerr {/{\*\*\* in database aux \*\*\*
+  set auxerr {/{\*\*\* in database aux \*\*\*
 Multiple uses for byte 672 of page 15}.*/}
-
-do_test 22.2 {
-  catch { db close }
-  sqlite3 db testerr.db
-  execsql { PRAGMA integrity_check }
-} $mainerr
-
-do_test 22.3.1 {
-  catch { db close }
-  sqlite3 db test.db
-  execsql { 
-    ATTACH 'testerr.db' AS 'aux';
-    PRAGMA integrity_check;
-  }
-} $auxerr
-do_test 22.3.2 {
-  execsql { PRAGMA main.integrity_check; }
-} {ok}
-do_test 22.3.3 {
-  execsql { PRAGMA aux.integrity_check; }
-} $auxerr
-
-do_test 22.4.1 {
-  catch { db close }
-  sqlite3 db testerr.db
-  execsql { 
-    ATTACH 'test.db' AS 'aux';
-    PRAGMA integrity_check;
-  }
-} $mainerr
-do_test 22.4.2 {
-  execsql { PRAGMA main.integrity_check; }
-} $mainerr
-do_test 22.4.3 {
-  execsql { PRAGMA aux.integrity_check; }
-} {ok}
-
+  
+  do_test 22.2 {
+    catch { db close }
+    sqlite3 db testerr.db
+    execsql { PRAGMA integrity_check }
+  } $mainerr
+  
+  do_test 22.3.1 {
+    catch { db close }
+    sqlite3 db test.db
+    execsql { 
+      ATTACH 'testerr.db' AS 'aux';
+      PRAGMA integrity_check;
+    }
+  } $auxerr
+  do_test 22.3.2 {
+    execsql { PRAGMA main.integrity_check; }
+  } {ok}
+  do_test 22.3.3 {
+    execsql { PRAGMA aux.integrity_check; }
+  } $auxerr
+  
+  do_test 22.4.1 {
+    catch { db close }
+    sqlite3 db testerr.db
+    execsql { 
+      ATTACH 'test.db' AS 'aux';
+      PRAGMA integrity_check;
+    }
+  } $mainerr
+  do_test 22.4.2 {
+    execsql { PRAGMA main.integrity_check; }
+  } $mainerr
+  do_test 22.4.3 {
+    execsql { PRAGMA aux.integrity_check; }
+  } {ok}
+}
+  
 db close
 forcedelete test.db test.db-wal test.db-journal
 sqlite3 db test.db
index b7ea4d3fc625c9d8f2ee87ef0080bf35a518f4a3..1a67d723501da20b9bf6ab60c23209cde904822a 100644 (file)
@@ -15,6 +15,7 @@
 
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
+do_not_use_codec
 
 do_execsql_test pragma3-100 {
   PRAGMA data_version;
index 288153dbb3227071dd920d0a1d621efb44c1a7f2..95586e94bcf0c96b67f29237f9f362133aaabdd3 100644 (file)
@@ -21,6 +21,10 @@ ifcapable !vtab||!compound {
   return
 }
 
+# This module uses hard-coded results that depend on exact measurements of
+# pages sizes at the byte level, and hence will not work if the reserved_bytes
+# value is nonzero.
+if {[nonzero_reserved_bytes]} {finish_test; return;}
 
 set ::asc 1
 proc a_string {n} { string range [string repeat [incr ::asc]. $n] 1 $n }
index 8d7fea0d2a6d61676d59e40c393456e77dc33dc8..d5c078de150c76401d135abf4d49bbfa3e31ca2b 100644 (file)
@@ -22,10 +22,9 @@ source $testdir/tester.tcl
 
 # Check the error messages generated by tclsqlite
 #
+set r "sqlite_orig HANDLE FILENAME ?-vfs VFSNAME? ?-readonly BOOLEAN? ?-create BOOLEAN? ?-nomutex BOOLEAN? ?-fullmutex BOOLEAN? ?-uri BOOLEAN?"
 if {[sqlite3 -has-codec]} {
-  set r "sqlite_orig HANDLE FILENAME ?-key CODEC-KEY?"
-} else {
-  set r "sqlite_orig HANDLE FILENAME ?-vfs VFSNAME? ?-readonly BOOLEAN? ?-create BOOLEAN? ?-nomutex BOOLEAN? ?-fullmutex BOOLEAN? ?-uri BOOLEAN?"
+  append r " ?-key CODECKEY?"
 }
 do_test tcl-1.1 {
   set v [catch {sqlite3 bogus} msg]
index 2bc41d47aa8fa882dc6c442be05f8b22296dc14e..77582a5c41d8834888b9c0afd7ec3498ddcb56f3 100644 (file)
@@ -16,6 +16,7 @@
 
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
+do_not_use_codec
 
 proc testsql {sql} {
   set fd [open tf_main.tcl w]
index 92b65e66bad5f5be1caa82f3d6f5bc53a4403340..bb164bb76ad1aa38a4e5d4203e608679e1001e50 100644 (file)
@@ -1378,6 +1378,7 @@ do_test wal-21.3 {
 #-------------------------------------------------------------------------
 # Test reading and writing of databases with different page-sizes.
 #
+incr ::do_not_use_codec
 foreach pgsz {512 1024 2048 4096 8192 16384 32768 65536} {
   do_multiclient_test tn [string map [list %PGSZ% $pgsz] {
     do_test wal-22.%PGSZ%.$tn.1 {
@@ -1398,6 +1399,7 @@ foreach pgsz {512 1024 2048 4096 8192 16384 32768 65536} {
     } {0}
   }]
 }
+incr ::do_not_use_codec -1
 
 #-------------------------------------------------------------------------
 # Test that when 1 or more pages are recovered from a WAL file, 
index 360d9c911e2f6566e910a5c54604eee9f87a3f8a..0f6dcfa6a76ffc2c47ad114b25bff992c9604fe1 100644 (file)
@@ -18,6 +18,7 @@ source $testdir/tester.tcl
 source $testdir/lock_common.tcl
 source $testdir/wal_common.tcl
 ifcapable !wal {finish_test ; return }
+do_not_use_codec
 
 set testprefix wal5
 
index 0682fce35bdb8b5cb01f51b95da9ab64ef844921..3e5a0c2617599a093181b231f88ade992a7a7f7f 100644 (file)
@@ -27,6 +27,7 @@ set testdir [file dirname $argv0]
 source $testdir/tester.tcl
 set ::testprefix wal8
 ifcapable !wal {finish_test ; return }
+do_not_use_codec
 
 db close
 forcedelete test.db test.db-wal
index 8d4ee011758dd569d2ea0e958a718e21fdd8d651..0e0f999534f7844c55c41fd15181aab80e51282d 100644 (file)
@@ -240,6 +240,7 @@ foreach {tn setup} {
   }
 
 } {
+  if {$tn==4 && [sqlite3 -has-codec]} continue
   foreach f [glob -nocomplain test.db*] { forcedelete $f }
 
   eval $setup
index 6d920b1e2465f4b2d8aa87b56ecf69a3dc297dd9..f46e44d4cbdfc392e0c8f9d8f478e7c603378eb5 100644 (file)
@@ -212,7 +212,7 @@ do_multiclient_test tn {
       INSERT INTO t2 SELECT x||y, y||x FROM t2;
     }
     file size test.db-wal
-  } {147800}
+  } [expr {[nonzero_reserved_bytes]?148848:147800}]
   do_test 1.4.4.2 {
     csql1 { SELECT * FROM t1 }
   } {0 {a b c d e f g h i j k l 1 2 3 4 5 6}}