Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Another corruption related test case. (CVS 5367) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
f781a68127c97e30763447a12314180f |
User & Date: | danielk1977 2008-07-08 14:31:15.000 |
Context
2008-07-08
| ||
14:52 | Improved enforcement of the SQLITE_LIMIT_LENGTH limit. (CVS 5368) (check-in: ee93150878 user: drh tags: trunk) | |
14:31 | Another corruption related test case. (CVS 5367) (check-in: f781a68127 user: danielk1977 tags: trunk) | |
14:17 | Fix a compilation bug with SQLITE_OMIT_AUTOINIT. (CVS 5366) (check-in: 94c95fad56 user: danielk1977 tags: trunk) | |
Changes
Changes to test/corrupt2.test.
︙ | ︙ | |||
9 10 11 12 13 14 15 | # #*********************************************************************** # This file implements regression tests for SQLite library. # # This file implements tests to make sure SQLite does not crash or # segfault if it sees a corrupt database file. # | | | 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | # #*********************************************************************** # This file implements regression tests for SQLite library. # # This file implements tests to make sure SQLite does not crash or # segfault if it sees a corrupt database file. # # $Id: corrupt2.test,v 1.11 2008/07/08 14:31:15 danielk1977 Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl # The following tests - corrupt2-1.* - create some databases corrupted in # specific ways and ensure that SQLite detects them as corrupt. # |
︙ | ︙ | |||
330 331 332 333 334 335 336 | do_test corrupt2-6.4 { catchsql { BEGIN EXCLUSIVE; COMMIT; } } {1 {database disk image is malformed}} } | | | > > > > > > > > > > > > > > | > > > > > > > > > > > > > > | 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 | do_test corrupt2-6.4 { catchsql { BEGIN EXCLUSIVE; COMMIT; } } {1 {database disk image is malformed}} } } corruption_test -sqlprep { PRAGMA page_size = 1024; CREATE TABLE t1(a INTEGER PRIMARY KEY, b); CREATE INDEX i1 ON t1(b); INSERT INTO t1 VALUES(1, randomblob(50)); INSERT INTO t1 SELECT NULL, randomblob(50) FROM t1; INSERT INTO t1 SELECT NULL, randomblob(50) FROM t1; INSERT INTO t1 SELECT NULL, randomblob(50) FROM t1; INSERT INTO t1 SELECT NULL, randomblob(50) FROM t1; INSERT INTO t1 SELECT NULL, randomblob(50) FROM t1; INSERT INTO t1 SELECT NULL, randomblob(50) FROM t1; } -corrupt { # Set the page-flags of one of the leaf pages of the index B-Tree to # 0x0D (interpreted by SQLite as "leaf page of a table B-Tree"). # set fd [open corrupt.db r+] fconfigure $fd -translation binary -encoding binary seek $fd [expr 1024*2 + 8] set zRightChild [read $fd 4] binary scan $zRightChild I iRightChild seek $fd [expr 1024*($iRightChild-1)] puts -nonewline $fd "\x0D" close $fd } -test { do_test corrupt2-7.1 { catchsql { SELECT b FROM t1 ORDER BY b } } {1 {database disk image is malformed}} } finish_test |