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

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

Issue 949043002: Add //third_party/sqlite to dirs_to_snapshot, remove net_sql.patch (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: 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
« no previous file with comments | « third_party/sqlite/src/test/ioerr.test ('k') | third_party/sqlite/src/test/ioerr4.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 # 2007 April 2 1 # 2007 April 2
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 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 for {set ::N 1} {$::go} {incr ::N} { 105 for {set ::N 1} {$::go} {incr ::N} {
106 set ::sqlite_io_error_hit 0 106 set ::sqlite_io_error_hit 0
107 set ::sqlite_io_error_persist $bPersist 107 set ::sqlite_io_error_persist $bPersist
108 set ::sqlite_io_error_pending $::N 108 set ::sqlite_io_error_pending $::N
109 109
110 foreach {::go res} [catchsql $sql] {} 110 foreach {::go res} [catchsql $sql] {}
111 check_db ioerr2-4.[expr {$bPersist+2}].$::N 111 check_db ioerr2-4.[expr {$bPersist+2}].$::N
112 } 112 }
113 } 113 }
114 114
115 # When this test was written, an IO error within the UPDATE statement caused
116 # a rollback, which tripped all read-cursors, causing the outer SELECT to
117 # fail with "abort due to ROLLBACK". Now, the loop continues until the UPDATE
118 # is run successfully. At this point the next IO error occurs within the
119 # SELECT - throwing the "disk I/O error" that the test case now expects.
120 #
115 do_test ioerr2-5 { 121 do_test ioerr2-5 {
116 execsql { 122 execsql {
117 CREATE TABLE t2 AS SELECT * FROM t1; 123 CREATE TABLE t2 AS SELECT * FROM t1;
118 PRAGMA temp_store = memory; 124 PRAGMA temp_store = memory;
119 } 125 }
120 set ::sqlite_io_error_persist 0 126 set ::sqlite_io_error_persist 0
121 set ::go 1 127 set ::go 1
122 set rc [catch { 128 set rc [catch {
123 for {set ::N 2} {$::N<200} {incr ::N} { 129 for {set ::N 2} {$::N<200} {incr ::N} {
124 db eval {SELECT * FROM t1 WHERE rowid IN (1, 5, 10, 15, 20)} { 130 db eval {SELECT * FROM t1 WHERE rowid IN (1, 5, 10, 15, 20)} {
125 set ::sqlite_io_error_hit 0 131 set ::sqlite_io_error_hit 0
126 set ::sqlite_io_error_pending $::N 132 set ::sqlite_io_error_pending $::N
127 set sql {UPDATE t2 SET b = randstr(400,400)} 133 set sql {UPDATE t2 SET b = randstr(400,400)}
128 foreach {::go res} [catchsql $sql] {} 134 foreach {::go res} [catchsql $sql] {}
129 } 135 }
130 } 136 }
131 } msg] 137 } msg]
132 list $rc $msg 138 list $rc $msg
133 } {1 {callback requested query abort}} 139 } {1 {disk I/O error}} ;# used to be "{1 {abort due to ROLLBACK}}"
134 140
135 if {$::tcl_platform(platform) == "unix"} { 141 if {$::tcl_platform(platform) == "unix"} {
136 # Cause the call to xAccess used by [pragma temp_store_directory] to 142 # Cause the call to xAccess used by [pragma temp_store_directory] to
137 # determine if the specified directory is writable to fail. This causes 143 # determine if the specified directory is writable to fail. This causes
138 # SQLite to report "not a writable directory", which is probably the 144 # SQLite to report "not a writable directory", which is probably the
139 # right answer. 145 # right answer.
140 # 146 #
141 do_test ioerr2-6 { 147 do_test ioerr2-6 {
142 set ::sqlite_io_error_hit 0 148 set ::sqlite_io_error_hit 0
143 set ::sqlite_io_error_pending 1 149 set ::sqlite_io_error_pending 1
(...skipping 17 matching lines...) Expand all
161 INSERT INTO de SELECT * FROM ab; 167 INSERT INTO de SELECT * FROM ab;
162 } -sqlbody { 168 } -sqlbody {
163 BEGIN; 169 BEGIN;
164 UPDATE ab SET b = randstr(200,200); 170 UPDATE ab SET b = randstr(200,200);
165 UPDATE de SET e = randstr(200,200) WHERE d = (SELECT max(d) FROM de); 171 UPDATE de SET e = randstr(200,200) WHERE d = (SELECT max(d) FROM de);
166 DELETE FROM ab; 172 DELETE FROM ab;
167 COMMIT; 173 COMMIT;
168 } 174 }
169 175
170 finish_test 176 finish_test
OLDNEW
« no previous file with comments | « third_party/sqlite/src/test/ioerr.test ('k') | third_party/sqlite/src/test/ioerr4.test » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698