xref: /sqlite-3.40.0/test/quick.test (revision d230f648)
1#
2#    May you do good and not evil.
3#    May you find forgiveness for yourself and forgive others.
4#    May you share freely, never taking more than you give.
5#
6#***********************************************************************
7# This file runs all tests.
8#
9# $Id: quick.test,v 1.53 2007/04/28 15:47:45 danielk1977 Exp $
10
11proc lshift {lvar} {
12  upvar $lvar l
13  set ret [lindex $l 0]
14  set l [lrange $l 1 end]
15  return $ret
16}
17while {[set arg [lshift argv]] != ""} {
18  switch -- $arg {
19    -sharedpagercache {
20      sqlite3_enable_shared_cache 1
21    }
22    default {
23      set argv [linsert $argv 0 $arg]
24      break
25    }
26  }
27}
28
29set testdir [file dirname $argv0]
30source $testdir/tester.tcl
31rename finish_test really_finish_test
32proc finish_test {} {}
33set ISQUICK 1
34
35set EXCLUDE {
36  all.test
37  async.test
38  async2.test
39  btree2.test
40  btree3.test
41  btree4.test
42  btree5.test
43  btree6.test
44  corrupt.test
45  crash.test
46  crash2.test
47  exclusive3.test
48  loadext.test
49  malloc.test
50  malloc2.test
51  malloc3.test
52  memleak.test
53  misc7.test
54  misuse.test
55  quick.test
56  speed1.test
57  speed2.test
58
59  incrvacuum_ioerr.test
60  autovacuum_crash.test
61  btree8.test
62  utf16.test
63  shared_err.test
64  vtab_err.test
65}
66
67if {[sqlite3 -has-codec]} {
68  # lappend EXCLUDE \
69  #  conflict.test
70}
71
72
73# Files to include in the test.  If this list is empty then everything
74# that is not in the EXCLUDE list is run.
75#
76set INCLUDE {
77}
78
79foreach testfile [lsort -dictionary [glob $testdir/*.test]] {
80  set tail [file tail $testfile]
81  if {[lsearch -exact $EXCLUDE $tail]>=0} continue
82  if {[llength $INCLUDE]>0 && [lsearch -exact $INCLUDE $tail]<0} continue
83  source $testfile
84  catch {db close}
85  if {$sqlite_open_file_count>0} {
86    puts "$tail did not close all files: $sqlite_open_file_count"
87    incr nErr
88    lappend ::failList $tail
89    set sqlite_open_file_count 0
90  }
91  if {$::sqlite3_tsd_count} {
92    puts "Thread-specific data leak: $::sqlite3_tsd_count instances"
93    incr nErr
94    lappend ::failList $tail
95    set ::sqlite3_tsd_count 0
96  }
97}
98source $testdir/misuse.test
99
100set sqlite_open_file_count 0
101really_finish_test
102