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

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

Issue 901033002: Import SQLite 3.8.7.4. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Chromium changes to support SQLite 3.8.7.4. Created 5 years, 10 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 # 2007 August 23 1 # 2007 August 23
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 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 {INSERT INTO abc VALUES(4, 5, 6)} {1 2 3 4 5 6} \ 66 {INSERT INTO abc VALUES(4, 5, 6)} {1 2 3 4 5 6} \
67 {DELETE FROM abc} {} \ 67 {DELETE FROM abc} {} \
68 {INSERT INTO abc SELECT * FROM abc} {1 2 3 1 2 3} \ 68 {INSERT INTO abc SELECT * FROM abc} {1 2 3 1 2 3} \
69 {UPDATE abc SET a = 2} {2 2 3} \ 69 {UPDATE abc SET a = 2} {2 2 3} \
70 {INSERT INTO abc VALUES(4, 5, randstr(1000,1000))} {n/a} \ 70 {INSERT INTO abc VALUES(4, 5, randstr(1000,1000))} {n/a} \
71 {CREATE TABLE def(d, e, f)} {n/a} \ 71 {CREATE TABLE def(d, e, f)} {n/a} \
72 ] { 72 ] {
73 for {set ii 0} {$ii < 10} {incr ii} { 73 for {set ii 0} {$ii < 10} {incr ii} {
74 74
75 db close 75 db close
76 file delete -force test.db test.db-journal 76 forcedelete test.db test.db-journal
77 sqlite3 db test.db 77 sqlite3 db test.db
78 do_test crash3-1.$tn.1 { 78 do_test crash3-1.$tn.1 {
79 execsql { 79 execsql {
80 PRAGMA page_size = 1024; 80 PRAGMA page_size = 1024;
81 BEGIN; 81 BEGIN;
82 CREATE TABLE abc(a, b, c); 82 CREATE TABLE abc(a, b, c);
83 INSERT INTO abc VALUES(1, 2, 3); 83 INSERT INTO abc VALUES(1, 2, 3);
84 COMMIT; 84 COMMIT;
85 } 85 }
86 } {} 86 } {}
(...skipping 12 matching lines...) Expand all
99 execsql { SELECT * FROM abc } 99 execsql { SELECT * FROM abc }
100 } {1 2 3} $res2 100 } {1 2 3} $res2
101 101
102 incr tn 102 incr tn
103 } 103 }
104 } 104 }
105 105
106 # This block tests both the IOCAP_SEQUENTIAL and IOCAP_SAFE_APPEND flags. 106 # This block tests both the IOCAP_SEQUENTIAL and IOCAP_SAFE_APPEND flags.
107 # 107 #
108 db close 108 db close
109 file delete -force test.db test.db-journal 109 forcedelete test.db test.db-journal
110 sqlite3 db test.db 110 sqlite3 db test.db
111 do_test crash3-2.0 { 111 do_test crash3-2.0 {
112 execsql { 112 execsql {
113 BEGIN; 113 BEGIN;
114 CREATE TABLE abc(a PRIMARY KEY, b, c); 114 CREATE TABLE abc(a PRIMARY KEY, b, c);
115 CREATE TABLE def(d PRIMARY KEY, e, f); 115 CREATE TABLE def(d PRIMARY KEY, e, f);
116 PRAGMA default_cache_size = 10; 116 PRAGMA default_cache_size = 10;
117 INSERT INTO abc VALUES(randstr(10,1000),randstr(10,1000),randstr(10,1000)); 117 INSERT INTO abc VALUES(randstr(10,1000),randstr(10,1000),randstr(10,1000));
118 INSERT INTO abc 118 INSERT INTO abc
119 SELECT randstr(10,1000),randstr(10,1000),randstr(10,1000) FROM abc; 119 SELECT randstr(10,1000),randstr(10,1000),randstr(10,1000) FROM abc;
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
170 } 170 }
171 171
172 # The following block tests an interaction between IOCAP_ATOMIC and 172 # The following block tests an interaction between IOCAP_ATOMIC and
173 # IOCAP_SEQUENTIAL. At one point, if both flags were set, small 173 # IOCAP_SEQUENTIAL. At one point, if both flags were set, small
174 # journal files that contained only a single page, but were required 174 # journal files that contained only a single page, but were required
175 # for some other reason (i.e. nTrunk) were not being written to 175 # for some other reason (i.e. nTrunk) were not being written to
176 # disk. 176 # disk.
177 # 177 #
178 for {set ii 0} {$ii < 10} {incr ii} { 178 for {set ii 0} {$ii < 10} {incr ii} {
179 db close 179 db close
180 file delete -force test.db test.db-journal 180 forcedelete test.db test.db-journal
181 crashsql -file test.db -char {sequential atomic} { 181 crashsql -file test.db -char {sequential atomic} {
182 CREATE TABLE abc(a, b, c); 182 CREATE TABLE abc(a, b, c);
183 } 183 }
184 sqlite3 db test.db 184 sqlite3 db test.db
185 do_test crash3-3.$ii { 185 do_test crash3-3.$ii {
186 execsql {PRAGMA integrity_check} 186 execsql {PRAGMA integrity_check}
187 } {ok} 187 } {ok}
188 } 188 }
189 189
190 finish_test 190 finish_test
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698