aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordanielk1977 <danielk1977@noemail.net>2008-09-15 14:42:38 +0000
committerdanielk1977 <danielk1977@noemail.net>2008-09-15 14:42:38 +0000
commit78a906552dfed9be44df23a04de23f5d44f9c26d (patch)
treef03c023035a8c26a80308f65d973f8f3a138b847
parent92c4b8a2cadfc742747b6c684950b56583671d43 (diff)
downloadsqlite-78a906552dfed9be44df23a04de23f5d44f9c26d.tar.gz
sqlite-78a906552dfed9be44df23a04de23f5d44f9c26d.zip
Fix the shared_err.test script so that it works if the device supports SQLITE_IOCAP_SAFEAPPEND. (CVS 5699)
FossilOrigin-Name: 38e5ea070a38fe1656e0f5c3024f28ce67eae725
-rw-r--r--manifest12
-rw-r--r--manifest.uuid2
-rw-r--r--test/shared_err.test23
3 files changed, 23 insertions, 14 deletions
diff --git a/manifest b/manifest
index ad8693a7d..8c96469ca 100644
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Modify\stest_async.c\sto\savoid\susing\sinternal\sSQLite\sAPIs.\sThere\sare\sstill\ssome\scomments\sthat\sneed\supdating.\s(CVS\s5698)
-D 2008-09-15T14:08:04
+C Fix\sthe\sshared_err.test\sscript\sso\sthat\sit\sworks\sif\sthe\sdevice\ssupports\sSQLITE_IOCAP_SAFEAPPEND.\s(CVS\s5699)
+D 2008-09-15T14:42:38
F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
F Makefile.in d15a7ebfe5e057a72a49805ffb302dbb601c8329
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@@ -484,7 +484,7 @@ F test/shared.test b9f3bbd3ba727c5f1f8c815b7d0199262aacf214
F test/shared2.test 0ee9de8964d70e451936a48c41cb161d9134ccf4
F test/shared3.test 9c880afc081d797da514ef64bccf36f3fce2f09c
F test/shared4.test d0fadacb50bb6981b2fb9dc6d1da30fa1edddf83
-F test/shared_err.test 776ab7196ecda8b07a075e115b0725806991e151
+F test/shared_err.test 63628d33e0d59325c63650f5d67f4c8798cef5db
F test/shortread1.test bb591ef20f0fd9ed26d0d12e80eee6d7ac8897a3
F test/sidedelete.test f0ad71abe6233e3b153100f3b8d679b19a488329
F test/soak.test 3c317b3e55e1160731030c8e865d1858fab66fea
@@ -635,7 +635,7 @@ F tool/speedtest16.c c8a9c793df96db7e4933f0852abb7a03d48f2e81
F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
F tool/speedtest8.c 1dbced29de5f59ba2ebf877edcadf171540374d1
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
-P c32cb106c5d68e98f51f1eaf9ae0e2a3c36d00d6
-R 81c8df88182aeac4375b62d10daf76ae
+P 1d4fcaafd058bf1b726378e9ec308ecd8130fe1b
+R 57269a074958fd6039f5b3b57984a6b8
U danielk1977
-Z 598fdfba976b3753bad5428908262014
+Z d6eed9f5b63d13b9611ae30d3fa84e0d
diff --git a/manifest.uuid b/manifest.uuid
index c1fb60e88..3f816ede4 100644
--- a/manifest.uuid
+++ b/manifest.uuid
@@ -1 +1 @@
-1d4fcaafd058bf1b726378e9ec308ecd8130fe1b \ No newline at end of file
+38e5ea070a38fe1656e0f5c3024f28ce67eae725 \ No newline at end of file
diff --git a/test/shared_err.test b/test/shared_err.test
index 95e8c900a..7c8b5488a 100644
--- a/test/shared_err.test
+++ b/test/shared_err.test
@@ -13,7 +13,7 @@
# cache context. What happens to connection B if one connection A encounters
# an IO-error whilst reading or writing the file-system?
#
-# $Id: shared_err.test,v 1.21 2008/07/07 17:55:29 danielk1977 Exp $
+# $Id: shared_err.test,v 1.22 2008/09/15 14:42:38 danielk1977 Exp $
proc skip {args} {}
@@ -57,12 +57,13 @@ do_ioerr_test shared_ioerr-1 -tclprep {
set res [catchsql {
SELECT * FROM t1;
} db2]
- set possible_results [list \
- "1 {disk I/O error}" \
- "0 {1 2 3}" \
- "0 {1 2 3 1 2 3 4 5 6}" \
- "0 {1 2 3 1 2 3 4 5 6 1 2 3 4 5 6}" \
- "0 {}" \
+ set possible_results [list \
+ "1 {disk I/O error}" \
+ "0 {1 2 3}" \
+ "0 {1 2 3 1 2 3 4 5 6}" \
+ "0 {1 2 3 1 2 3 4 5 6 1 2 3 4 5 6}" \
+ "0 {}" \
+ "1 {database disk image is malformed}" \
]
set rc [expr [lsearch -exact $possible_results $res] >= 0]
if {$rc != 1} {
@@ -71,7 +72,15 @@ do_ioerr_test shared_ioerr-1 -tclprep {
}
set rc
} {1}
+
+ # The "database disk image is malformed" is a special case that can
+ # occur if an IO error occurs during a rollback in the {SELECT * FROM t1}
+ # statement above. This test is to make sure there is no real database
+ # corruption.
db2 close
+ do_test shared_ioerr-1.$n.cleanup.2 {
+ execsql {pragma integrity_check} db
+ } {ok}
}
do_ioerr_test shared_ioerr-2 -tclprep {