]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Minor test script changes to allow all.test to run when SQLITE_DEFAULT_AUTOVACUUM...
authordanielk1977 <danielk1977@noemail.net>
Sat, 8 Jan 2005 02:35:44 +0000 (02:35 +0000)
committerdanielk1977 <danielk1977@noemail.net>
Sat, 8 Jan 2005 02:35:44 +0000 (02:35 +0000)
FossilOrigin-Name: 5023b1dba2e61bb10d1b488874e3d3eea3973145

manifest
manifest.uuid
test/all.test
test/crash.test
test/ioerr.test

index 88a66417e726625c5bfb8147a911025337f2d812..86632c6ab25f4a21db0a679cb1a50e742e3ada5e 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Reset\sthe\stemp_store_directory\seach\siteration\sof\stests\sin\sall.test.\s(CVS\s2181)
-D 2005-01-07T10:42:48
+C Minor\stest\sscript\schanges\sto\sallow\sall.test\sto\srun\swhen\sSQLITE_DEFAULT_AUTOVACUUM=1\sis\sdefined.\s(CVS\s2182)
+D 2005-01-08T02:35:44
 F Makefile.in ecf441ac5ca1ccfc8748a8a9537706e69893dfa4
 F Makefile.linux-gcc a9e5a0d309fa7c38e7c14d3ecf7690879d3a5457
 F README a01693e454a00cc117967e3f9fdab2d4d52e9bc1
@@ -84,7 +84,7 @@ F src/vdbeaux.c a7c4c90786e2633b38f2d89f3dc49aed747454e4
 F src/vdbemem.c 5876c8abf4374fef671f4fd8dc333ef3fc95a2f0
 F src/where.c 2fc4efc7375eb7f1ae18030311bcd6a18e3a0f46
 F tclinstaller.tcl 36478c3bbfc5b93ceac42d94e3c736937b808432
-F test/all.test 8dbfc6e5d0588cd600e347de2839723d9691b099
+F test/all.test 87cc4ea3cff6da70aefd789c6ef539dbb1c27eec
 F test/alter.test 95c57a4f461fa81293e0dccef7f83889aadb169a
 F test/attach.test f39069efd4394422798f249df9a31489aa941ee1
 F test/attach2.test eeb987770f4dbe68bd29afdbc2e8cff0142e6eb5
@@ -114,7 +114,7 @@ F test/collate5.test 7999fb3122386bae38acd8ccd61e0b7c5a30e289
 F test/collate6.test 6c9470d1606ee3e564675b229653e320c49ec638
 F test/conflict.test c5b849b01cfbe0a4f63a90cba6f68e2fe3a75f87
 F test/corrupt.test 0080ddcece23e8ba47c44608c4fb73fd4d1d8ce2
-F test/crash.test 39d6ec8f6dcaa63ace67a28ab9423d4591af947d
+F test/crash.test 637479504e137d065385c5b9379680d2b5372630
 F test/crashtest1.c 09c1c7d728ccf4feb9e481671e29dda5669bbcc2
 F test/cursor.test d7c65ea0fc4e321e12fbcf5c7f3e2211ef45379b
 F test/date.test dda578ec1857837156bd8b32f8e09d81d7d7881c
@@ -134,7 +134,7 @@ F test/insert.test 56f9c20c9adc8d707490c4ffa5d4daa94826ea03
 F test/insert2.test 0bb50ff999e35a21549d8ee5dc44db8ac24d31a7
 F test/interrupt.test 0aa230f8aedec0ad7caaf5edaced337e4cfb3820
 F test/intpkey.test b57cf5236fde1bd8cbc1388fa0c91908f6fd9194
-F test/ioerr.test 3ce897ee998ee874073f3b23b0396d9ff804759c
+F test/ioerr.test 90ccd62d50fbbaa990ccd544720a7b9dd10becd3
 F test/join.test ea8c77b9fbc377fe553cdb5ce5f1bd72021dca5d
 F test/join2.test c97e4c5aa65dea462145529e58212a709b4722b8
 F test/join3.test 67dc0d7c8dab3fff25796d0f3c3fd9c999aeded3
@@ -263,7 +263,7 @@ F www/tclsqlite.tcl e73f8f8e5f20e8277619433f7970060ab01088fc
 F www/vdbe.tcl 095f106d93875c94b47367384ebc870517431618
 F www/version3.tcl 092a01f5ef430d2c4acc0ae558d74c4bb89638a0
 F www/whentouse.tcl c3b50d3ac31c54be2a1af9b488a89d22f1e6e746
-P 929745c1833e7f4323884a1bc0c632f5b319da35
-R dba9baec5eebc45c6979e9b7c2efd513
+P 7373a5d4cf2db921b33132c736ad62ab702d7cde
+R 1374ed5b4e2bf48f719639e9351d8142
 U danielk1977
-Z 07fbc4827e58bb688700c5382740a556
+Z 60af24b70074f0ad63b6e618315bdcee
index b5d4f4541c45404c264b39a2baf905e5104f94ed..03b35d720d2dfd0e415f3b9f419032640a646e4b 100644 (file)
@@ -1 +1 @@
-7373a5d4cf2db921b33132c736ad62ab702d7cde
\ No newline at end of file
+5023b1dba2e61bb10d1b488874e3d3eea3973145
\ No newline at end of file
index 19435161b91933d25dd30a9818302b16d3587a01..c99808d2918ce51ae731be355af99a873503ba7f 100644 (file)
@@ -10,7 +10,7 @@
 #***********************************************************************
 # This file runs all tests.
 #
-# $Id: all.test,v 1.24 2005/01/07 10:42:48 danielk1977 Exp $
+# $Id: all.test,v 1.25 2005/01/08 02:35:44 danielk1977 Exp $
 
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
@@ -50,13 +50,22 @@ set LeakList {}
 set EXCLUDE {
   all.test
   crash.test
+  autovacuum_crash.test
   quick.test
   malloc.test
   misuse.test
   memleak.test
   corrupt.test
 }
-#  btree2.test
+
+# Test files btree2.test and btree4.test don't work if the 
+# SQLITE_DEFAULT_AUTOVACUUM macro is defined to true (because they depend
+# on tables being allocated starting at page 2).
+#
+ifcapable default_autovacuum {
+  lappend EXCLUDE btree2.test
+  lappend EXCLUDE btree4.test
+}
 
 for {set Counter 0} {$Counter<$COUNT && $nErr==0} {incr Counter} {
   if {$Counter%2} {
@@ -104,10 +113,14 @@ if {$LeakList!=""} {
   puts " Ok"
 }
 
-# Run the crashtest only on unix and only once.
+# Run the crashtest only on unix and only once. If the library does not
+# always create auto-vacuum databases, also run autovacuum_crash.test.
 #
 if {$tcl_platform(platform)=="unix"} {
   source $testdir/crash.test
+  ifcapable !default_autovacuum {
+    source $testdir/autovacuum_crash.test
+  }
 }
 
 # Run the malloc tests and the misuse test after memory leak detection.
index db01c889246e8414ee537d225021add28e2f7da0..2373023531e06d51030466065b9ce5fd1f093598 100644 (file)
@@ -20,7 +20,7 @@
 # The special crash-test module with its os_test.c backend only works
 # on Unix.
 #
-# $Id: crash.test,v 1.12 2004/11/23 22:16:40 drh Exp $
+# $Id: crash.test,v 1.13 2005/01/08 02:35:44 danielk1977 Exp $
 
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
@@ -243,6 +243,10 @@ for {set i 1} {$i < $repeats} {incr i} {
 # crash-4.3.*: Test recovery when crash occurs during sync() of the master
 #              journal file. 
 #
+set filesize 559
+ifcapable default_autovacuum {
+  set filesize 562
+}
 do_test crash-4.0 {
   file delete -force test2.db
   file delete -force test2.db-journal
@@ -252,7 +256,7 @@ do_test crash-4.0 {
     CREATE TABLE aux.abc2 AS SELECT 2*a as a, 2*b as b, 2*c as c FROM abc;
   }
   expr [file size test2.db] / 1024
-} {559}
+} $filesize
 
 for {set i 1} {$i<$repeats} {incr i} {
   set sig [signature]
index 380de82becc372d3fa13ae7cd733a0367a4d941e..fe486bcfb8de2c0ef5b9b2aad119ac7ecf41a8e9 100644 (file)
 # The tests in this file use special facilities that are only
 # available in the SQLite test fixture.
 #
-# $Id: ioerr.test,v 1.6 2004/10/01 14:38:03 drh Exp $
+# $Id: ioerr.test,v 1.7 2005/01/08 02:35:44 danielk1977 Exp $
 
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
 
 set ::go 1
 for {set n 1} {$go} {incr n} {
+
+  # If SQLITE_DEFAULT_AUTOVACUUM is set to true, then a simulated IO error
+  # on the 8th IO operation in the SQL script below doesn't report an error.
+  #
+  # This is because the 8th IO call attempts to read page 2 of the database
+  # file when the file on disk is only 1 page. The pager layer detects that
+  # this has happened and suppresses the error returned by the OS layer.
+  #
+  ifcapable default_autovacuum {
+    if {$n==8} continue
+  } 
+
   do_test ioerr-1.$n.1 {
     set ::sqlite_io_error_pending 0
     db close