diff options
author | dan <dan@noemail.net> | 2011-03-21 19:41:29 +0000 |
---|---|---|
committer | dan <dan@noemail.net> | 2011-03-21 19:41:29 +0000 |
commit | db04571c79364fcfffc2dfd7fc655dc9d1b7d071 (patch) | |
tree | aeca8f526e19189a31bc9e24feb3f4757fec7784 /ext/session/sessionfault.test | |
parent | 8cc9c1aa1545dc5d05849f1914f8a25371984ed5 (diff) | |
download | sqlite-db04571c79364fcfffc2dfd7fc655dc9d1b7d071.tar.gz sqlite-db04571c79364fcfffc2dfd7fc655dc9d1b7d071.zip |
Remove some unreachable code in sqlite3session.c. Add test cases.
FossilOrigin-Name: 39cdfa5324ae91bfbbac733b1e3e2d33ca883340
Diffstat (limited to 'ext/session/sessionfault.test')
-rw-r--r-- | ext/session/sessionfault.test | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/ext/session/sessionfault.test b/ext/session/sessionfault.test index d6dd361b0..8f38fe63e 100644 --- a/ext/session/sessionfault.test +++ b/ext/session/sessionfault.test @@ -82,4 +82,56 @@ do_faultsim_test pagerfault-2 -faults oom-* -prep { faultsim_integrity_check } +catch { db close } +catch { db2 close } +forcedelete test.db2 test.db +sqlite3 db2 test.db2 +sqlite3 db test.db + +proc xConflict {op tbl type args} { + if { $type=="CONFLICT" || $type=="DATA" } { + return "REPLACE" + } + return "OMIT" +} + +do_test 3.0 { + execsql { + PRAGMA encoding = 'utf16'; + CREATE TABLE t1(a PRIMARY KEY, b); + INSERT INTO t1 VALUES(5, 32); + } + execsql { + PRAGMA encoding = 'utf16'; + CREATE TABLE t1(a PRIMARY KEY, b NOT NULL); + INSERT INTO t1 VALUES(1, 2); + INSERT INTO t1 VALUES(2, 4); + INSERT INTO t1 VALUES(4, 16); + } db2 +} {} + +faultsim_save_and_close +db2 close + +do_faultsim_test pagerfault-3 -faults oom-transient -prep { + catch {db2 close} + catch {db close} + faultsim_restore_and_reopen + sqlite3 db2 test.db2 + sqlite3session S db main + S attach t1 + execsql { + INSERT INTO t1 VALUES(1, 45); + INSERT INTO t1 VALUES(2, 55); + INSERT INTO t1 VALUES(3, 55); + UPDATE t1 SET a = 4 WHERE a = 5; + } +} -body { + sqlite3changeset_apply db2 [S changeset] xConflict +} -test { + catch { S delete } + faultsim_test_result {0 {}} {1 SQLITE_NOMEM} + if {$testrc==0} { compare_db db db2 } +} + finish_test |