summaryrefslogtreecommitdiff
path: root/test/wal5.test
diff options
context:
space:
mode:
authorHans-Christoph Steiner <hans@eds.org>2013-08-13 15:42:54 -0400
committerHans-Christoph Steiner <hans@eds.org>2013-08-13 15:42:54 -0400
commit08119c361d1181b3e8f1abb429236e488a664753 (patch)
tree77e5a8b6d411ca32c360c7e48df5c293b1e0baac /test/wal5.test
parent1b5ba8e022836fa8ab93bc90df1b34a29ea6e134 (diff)
Imported Upstream version 2.2.1
Diffstat (limited to 'test/wal5.test')
-rw-r--r--test/wal5.test12
1 files changed, 10 insertions, 2 deletions
diff --git a/test/wal5.test b/test/wal5.test
index 6eceed5..68750f1 100644
--- a/test/wal5.test
+++ b/test/wal5.test
@@ -235,7 +235,16 @@ foreach {testprefix do_wal_checkpoint} {
do_test 2.3.$tn.5 { sql1 { INSERT INTO t2 VALUES(3, 4) } } {}
do_test 2.3.$tn.6 { file_page_counts } {1 4 1 4}
do_test 2.3.$tn.7 { code1 { do_wal_checkpoint db -mode full } } {1 4 3}
- do_test 2.3.$tn.8 { file_page_counts } {1 4 2 4}
+
+ # The checkpoint above only writes page 1 of the db file. The other
+ # page (page 2) is locked by the read-transaction opened by the
+ # [sql2] commmand above. So normally, the db is 1 page in size here.
+ # However, in mmap() mode, the db is pre-allocated to 2 pages at the
+ # start of the checkpoint, even though page 2 cannot be written.
+ set nDb 2
+ if {[permutation]!="mmap"} {set nDb 1}
+ ifcapable !mmap {set nDb 1}
+ do_test 2.3.$tn.8 { file_page_counts } [list $nDb 4 2 4]
}
# Check that checkpoints block on the correct locks. And respond correctly
@@ -343,4 +352,3 @@ foreach {testprefix do_wal_checkpoint} {
finish_test
-