1# 2014 August 16 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# This file implements regression tests for sessions SQLite extension. 13# Specifically, this file contains tests for "patchset" changes. 14# 15 16if {![info exists testdir]} { 17 set testdir [file join [file dirname [info script]] .. .. test] 18} 19source [file join [file dirname [info script]] session_common.tcl] 20source $testdir/tester.tcl 21ifcapable !session {finish_test; return} 22 23if {[permutation]=="session_strm" || [permutation]=="session_eec"} { 24 finish_test 25 return 26} 27 28set testprefix sessionbig 29 30forcedelete test.db2 31sqlite3 db2 test.db2 32 33do_execsql_test 1.0 { 34 CREATE TABLE t1(a INTEGER PRIMARY KEY, b); 35} 36do_execsql_test -db db2 1.1 { 37 CREATE TABLE t1(a INTEGER PRIMARY KEY, b); 38} 39 40do_test 1.2 { 41 do_then_apply_sql { 42 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 43 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 44 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 45 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 46 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 47 48 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 49 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 50 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 51 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 52 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 53 54 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 55 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 56 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 57 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 58 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 59 } 60} {} 61 62do_test 1.3 { 63 execsql { DELETE FROM t1 } 64 execsql2 { DELETE FROM t1 } 65} {} 66 67do_test 1.4 { 68 set rc [catch { 69 do_then_apply_sql { 70 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 71 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 72 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 73 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 74 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 75 76 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 77 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 78 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 79 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 80 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 81 82 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 83 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 84 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 85 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 86 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 87 88 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 89 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 90 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 91 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 92 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 93 94 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 95 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 96 } 97 } msg] 98 list $rc $msg 99} {1 SQLITE_NOMEM} 100 101 102finish_test 103 104