Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Fix test case issues related to errors in file-controls and the PSOW flag. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
5afbcd49f92e13d1654c1486e19d7e1b |
User & Date: | dan 2012-01-13 10:04:10.932 |
Context
2012-01-13
| ||
10:51 | Omit test file zerodamage.test from the inmemory_journal permutation. (check-in: 0c0051b1a5 user: dan tags: trunk) | |
10:04 | Fix test case issues related to errors in file-controls and the PSOW flag. (check-in: 5afbcd49f9 user: dan tags: trunk) | |
2012-01-12
| ||
16:41 | Fix issues in test cases so that they work with DEFAULT_AUTOVACUUM defined. And with a small default cache-size. (check-in: a298465c39 user: dan tags: trunk) | |
Changes
Changes to src/test_journal.c.
︙ | ︙ | |||
658 659 660 661 662 663 664 | } /* ** File control method. For custom operations on an jt-file. */ static int jtFileControl(sqlite3_file *pFile, int op, void *pArg){ jt_file *p = (jt_file *)pFile; | | | 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 | } /* ** File control method. For custom operations on an jt-file. */ static int jtFileControl(sqlite3_file *pFile, int op, void *pArg){ jt_file *p = (jt_file *)pFile; return p->pReal->pMethods->xFileControl(p->pReal, op, pArg); } /* ** Return the sector-size in bytes for an jt-file. */ static int jtSectorSize(sqlite3_file *pFile){ jt_file *p = (jt_file *)pFile; |
︙ | ︙ |
Changes to test/malloc5.test.
︙ | ︙ | |||
348 349 350 351 352 353 354 | } db2 execsql { SELECT * FROM abc } db expr [nPage db] + [nPage db2] } {20} do_test malloc5-6.3.2 { # Try to release 7700 bytes. This should release all the # non-dirty pages held by db2. | | | | 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 | } db2 execsql { SELECT * FROM abc } db expr [nPage db] + [nPage db2] } {20} do_test malloc5-6.3.2 { # Try to release 7700 bytes. This should release all the # non-dirty pages held by db2. sqlite3_release_memory [expr 7*1132] list [nPage db] [nPage db2] } {10 3} do_test malloc5-6.3.3 { # Try to release another 1000 bytes. This should come fromt the db # cache, since all three pages held by db2 are either in-use or diry. sqlite3_release_memory 1000 list [nPage db] [nPage db2] } {9 3} do_test malloc5-6.3.4 { # Now release 9900 more (about 9 pages worth). This should expunge # the rest of the db cache. But the db2 cache remains intact, because # SQLite tries to avoid calling sync(). if {$::tcl_platform(wordSize)==8} { sqlite3_release_memory 10500 } else { sqlite3_release_memory 9900 } list [nPage db] [nPage db2] } {0 3} do_test malloc5-6.3.5 { # But if we are really insistent, SQLite will consent to call sync() |
︙ | ︙ |
Changes to test/walcrash.test.
︙ | ︙ | |||
72 73 74 75 76 77 78 | } # walcrash-2.* # for {set i 1} {$i < $REPEATS} {incr i} { forcedelete test.db test.db-wal do_test walcrash-2.$i.1 { | | | 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | } # walcrash-2.* # for {set i 1} {$i < $REPEATS} {incr i} { forcedelete test.db test.db-wal do_test walcrash-2.$i.1 { crashsql -delay 5 -file test.db-wal -seed [incr seed] { PRAGMA journal_mode = WAL; CREATE TABLE t1(a PRIMARY KEY, b); INSERT INTO t1 VALUES(1, 2); INSERT INTO t1 VALUES(3, 4); INSERT INTO t1 VALUES(5, 9); } } {1 {child process exited abnormally}} |
︙ | ︙ | |||
143 144 145 146 147 148 149 | # walcrash-4.* # for {set i 1} {$i < $REPEATS} {incr i} { forcedelete test.db test.db-wal forcedelete test2.db test2.db-wal do_test walcrash-4.$i.1 { | | | 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 | # walcrash-4.* # for {set i 1} {$i < $REPEATS} {incr i} { forcedelete test.db test.db-wal forcedelete test2.db test2.db-wal do_test walcrash-4.$i.1 { crashsql -delay 4 -file test.db-wal -seed [incr seed] -blocksize 4096 { PRAGMA journal_mode = WAL; PRAGMA page_size = 1024; CREATE TABLE t1(a PRIMARY KEY, b); INSERT INTO t1 VALUES(1, 2); INSERT INTO t1 VALUES(3, 4); } } {1 {child process exited abnormally}} |
︙ | ︙ | |||
171 172 173 174 175 176 177 | # walcrash-5.* # for {set i 1} {$i < $REPEATS} {incr i} { forcedelete test.db test.db-wal forcedelete test2.db test2.db-wal do_test walcrash-5.$i.1 { | | | 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 | # walcrash-5.* # for {set i 1} {$i < $REPEATS} {incr i} { forcedelete test.db test.db-wal forcedelete test2.db test2.db-wal do_test walcrash-5.$i.1 { crashsql -delay 13 -file test.db-wal -seed [incr seed] -blocksize 4096 { PRAGMA journal_mode = WAL; PRAGMA page_size = 1024; BEGIN; CREATE TABLE t1(x PRIMARY KEY); INSERT INTO t1 VALUES(randomblob(900)); INSERT INTO t1 VALUES(randomblob(900)); INSERT INTO t1 SELECT randomblob(900) FROM t1; /* 4 */ |
︙ | ︙ | |||
212 213 214 215 216 217 218 | # walcrash-6.* # for {set i 1} {$i < $REPEATS} {incr i} { forcedelete test.db test.db-wal forcedelete test2.db test2.db-wal do_test walcrash-6.$i.1 { | | | | | | 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 | # walcrash-6.* # for {set i 1} {$i < $REPEATS} {incr i} { forcedelete test.db test.db-wal forcedelete test2.db test2.db-wal do_test walcrash-6.$i.1 { crashsql -delay 14 -file test.db-wal -seed [incr seed] -blocksize 512 { PRAGMA journal_mode = WAL; PRAGMA page_size = 1024; BEGIN; CREATE TABLE t1(x PRIMARY KEY); INSERT INTO t1 VALUES(randomblob(900)); INSERT INTO t1 VALUES(randomblob(900)); INSERT INTO t1 SELECT randomblob(900) FROM t1; /* 4 */ COMMIT; INSERT INTO t1 SELECT randomblob(900) FROM t1 LIMIT 4; /* 8 */ INSERT INTO t1 SELECT randomblob(900) FROM t1 LIMIT 4; /* 12 */ INSERT INTO t1 SELECT randomblob(900) FROM t1 LIMIT 4; /* 16 */ INSERT INTO t1 SELECT randomblob(900) FROM t1 LIMIT 4; /* 20 */ INSERT INTO t1 SELECT randomblob(900) FROM t1 LIMIT 4; /* 24 */ INSERT INTO t1 SELECT randomblob(900) FROM t1 LIMIT 4; /* 28 */ INSERT INTO t1 SELECT randomblob(900) FROM t1 LIMIT 4; /* 32 */ PRAGMA wal_checkpoint; INSERT INTO t1 VALUES(randomblob(9000)); INSERT INTO t1 VALUES(randomblob(9000)); INSERT INTO t1 VALUES(randomblob(9000)); } } {1 {child process exited abnormally}} do_test walcrash-6.$i.2 { sqlite3 db test.db execsql { SELECT count(*)==34 OR count(*)==35 FROM t1 WHERE x != 1 } } {1} |
︙ | ︙ |
Changes to test/walfault.test.
︙ | ︙ | |||
119 120 121 122 123 124 125 | PRAGMA wal_checkpoint; } set {} {} } -test { faultsim_test_result {0 {}} } | < > > | | 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 | PRAGMA wal_checkpoint; } set {} {} } -test { faultsim_test_result {0 {}} } #-------------------------------------------------------------------------- # if {[permutation] != "inmemory_journal"} { faultsim_delete_and_reopen faultsim_save_and_close do_faultsim_test walfault-4 -prep { faultsim_restore_and_reopen } -body { execsql { PRAGMA auto_vacuum = 0; PRAGMA journal_mode = WAL; CREATE TABLE t1(a PRIMARY KEY, b); INSERT INTO t1 VALUES('a', 'b'); PRAGMA wal_checkpoint; SELECT * FROM t1; } } -test { # Update: The following changed from {0 {wal 0 7 7 a b}} as a result # of PSOW being set by default. faultsim_test_result {0 {wal 0 5 5 a b}} faultsim_integrity_check } } #-------------------------------------------------------------------------- # do_test walfault-5-pre-1 { |
︙ | ︙ | |||
538 539 540 541 542 543 544 | faultsim_restore_and_reopen } -body { db eval { PRAGMA wal_checkpoint = full; INSERT INTO abc VALUES(randomblob(1500)); } } -test { | | > | 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 | faultsim_restore_and_reopen } -body { db eval { PRAGMA wal_checkpoint = full; INSERT INTO abc VALUES(randomblob(1500)); } } -test { faultsim_test_result {0 {0 9 9}} faultsim_integrity_check set nRow [db eval {SELECT count(*) FROM abc}] if {!(($nRow==2 && $testrc) || $nRow==3)} { error "Bad db content" } } finish_test finish_test |