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

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

Issue 1610963002: Import SQLite 3.10.2. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 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
« no previous file with comments | « third_party/sqlite/src/test/corrupt7.test ('k') | third_party/sqlite/src/test/corruptE.test » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 db close 182 db close
183 forcecopy test.bu test.db 183 forcecopy test.bu test.db
184 184
185 # insert corrupt byte(s) 185 # insert corrupt byte(s)
186 hexio_write test.db 3074 [format %02x 0xa0] 186 hexio_write test.db 3074 [format %02x 0xa0]
187 187
188 sqlite3 db test.db 188 sqlite3 db test.db
189 catchsql {BEGIN; UPDATE t2 SET y='abcdef-uvwxyz'; ROLLBACK;} 189 catchsql {BEGIN; UPDATE t2 SET y='abcdef-uvwxyz'; ROLLBACK;}
190 } {1 {database disk image is malformed}} 190 } {1 {database disk image is malformed}}
191 191
192
192 # corruption (seed 179069) 193 # corruption (seed 179069)
194 # Obsolete. With single-pass DELETE the corruption in the
195 # main database is not detected.
196 if 0 {
193 do_test corruptC-2.8 { 197 do_test corruptC-2.8 {
194 db close 198 db close
195 forcecopy test.bu test.db 199 forcecopy test.bu test.db
196 200
197 # insert corrupt byte(s) 201 # insert corrupt byte(s)
198 hexio_write test.db 1393 [format %02x 0x7d] 202 hexio_write test.db 1393 [format %02x 0x7d]
199 hexio_write test.db 84 [format %02x 0x19] 203 hexio_write test.db 84 [format %02x 0x19]
200 hexio_write test.db 3287 [format %02x 0x3b] 204 hexio_write test.db 3287 [format %02x 0x3b]
201 hexio_write test.db 2564 [format %02x 0xed] 205 hexio_write test.db 2564 [format %02x 0xed]
202 hexio_write test.db 2139 [format %02x 0x55] 206 hexio_write test.db 2139 [format %02x 0x55]
203 207
204 sqlite3 db test.db 208 sqlite3 db test.db
205 catchsql {BEGIN; DELETE FROM t1 WHERE x>13; ROLLBACK;} 209 catchsql {BEGIN; DELETE FROM t1 WHERE x>13; ROLLBACK;}
206 } {1 {database disk image is malformed}} 210 } {1 {database disk image is malformed}}
211 }
207 212
208 # corruption (seed 170434) 213 # corruption (seed 170434)
209 # 214 #
210 # UPDATE: Prior to 3.8.2, this used to return SQLITE_CORRUPT. It no longer 215 # UPDATE: Prior to 3.8.2, this used to return SQLITE_CORRUPT. It no longer
211 # does. That is Ok, the point of these tests is to verify that no buffer 216 # does. That is Ok, the point of these tests is to verify that no buffer
212 # overruns or overreads can be caused by corrupt databases. 217 # overruns or overreads can be caused by corrupt databases.
213 do_test corruptC-2.9 { 218 do_test corruptC-2.9 {
214 db close 219 db close
215 forcecopy test.bu test.db 220 forcecopy test.bu test.db
216 221
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
285 290
286 # At one point this particular corrupt database was causing a buffer 291 # At one point this particular corrupt database was causing a buffer
287 # overread. Which caused a crash in a run of all.test once. 292 # overread. Which caused a crash in a run of all.test once.
288 # 293 #
289 do_test corruptC-2.15 { 294 do_test corruptC-2.15 {
290 db close 295 db close
291 forcecopy test.bu test.db 296 forcecopy test.bu test.db
292 hexio_write test.db 986 b9 297 hexio_write test.db 986 b9
293 sqlite3 db test.db 298 sqlite3 db test.db
294 catchsql {SELECT count(*) FROM sqlite_master;} 299 catchsql {SELECT count(*) FROM sqlite_master;}
295 } {1 {malformed database schema (t1i1) - no such table: main.t1}} 300 } {1 {database disk image is malformed}}
296 301
297 # 302 #
298 # Now test for a series of quasi-random seeds. 303 # Now test for a series of quasi-random seeds.
299 # We loop over the entire file size and touch 304 # We loop over the entire file size and touch
300 # each byte at least once. 305 # each byte at least once.
301 for {set tn 0} {$tn<$fsize} {incr tn 1} { 306 for {set tn 0} {$tn<$fsize} {incr tn 1} {
302 307
303 # setup for test 308 # setup for test
304 db close 309 db close
305 forcecopy test.bu test.db 310 forcecopy test.bu test.db
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
406 set stats(ref) 411 set stats(ref)
407 } {0} 412 } {0}
408 } 413 }
409 } 414 }
410 # end for i 415 # end for i
411 416
412 } 417 }
413 # end for tn 418 # end for tn
414 419
415 finish_test 420 finish_test
OLDNEW
« no previous file with comments | « third_party/sqlite/src/test/corrupt7.test ('k') | third_party/sqlite/src/test/corruptE.test » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698