Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(45)

Side by Side Diff: third_party/sqlite/src/test/corrupt2.test

Issue 2765553002: [sql] Import SQLite 3.17.0. (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # 2004 August 30 1 # 2004 August 30
2 # 2 #
3 # The author disclaims copyright to this source code. In place of 3 # The author disclaims copyright to this source code. In place of
4 # a legal notice, here is a blessing: 4 # a legal notice, here is a blessing:
5 # 5 #
6 # May you do good and not evil. 6 # May you do good and not evil.
7 # May you find forgiveness for yourself and forgive others. 7 # May you find forgiveness for yourself and forgive others.
8 # May you share freely, never taking more than you give. 8 # May you share freely, never taking more than you give.
9 # 9 #
10 #*********************************************************************** 10 #***********************************************************************
(...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after
339 DELETE FROM t1 WHERE a = 1; 339 DELETE FROM t1 WHERE a = 1;
340 } -corrupt { 340 } -corrupt {
341 set nPage [expr [file size corrupt.db] / 1024] 341 set nPage [expr [file size corrupt.db] / 1024]
342 hexio_write corrupt.db [expr 1024 + ($nPage-3)*5] 010000000 342 hexio_write corrupt.db [expr 1024 + ($nPage-3)*5] 010000000
343 } -test { 343 } -test {
344 do_test corrupt2-6.3 { 344 do_test corrupt2-6.3 {
345 catchsql " $::presql pragma incremental_vacuum = 1 " 345 catchsql " $::presql pragma incremental_vacuum = 1 "
346 } {1 {database disk image is malformed}} 346 } {1 {database disk image is malformed}}
347 } 347 }
348 348
349 corruption_test -sqlprep { 349 if {![nonzero_reserved_bytes]} {
350 PRAGMA auto_vacuum = 1; 350 corruption_test -sqlprep {
351 PRAGMA page_size = 1024; 351 PRAGMA auto_vacuum = 1;
352 CREATE TABLE t1(a INTEGER PRIMARY KEY, b); 352 PRAGMA page_size = 1024;
353 INSERT INTO t1 VALUES(1, randomblob(2500)); 353 CREATE TABLE t1(a INTEGER PRIMARY KEY, b);
354 DELETE FROM t1 WHERE a = 1; 354 INSERT INTO t1 VALUES(1, randomblob(2500));
355 } -corrupt { 355 DELETE FROM t1 WHERE a = 1;
356 set nAppend [expr 1024*207 - [file size corrupt.db]] 356 } -corrupt {
357 set fd [open corrupt.db r+] 357 set nAppend [expr 1024*207 - [file size corrupt.db]]
358 seek $fd 0 end 358 set fd [open corrupt.db r+]
359 puts -nonewline $fd [string repeat x $nAppend] 359 seek $fd 0 end
360 close $fd 360 puts -nonewline $fd [string repeat x $nAppend]
361 hexio_write corrupt.db 28 00000000 361 close $fd
362 } -test { 362 hexio_write corrupt.db 28 00000000
363 do_test corrupt2-6.4 { 363 } -test {
364 catchsql " 364 do_test corrupt2-6.4 {
365 $::presql 365 catchsql "
366 BEGIN EXCLUSIVE; 366 $::presql
367 COMMIT; 367 BEGIN EXCLUSIVE;
368 " 368 COMMIT;
369 } {1 {database disk image is malformed}} 369 "
370 } {1 {database disk image is malformed}}
371 }
370 } 372 }
371 } 373 }
372 374
373 375
374 set sqlprep { 376 set sqlprep {
375 PRAGMA auto_vacuum = 0; 377 PRAGMA auto_vacuum = 0;
376 PRAGMA page_size = 1024; 378 PRAGMA page_size = 1024;
377 CREATE TABLE t1(a INTEGER PRIMARY KEY, b); 379 CREATE TABLE t1(a INTEGER PRIMARY KEY, b);
378 CREATE INDEX i1 ON t1(b); 380 CREATE INDEX i1 ON t1(b);
379 INSERT INTO t1 VALUES(1, randomblob(50)); 381 INSERT INTO t1 VALUES(1, randomblob(50));
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
600 602
601 do_execsql_test 14.5 { 603 do_execsql_test 14.5 {
602 PRAGMA integrity_check; 604 PRAGMA integrity_check;
603 } {{*** in database main *** 605 } {{*** in database main ***
604 Page 3 is never used}} 606 Page 3 is never used}}
605 607
606 608
607 finish_test 609 finish_test
608 610
609 finish_test 611 finish_test
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698