1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-07-30 19:03:16 +03:00

Further test cases for pager1.test and pagerfault.test.

FossilOrigin-Name: bfd563c4714d86805fa09ce9f4f807e5d502a99b
This commit is contained in:
dan
2010-06-25 19:09:48 +00:00
parent 52d6fc0eda
commit f9b4419d39
6 changed files with 194 additions and 76 deletions

View File

@ -76,6 +76,23 @@ set FAULTSIM(shmerr-persistent) [list \
-injectuninstall shmerr_injectuninstall \
]
# Transient and persistent CANTOPEN errors:
#
set FAULTSIM(cantopen-transient) [list \
-injectinstall cantopen_injectinstall \
-injectstart {cantopen_injectstart 0} \
-injectstop cantopen_injectstop \
-injecterrlist {{1 {unable to open database file}}} \
-injectuninstall cantopen_injectuninstall \
]
set FAULTSIM(cantopen-persistent) [list \
-injectinstall cantopen_injectinstall \
-injectstart {cantopen_injectstart 1} \
-injectstop cantopen_injectstop \
-injecterrlist {{1 {unable to open database file}}} \
-injectuninstall cantopen_injectuninstall \
]
#--------------------------------------------------------------------------
@ -203,7 +220,7 @@ proc shmerr_injectstart {persist iFail} {
shmfault ioerr $iFail $persist
}
proc shmerr_injectstop {} {
shmfault ioerr 0 0
shmfault ioerr
}
# The following procs are used as [do_one_faultsim_test] callbacks when
@ -218,10 +235,28 @@ proc fullerr_injectuninstall {} {
shmfault delete
}
proc fullerr_injectstart {iFail} {
shmfault full $iFail
shmfault full $iFail 1
}
proc fullerr_injectstop {} {
shmfault full 0
shmfault full
}
# The following procs are used as [do_one_faultsim_test] callbacks when
# injecting SQLITE_CANTOPEN error faults into test cases.
#
proc cantopen_injectinstall {} {
testvfs shmfault -default true
}
proc cantopen_injectuninstall {} {
catch {db close}
catch {db2 close}
shmfault delete
}
proc cantopen_injectstart {persist iFail} {
shmfault cantopen $iFail $persist
}
proc cantopen_injectstop {} {
shmfault cantopen
}
# This command is not called directly. It is used by the