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

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

Issue 6990047: Import SQLite 3.7.6.3. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 7 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 | Annotate | Revision Log
« no previous file with comments | « third_party/sqlite/src/test/pagerfault2.test ('k') | third_party/sqlite/src/test/pageropt.test » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 # 2011 January 28
2 #
3 # The author disclaims copyright to this source code. In place of
4 # a legal notice, here is a blessing:
5 #
6 # May you do good and not evil.
7 # May you find forgiveness for yourself and forgive others.
8 # May you share freely, never taking more than you give.
9 #
10 #***********************************************************************
11 #
12
13 set testdir [file dirname $argv0]
14 source $testdir/tester.tcl
15 source $testdir/lock_common.tcl
16 source $testdir/malloc_common.tcl
17
18 if {[permutation] == "inmemory_journal"} {
19 finish_test
20 return
21 }
22
23 # Create a database with page-size 2048 bytes that uses 2 pages. Populate
24 # it so that if the page-size is changed to 1024 bytes and the db vacuumed,
25 # the new db size is 3 pages.
26 #
27 do_test pagerfault3-pre1 {
28 execsql {
29 PRAGMA auto_vacuum = 0;
30 PRAGMA page_size = 2048;
31 CREATE TABLE t1(x);
32 INSERT INTO t1 VALUES(randomblob(1200));
33 PRAGMA page_count;
34 }
35 } {2}
36 do_test pagerfault3-pre2 {
37 faultsim_save_and_close
38 faultsim_restore_and_reopen
39 execsql {
40 PRAGMA page_size = 1024;
41 VACUUM;
42 PRAGMA page_count;
43 }
44 } {3}
45
46 # Now do the page-size change and VACUUM with IO error injection. When
47 # an IO error is injected into the final xSync() of the commit, the pager
48 # will have to extend the db file from 3072 to 4096 byts when rolling
49 # back the hot-journal file. This is a special case in pager_truncate().
50 #
51 do_faultsim_test pagerfault3-1 -faults ioerr-transient -prep {
52 faultsim_restore_and_reopen
53 } -body {
54 execsql {
55 PRAGMA page_size = 1024;
56 VACUUM;
57 }
58 } -test {
59 faultsim_test_result {0 {}}
60 faultsim_integrity_check
61 }
62
63 finish_test
64
OLDNEW
« no previous file with comments | « third_party/sqlite/src/test/pagerfault2.test ('k') | third_party/sqlite/src/test/pageropt.test » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698