xref: /sqlite-3.40.0/test/mallocAll.test (revision 430e74cd)
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