mirror of
https://github.com/sqlite/sqlite.git
synced 2025-07-29 08:01:23 +03:00
Add tests to pager1.test and pagerfault.test.
FossilOrigin-Name: f5df83fd875073eee8e2269e87e2a8c9c7abc981
This commit is contained in:
@ -179,6 +179,12 @@ do_faultsim_test pagerfault-4 -prep {
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
# Test fault-injection as part of a commit when using journal_mode=PERSIST.
|
||||
# Three different cases:
|
||||
#
|
||||
# pagerfault-5.1: With no journal_size_limit configured.
|
||||
# pagerfault-5.2: With a journal_size_limit configured.
|
||||
# pagerfault-5.4: Multi-file transaction. One connection has a
|
||||
# journal_size_limit of 0, the other has no limit.
|
||||
#
|
||||
do_test pagerfault-5-pre1 {
|
||||
faultsim_delete_and_reopen
|
||||
@ -214,7 +220,6 @@ do_faultsim_test pagerfault-5.2 -prep {
|
||||
faultsim_test_result {0 {}}
|
||||
faultsim_integrity_check
|
||||
}
|
||||
|
||||
do_faultsim_test pagerfault-5.3 -prep {
|
||||
faultsim_restore_and_reopen
|
||||
db func a_string a_string
|
||||
@ -236,4 +241,46 @@ do_faultsim_test pagerfault-5.3 -prep {
|
||||
faultsim_test_result {0 {}}
|
||||
}
|
||||
|
||||
# The following was an attempt to get a bitvec malloc to fail. Didn't work.
|
||||
#
|
||||
# do_test pagerfault-6-pre1 {
|
||||
# faultsim_delete_and_reopen
|
||||
# execsql {
|
||||
# CREATE TABLE t1(x, y, UNIQUE(x, y));
|
||||
# INSERT INTO t1 VALUES(1, randomblob(1501));
|
||||
# INSERT INTO t1 VALUES(2, randomblob(1502));
|
||||
# INSERT INTO t1 VALUES(3, randomblob(1503));
|
||||
# INSERT INTO t1 VALUES(4, randomblob(1504));
|
||||
# INSERT INTO t1
|
||||
# SELECT x, randomblob(1500+oid+(SELECT max(oid) FROM t1)) FROM t1;
|
||||
# INSERT INTO t1
|
||||
# SELECT x, randomblob(1500+oid+(SELECT max(oid) FROM t1)) FROM t1;
|
||||
# INSERT INTO t1
|
||||
# SELECT x, randomblob(1500+oid+(SELECT max(oid) FROM t1)) FROM t1;
|
||||
# INSERT INTO t1
|
||||
# SELECT x, randomblob(1500+oid+(SELECT max(oid) FROM t1)) FROM t1;
|
||||
# }
|
||||
# faultsim_save_and_close
|
||||
# } {}
|
||||
# do_faultsim_test pagerfault-6 -prep {
|
||||
# faultsim_restore_and_reopen
|
||||
# } -body {
|
||||
# execsql {
|
||||
# BEGIN;
|
||||
# UPDATE t1 SET x=x+4 WHERE x=1;
|
||||
# SAVEPOINT one;
|
||||
# UPDATE t1 SET x=x+4 WHERE x=2;
|
||||
# SAVEPOINT three;
|
||||
# UPDATE t1 SET x=x+4 WHERE x=3;
|
||||
# SAVEPOINT four;
|
||||
# UPDATE t1 SET x=x+4 WHERE x=4;
|
||||
# RELEASE three;
|
||||
# COMMIT;
|
||||
# SELECT DISTINCT x FROM t1;
|
||||
# }
|
||||
# } -test {
|
||||
# faultsim_test_result {0 {5 6 7 8}}
|
||||
# faultsim_integrity_check
|
||||
# }
|
||||
|
||||
finish_test
|
||||
|
Reference in New Issue
Block a user