Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Add tests to walcrash3.test. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
d76880428013ae2c5be00d87bb3e1695 |
User & Date: | dan 2011-12-17 08:10:34.481 |
Context
2011-12-17
| ||
13:45 | Merge in changes that cause the first sector of the WAL file to be synced when the WAL restarts. This is a fix for the power-loss corruption problem described in ticket [ff5be73dee086] (check-in: 44ca4d1233 user: drh tags: trunk) | |
08:10 | Add tests to walcrash3.test. (check-in: d768804280 user: dan tags: trunk) | |
01:31 | Make sure the Salt-1 value in the WAL file is sequentially numbered at each checkpoint, as it says it should be in the documentation. (check-in: 7b63b11b93 user: drh tags: trunk) | |
Changes
Changes to test/permutations.test.
︙ | ︙ | |||
106 107 108 109 110 111 112 | fkey_malloc.test fuzz.test fuzz3.test fuzz_malloc.test in2.test loadext.test misc7.test mutex2.test notify2.test onefile.test pagerfault2.test savepoint4.test savepoint6.test select9.test speed1.test speed1p.test speed2.test speed3.test speed4.test speed4p.test sqllimits1.test tkt2686.test thread001.test thread002.test thread003.test thread004.test thread005.test trans2.test vacuum3.test incrvacuum_ioerr.test autovacuum_crash.test btree8.test shared_err.test | | | | 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 | fkey_malloc.test fuzz.test fuzz3.test fuzz_malloc.test in2.test loadext.test misc7.test mutex2.test notify2.test onefile.test pagerfault2.test savepoint4.test savepoint6.test select9.test speed1.test speed1p.test speed2.test speed3.test speed4.test speed4p.test sqllimits1.test tkt2686.test thread001.test thread002.test thread003.test thread004.test thread005.test trans2.test vacuum3.test incrvacuum_ioerr.test autovacuum_crash.test btree8.test shared_err.test vtab_err.test walslow.test walcrash.test walcrash3.test walthread.test rtree3.test indexfault.test }] if {[info exists ::env(QUICKTEST_INCLUDE)]} { set allquicktests [concat $allquicktests $::env(QUICKTEST_INCLUDE)] } ############################################################################# # Start of tests |
︙ | ︙ |
Changes to test/walcrash3.test.
︙ | ︙ | |||
65 66 67 68 69 70 71 72 73 74 75 | # if {$::state==2} { sqlite3 db2 xx_test.db do_test 1.$i.2 { execsql { PRAGMA integrity_check } db2 } "ok" do_test 1.$i.3 { execsql { SELECT count(*) FROM t1 } db2 } [expr $i-1] db2 close } } finish_test | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | # if {$::state==2} { sqlite3 db2 xx_test.db do_test 1.$i.2 { execsql { PRAGMA integrity_check } db2 } "ok" do_test 1.$i.3 { execsql { SELECT count(*) FROM t1 } db2 } [expr $i-1] db2 close } } catch { db close } tvfs delete #-------------------------------------------------------------------------- # catch { db close } forcedelete test.db do_test 2.1 { sqlite3 db test.db execsql { PRAGMA page_size = 512; PRAGMA journal_mode = WAL; PRAGMA wal_autocheckpoint = 128; CREATE TABLE t1(a PRIMARY KEY, b); INSERT INTO t1 VALUES(randomblob(25), randomblob(200)); } for {set i 0} {$i < 1500} {incr i} { execsql { INSERT INTO t1 VALUES(randomblob(25), randomblob(200)) } } db_save db close } {} set nInitialErr [set_test_counter errors] for {set i 2} {$i<10000 && [set_test_counter errors]==$nInitialErr} {incr i} { do_test 2.$i.1 { catch { db close } db_restore crashsql -delay 2 -file test.db-wal -seed $i { SELECT * FROM sqlite_master; PRAGMA synchronous = full; PRAGMA wal_checkpoint; BEGIN; INSERT INTO t1 VALUES(randomblob(26), randomblob(200)); INSERT INTO t1 VALUES(randomblob(26), randomblob(200)); INSERT INTO t1 VALUES(randomblob(26), randomblob(200)); INSERT INTO t1 VALUES(randomblob(26), randomblob(200)); INSERT INTO t1 VALUES(randomblob(26), randomblob(200)); INSERT INTO t1 VALUES(randomblob(26), randomblob(200)); INSERT INTO t1 VALUES(randomblob(26), randomblob(200)); INSERT INTO t1 VALUES(randomblob(26), randomblob(200)); COMMIT; } } {1 {child process exited abnormally}} do_test 2.$i.2 { sqlite3 db test.db execsql { PRAGMA integrity_check } } {ok} } finish_test |