]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Update incrvacuum.test so that it works with builds that do not support mmap().
authordan <dan@noemail.net>
Thu, 29 Nov 2018 01:20:51 +0000 (01:20 +0000)
committerdan <dan@noemail.net>
Thu, 29 Nov 2018 01:20:51 +0000 (01:20 +0000)
FossilOrigin-Name: 8eb62fd5fa9adb88de51aa812270dbdb32ee5cacd636d200e658c507a14a035b

manifest
manifest.uuid
test/incrvacuum.test

index 9af2d591753b341dab2fe4dd24ca3b2b63c6de21..e1d25f7ef96fcf971ccea3ccf823808f0d876511 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Update\ssome\stest\scases\sto\saccount\sfor\sSQLITE_OMIT_VIRTUAL_TABLE\sbuilds.
-D 2018-11-28T11:49:46.811
+C Update\sincrvacuum.test\sso\sthat\sit\sworks\swith\sbuilds\sthat\sdo\snot\ssupport\smmap().
+D 2018-11-29T01:20:51.618
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F Makefile.in a050c8670ea0d7b37b2192306cbb50d392acd9902b84e9b56f3444d006f97a6c
@@ -1004,7 +1004,7 @@ F test/incrblob4.test 21a52a6843a56cdcce968c6a86b72a7066d0e6ba
 F test/incrblob_err.test 89372a28f1d98254f03fed705f9efcd34ef61a674df16d2dbb4726944a2de5e9
 F test/incrblobfault.test 74dd8ac108304cea0b4a0df6df63a1567e558758
 F test/incrcorrupt.test 6c567fbf870aa9e91866fe52ce6f200cd548939a
-F test/incrvacuum.test d67f6c8330587c6e96e34c19156b67b9f762cd302bdd1d89119fa6edea1ab49b
+F test/incrvacuum.test 2aaee202b1f230e55779f70d155f6ba67bbdff8481d650214d256ab0f97d4a2b
 F test/incrvacuum2.test 7d26cfda66c7e55898d196de54ac4ec7d86a4e3d
 F test/incrvacuum3.test 75256fb1377e7c39ef2de62bfc42bbff67be295a
 F test/incrvacuum_ioerr.test 6ae2f783424e47a0033304808fe27789cf93e635
@@ -1779,7 +1779,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 5c040fdb013d178e5dffa300621eab91b92beb085ffb9ef2ba08f6bf1dd4013e
-R 77a18aa84e255d1dbf20b21e122e52a2
+P b53a9a3dc6b0422a102b245451769b0cd8c0d67090fefabf7cb3a65137a73771
+R 852ffdb075fb394e7db811a2017ef73b
 U dan
-Z 7bfa8efb6ac7954a4c3f8089c7216621
+Z 3c0f7e4e0c67c70a333fda52c2778c56
index 339b12e4e41573aac32991e7cf9b33dea7e72179..0764beeeab8ac7229fc4b1e09f9881c3d2a1eec3 100644 (file)
@@ -1 +1 @@
-b53a9a3dc6b0422a102b245451769b0cd8c0d67090fefabf7cb3a65137a73771
\ No newline at end of file
+8eb62fd5fa9adb88de51aa812270dbdb32ee5cacd636d200e658c507a14a035b
\ No newline at end of file
index d601fbf3147d9c83b760f5187b79c3c9d9485b06..d2b505efe11d678957ba33170f8954cc3b7e424b 100644 (file)
@@ -788,47 +788,49 @@ do_test incrvacuum-15.1 {
 # were outstanding xFetch() references. This test case attempts to hit
 # that case.
 #
-reset_db
-do_execsql_test incrvacuum-16.0 {
-  PRAGMA auto_vacuum = 2;
-  CREATE TABLE t3(a);
-  INSERT INTO t3 VALUES(1), (2), (3), (4);
-
-  CREATE TABLE t2(x);
-  INSERT INTO t2 VALUES( randomblob(1000) );
-  INSERT INTO t2 VALUES( randomblob(1000) );
-  INSERT INTO t2 VALUES( randomblob(1000) );
-  INSERT INTO t2 VALUES( randomblob(1000) );
-  INSERT INTO t2 VALUES( randomblob(1000) );
-  INSERT INTO t2 VALUES( randomblob(1000) );
-} {}
-
-# Reopen db to ensure the page-cache is empty.
-#
-db close
-sqlite3 db test.db
-
-# Open db in mmap-mode. Open a transaction, delete some data, then run
-# incremental-vacuum. Do not commit the transaction. 
-#
-do_execsql_test incrvacuum-16.1 {
-  PRAGMA mmap_size = 1000000;
-  BEGIN;
-  DELETE FROM t2;
-  PRAGMA incremental_vacuum = 1000;
-} {1000000}
-
-# Scan through table t3 (which is all clean pages - so mmap is used). Then,
-# midway through, commit the transaction. This causes the db to be truncated
-# while there are outstanding xFetch pages.
-#
-do_test incrvacuum-16.2 {
-  set res [list]
-  db eval { SELECT a FROM t3 } {
-    if {$a==3} { db eval COMMIT }
-    lappend res $a
-  }
-  set res
-} {1 2 3 4}
+ifcapable mmap {
+  reset_db
+  do_execsql_test incrvacuum-16.0 {
+    PRAGMA auto_vacuum = 2;
+    CREATE TABLE t3(a);
+    INSERT INTO t3 VALUES(1), (2), (3), (4);
+  
+    CREATE TABLE t2(x);
+    INSERT INTO t2 VALUES( randomblob(1000) );
+    INSERT INTO t2 VALUES( randomblob(1000) );
+    INSERT INTO t2 VALUES( randomblob(1000) );
+    INSERT INTO t2 VALUES( randomblob(1000) );
+    INSERT INTO t2 VALUES( randomblob(1000) );
+    INSERT INTO t2 VALUES( randomblob(1000) );
+  } {}
+  
+  # Reopen db to ensure the page-cache is empty.
+  #
+  db close
+  sqlite3 db test.db
+  
+  # Open db in mmap-mode. Open a transaction, delete some data, then run
+  # incremental-vacuum. Do not commit the transaction. 
+  #
+  do_execsql_test incrvacuum-16.1 {
+    PRAGMA mmap_size = 1000000;
+    BEGIN;
+    DELETE FROM t2;
+    PRAGMA incremental_vacuum = 1000;
+  } {1000000}
 
+  # Scan through table t3 (which is all clean pages - so mmap is used). Then,
+  # midway through, commit the transaction. This causes the db to be truncated
+  # while there are outstanding xFetch pages.
+  #
+  do_test incrvacuum-16.2 {
+    set res [list]
+    db eval { SELECT a FROM t3 } {
+      if {$a==3} { db eval COMMIT }
+      lappend res $a
+    }
+    set res
+  } {1 2 3 4}
+}
+  
 finish_test