modernc.org/cc@v1.0.1/v2/testdata/_sqlite/ext/rbu/rbufault2.test (about) 1 # 2014 October 22 2 # 3 # The author disclaims copyright to this source code. In place of 4 # a legal notice, here is a blessing: 5 # 6 # May you do good and not evil. 7 # May you find forgiveness for yourself and forgive others. 8 # May you share freely, never taking more than you give. 9 # 10 #*********************************************************************** 11 # 12 13 if {![info exists testdir]} { 14 set testdir [file join [file dirname [info script]] .. .. test] 15 } 16 source $testdir/tester.tcl 17 source $testdir/malloc_common.tcl 18 set ::testprefix rbufault2 19 20 forcedelete rbu.db 21 do_execsql_test 1.0 { 22 CREATE TABLE target(x UNIQUE, y, z, PRIMARY KEY(y)); 23 INSERT INTO target VALUES(1, 2, 3); 24 INSERT INTO target VALUES(4, 5, 6); 25 26 ATTACH 'rbu.db' AS rbu; 27 CREATE TABLE rbu.data_target(x, y, z, rbu_control); 28 INSERT INTO data_target VALUES(7, 8, 9, 0); 29 INSERT INTO data_target VALUES(1, 11, 12, 0); 30 DETACH rbu; 31 } 32 db close 33 34 forcecopy test.db test.db-bak 35 forcecopy rbu.db rbu.db-bak 36 37 do_faultsim_test 1 -faults oom* -prep { 38 forcecopy test.db-bak test.db 39 forcecopy rbu.db-bak rbu.db 40 forcedelete test.db-oal test.db-wal rbu.db-journal 41 sqlite3rbu rbu test.db rbu.db 42 } -body { 43 while {[rbu step]=="SQLITE_OK"} { } 44 rbu close 45 } -test { 46 faultsim_test_result \ 47 {1 {SQLITE_CONSTRAINT - UNIQUE constraint failed: target.x}} \ 48 {1 SQLITE_CONSTRAINT} \ 49 {1 SQLITE_NOMEM} \ 50 {1 {SQLITE_NOMEM - unable to open a temporary database file for storing temporary tables}} \ 51 {1 {SQLITE_NOMEM - out of memory}} 52 } 53 54 55 56 57 finish_test 58