Merge branch 'prerelease'
[sqlcipher.git] / test / fts2.test
blobb1e2959366cb3a66992622ce96a30989c1807ebb
1 # 2008 July 22
3 #    May you do good and not evil.
4 #    May you find forgiveness for yourself and forgive others.
5 #    May you share freely, never taking more than you give.
7 #***********************************************************************
8 # This file runs all tests.
10 # $Id: fts2.test,v 1.2 2008/07/23 18:17:32 drh Exp $
12 proc lshift {lvar} {
13   upvar $lvar l
14   set ret [lindex $l 0]
15   set l [lrange $l 1 end]
16   return $ret
18 while {[set arg [lshift argv]] != ""} {
19   switch -- $arg {
20     -sharedpagercache {
21       sqlite3_enable_shared_cache 1
22     }
23     -soak {
24        set G(issoak) 1
25     }
26     default {
27       set argv [linsert $argv 0 $arg]
28       break
29     }
30   }
33 set testdir [file dirname $argv0]
34 source $testdir/tester.tcl
35 # If SQLITE_ENABLE_FTS2 is defined, omit this file.
36 ifcapable !fts2 {
37   return
39 rename finish_test really_finish_test
40 proc finish_test {} {}
41 set G(isquick) 1
43 set EXCLUDE {
44   fts2.test
47 # Files to include in the test.  If this list is empty then everything
48 # that is not in the EXCLUDE list is run.
50 set INCLUDE {
53 foreach testfile [lsort -dictionary [glob $testdir/fts2*.test]] {
54   set tail [file tail $testfile]
55   if {[lsearch -exact $EXCLUDE $tail]>=0} continue
56   if {[llength $INCLUDE]>0 && [lsearch -exact $INCLUDE $tail]<0} continue
57   source $testfile
58   catch {db close}
59   if {$sqlite_open_file_count>0} {
60     puts "$tail did not close all files: $sqlite_open_file_count"
61     fail_test $tail
62     set sqlite_open_file_count 0
63   }
66 set sqlite_open_file_count 0
67 really_finish_test