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

Side by Side Diff: third_party/sqlite/src/test/superlock.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 # 2010 November 19 1 # 2010 November 19
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 30 matching lines...) Expand all
41 # superlock is released. 41 # superlock is released.
42 # 42 #
43 # 43 #
44 44
45 do_execsql_test 1.1 { 45 do_execsql_test 1.1 {
46 CREATE TABLE t1(a, b); 46 CREATE TABLE t1(a, b);
47 INSERT INTO t1 VALUES(1, 2); 47 INSERT INTO t1 VALUES(1, 2);
48 PRAGMA journal_mode = DELETE; 48 PRAGMA journal_mode = DELETE;
49 } {delete} 49 } {delete}
50 50
51 ifcapable !wal {
52 finish_test
53 return
54 }
55
51 do_test 1.2 { sqlite3demo_superlock unlock test.db } {unlock} 56 do_test 1.2 { sqlite3demo_superlock unlock test.db } {unlock}
52 do_catchsql_test 1.3 { SELECT * FROM t1 } {1 {database is locked}} 57 do_catchsql_test 1.3 { SELECT * FROM t1 } {1 {database is locked}}
53 do_test 1.4 { unlock } {} 58 do_test 1.4 { unlock } {}
54 59
55 do_execsql_test 2.1 { 60 do_execsql_test 2.1 {
56 INSERT INTO t1 VALUES(3, 4); 61 INSERT INTO t1 VALUES(3, 4);
57 PRAGMA journal_mode = WAL; 62 PRAGMA journal_mode = WAL;
58 } {wal} 63 } {wal}
59 64
60 do_test 2.2 { sqlite3demo_superlock unlock test.db } {unlock} 65 do_test 2.2 { sqlite3demo_superlock unlock test.db } {unlock}
61 do_catchsql_test 2.3 { SELECT * FROM t1 } {1 {database is locked}} 66 do_catchsql_test 2.3 { SELECT * FROM t1 } {1 {database is locked}}
62 do_catchsql_test 2.4 { INSERT INTO t1 VALUES(5, 6)} {1 {database is locked}} 67 do_catchsql_test 2.4 { INSERT INTO t1 VALUES(5, 6)} {1 {database is locked}}
63 do_catchsql_test 2.5 { PRAGMA wal_checkpoint } {0 {1 -1 -1}} 68 do_catchsql_test 2.5 { PRAGMA wal_checkpoint } {0 {1 -1 -1}}
64 do_test 2.6 { unlock } {} 69 do_test 2.6 { unlock } {}
65 70
66 do_execsql_test 3.1 { INSERT INTO t1 VALUES(3, 4) } 71 do_execsql_test 3.1 { INSERT INTO t1 VALUES(3, 4) }
67 72
68 do_test 3.2 { sqlite3demo_superlock unlock test.db } {unlock} 73 do_test 3.2 { sqlite3demo_superlock unlock test.db } {unlock}
69 do_catchsql_test 3.3 { SELECT * FROM t1 } {1 {database is locked}} 74 do_catchsql_test 3.3 { SELECT * FROM t1 } {1 {database is locked}}
70 do_catchsql_test 3.4 { INSERT INTO t1 VALUES(5, 6)} {1 {database is locked}} 75 do_catchsql_test 3.4 { INSERT INTO t1 VALUES(5, 6)} {1 {database is locked}}
71 do_catchsql_test 3.5 { PRAGMA wal_checkpoint } {0 {1 -1 -1}} 76 do_catchsql_test 3.5 { PRAGMA wal_checkpoint } {0 {1 -1 -1}}
72 do_test 3.6 { unlock } {} 77 do_test 3.6 { unlock } {}
73 78
74 do_execsql_test 4.1 { PRAGMA wal_checkpoint } {0 2 2} 79 # At this point the WAL file consists of a single frame only - written
80 # by test case 3.1. If the ZERO_DAMAGE flag were not set, it would consist
81 # of two frames - the frame written by 3.1 and a padding frame.
82 do_execsql_test 4.1 { PRAGMA wal_checkpoint } {0 1 1}
75 83
76 do_test 4.2 { sqlite3demo_superlock unlock test.db } {unlock} 84 do_test 4.2 { sqlite3demo_superlock unlock test.db } {unlock}
77 do_catchsql_test 4.3 { SELECT * FROM t1 } {1 {database is locked}} 85 do_catchsql_test 4.3 { SELECT * FROM t1 } {1 {database is locked}}
78 do_catchsql_test 4.4 { INSERT INTO t1 VALUES(5, 6)} {1 {database is locked}} 86 do_catchsql_test 4.4 { INSERT INTO t1 VALUES(5, 6)} {1 {database is locked}}
79 do_catchsql_test 4.5 { PRAGMA wal_checkpoint } {0 {1 -1 -1}} 87 do_catchsql_test 4.5 { PRAGMA wal_checkpoint } {0 {1 -1 -1}}
80 do_test 4.6 { unlock } {} 88 do_test 4.6 { unlock } {}
81 89
82 do_multiclient_test tn { 90 do_multiclient_test tn {
83 91
84 proc busyhandler {x} { 92 proc busyhandler {x} {
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
240 248
241 db_swap test.db2 test.db 249 db_swap test.db2 test.db
242 do_catchsql_test 6.12 { SELECT * FROM t1 } {1 {no such table: t1}} 250 do_catchsql_test 6.12 { SELECT * FROM t1 } {1 {no such table: t1}}
243 do_catchsql_test 6.13 { SELECT * FROM t2 } {0 {a b}} 251 do_catchsql_test 6.13 { SELECT * FROM t2 } {0 {a b}}
244 252
245 db_swap test.db2 test.db 253 db_swap test.db2 test.db
246 do_catchsql_test 6.14 { SELECT * FROM t1 } {0 {1 2 3 4 5 6}} 254 do_catchsql_test 6.14 { SELECT * FROM t1 } {0 {1 2 3 4 5 6}}
247 do_catchsql_test 6.15 { SELECT * FROM t2 } {1 {no such table: t2}} 255 do_catchsql_test 6.15 { SELECT * FROM t2 } {1 {no such table: t2}}
248 256
249 finish_test 257 finish_test
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698