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

Add further test cases. Fix an assert() in pager.c.

FossilOrigin-Name: 8e65c0e3dac400f6a0ec3b7494fba62c14ed6182
This commit is contained in:
dan
2010-06-30 10:36:18 +00:00
parent 3ad5fd2502
commit 6b63ab47d7
6 changed files with 183 additions and 12 deletions

View File

@ -614,6 +614,9 @@ do_faultsim_test pagerfault-13 -prep {
faultsim_test_result {0 {}}
}
}
#---------------------------------------------------------------------------
# Test fault injection into a small backup operation.
#
@ -632,13 +635,28 @@ do_test pagerfault-14-pre1 {
}
faultsim_save_and_close
} {}
do_faultsim_test pagerfault-14 -prep {
do_faultsim_test pagerfault-14a -prep {
faultsim_restore_and_reopen
} -body {
if {[catch {db backup test.db2} msg]} { error [regsub {.*: } $msg {}] }
} -test {
faultsim_test_result {0 {}} {1 {}} {1 {SQL logic error or missing database}}
}
do_faultsim_test pagerfault-14b -prep {
faultsim_restore_and_reopen
sqlite3 db2 ""
db2 eval { PRAGMA page_size = 4096; CREATE TABLE xx(a) }
} -body {
sqlite3_backup B db2 main db main
B step 200
set rc [B finish]
if {[string match SQLITE_IOERR_* $rc]} {set rc SQLITE_IOERR}
if {$rc != "SQLITE_OK"} { error [sqlite3_test_errstr $rc] }
set {} {}
} -test {
faultsim_test_result {0 {}}
}
do_test pagerfault-15-pre1 {
faultsim_delete_and_reopen
@ -667,7 +685,6 @@ do_faultsim_test pagerfault-15 -prep {
faultsim_integrity_check
}
}
do_test pagerfault-16-pre1 {
faultsim_delete_and_reopen