1c3becddbSdan# 2017 March 13 2c3becddbSdan# 3c3becddbSdan# The author disclaims copyright to this source code. In place of 4c3becddbSdan# a legal notice, here is a blessing: 5c3becddbSdan# 6c3becddbSdan# May you do good and not evil. 7c3becddbSdan# May you find forgiveness for yourself and forgive others. 8c3becddbSdan# May you share freely, never taking more than you give. 9c3becddbSdan# 10c3becddbSdan#*********************************************************************** 11c3becddbSdan# Further OOM tests. 12c3becddbSdan# 13c3becddbSdan 14c3becddbSdanset testdir [file dirname $argv0] 15c3becddbSdansource $testdir/tester.tcl 16c3becddbSdansource $testdir/malloc_common.tcl 17c3becddbSdanset testprefix mallocM 18c3becddbSdan 19c3becddbSdansqlite3_db_config_lookaside db 0 0 0 20c3becddbSdan 21c3becddbSdando_execsql_test 1.0 { 22c3becddbSdan CREATE TABLE t1(x); 23c3becddbSdan} 24*116b56a2Sdando_faultsim_test 1 -faults oom* -body { 25c3becddbSdan execsql { 26c3becddbSdan SELECT 'abc' FROM ( SELECT 'xyz' FROM t1 WHERE (SELECT 1) ) 27c3becddbSdan } 28c3becddbSdan} -test { 29c3becddbSdan faultsim_test_result {0 {}} 30c3becddbSdan} 31c3becddbSdan 32*116b56a2Sdando_execsql_test 2.0.1 { SELECT instr(x'', x'') } {1} 33*116b56a2Sdando_execsql_test 2.0.2 { SELECT instr(x'12345678', x'') } {1} 34*116b56a2Sdando_execsql_test 2.0.3 { SELECT instr(x'', x'1234') } {0} 35*116b56a2Sdan 36*116b56a2Sdando_faultsim_test 2.1 -faults oom* -body { 37*116b56a2Sdan execsql { SELECT instr (x'00', zeroblob(1)) } 38*116b56a2Sdan} -test { 39*116b56a2Sdan faultsim_test_result {0 1} 40*116b56a2Sdan} 41*116b56a2Sdan 42*116b56a2Sdando_faultsim_test 2.2 -faults oom* -body { 43*116b56a2Sdan execsql { SELECT instr (zeroblob(1), x'00') } 44*116b56a2Sdan} -test { 45*116b56a2Sdan faultsim_test_result {0 1} 46*116b56a2Sdan} 47*116b56a2Sdan 48c3becddbSdanfinish_test 49