1f998b730Sdrh# 2f998b730Sdrh# May you do good and not evil. 3f998b730Sdrh# May you find forgiveness for yourself and forgive others. 4f998b730Sdrh# May you share freely, never taking more than you give. 5f998b730Sdrh# 6f998b730Sdrh#*********************************************************************** 7f998b730Sdrh# This file runs all out-of-memory tests. 8f998b730Sdrh# 9f998b730Sdrh# $Id: mallocAll.test,v 1.1 2007/11/26 13:36:00 drh Exp $ 10f998b730Sdrh 11f998b730Sdrhproc lshift {lvar} { 12f998b730Sdrh upvar $lvar l 13f998b730Sdrh set ret [lindex $l 0] 14f998b730Sdrh set l [lrange $l 1 end] 15f998b730Sdrh return $ret 16f998b730Sdrh} 17f998b730Sdrhwhile {[set arg [lshift argv]] != ""} { 18f998b730Sdrh switch -- $arg { 19f998b730Sdrh -sharedpagercache { 20f998b730Sdrh sqlite3_enable_shared_cache 1 21f998b730Sdrh } 22f998b730Sdrh default { 23f998b730Sdrh set argv [linsert $argv 0 $arg] 24f998b730Sdrh break 25f998b730Sdrh } 26f998b730Sdrh } 27f998b730Sdrh} 28f998b730Sdrh 29f998b730Sdrhset testdir [file dirname $argv0] 30f998b730Sdrhsource $testdir/tester.tcl 31f998b730Sdrhrename finish_test really_finish_test 32f998b730Sdrhproc finish_test {} {} 33*430e74cdSdanset G(isquick) 1 34f998b730Sdrh 35f998b730Sdrhset EXCLUDE { 36f998b730Sdrh mallocAll.test 37f998b730Sdrh} 38f998b730Sdrh 39f998b730Sdrhif {[sqlite3 -has-codec]} { 40f998b730Sdrh # lappend EXCLUDE \ 41f998b730Sdrh # conflict.test 42f998b730Sdrh} 43f998b730Sdrh 44f998b730Sdrh 45f998b730Sdrh# Files to include in the test. If this list is empty then everything 46f998b730Sdrh# that is not in the EXCLUDE list is run. 47f998b730Sdrh# 48f998b730Sdrhset INCLUDE { 49f998b730Sdrh} 50f998b730Sdrh 51f998b730Sdrhforeach testfile [lsort -dictionary [glob $testdir/*malloc*.test]] { 52f998b730Sdrh set tail [file tail $testfile] 53f998b730Sdrh if {[lsearch -exact $EXCLUDE $tail]>=0} continue 54f998b730Sdrh if {[llength $INCLUDE]>0 && [lsearch -exact $INCLUDE $tail]<0} continue 55f998b730Sdrh source $testfile 56f998b730Sdrh catch {db close} 57f998b730Sdrh if {$sqlite_open_file_count>0} { 58f998b730Sdrh puts "$tail did not close all files: $sqlite_open_file_count" 59c1a60c51Sdan fail_test $tail 60f998b730Sdrh set sqlite_open_file_count 0 61f998b730Sdrh } 62f998b730Sdrh} 63f998b730Sdrhsource $testdir/misuse.test 64f998b730Sdrh 65f998b730Sdrhset sqlite_open_file_count 0 66f998b730Sdrhreally_finish_test 67