wasCSharpSQLite – Blame information for rev 4

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 office 1 # 2001 September 15
2 #
3 # The author disclaims copyright to this source code. In place of
4 # a legal notice, here is a blessing:
5 #
6 # May you do good and not evil.
7 # May you find forgiveness for yourself and forgive others.
8 # May you share freely, never taking more than you give.
9 #
10 #***********************************************************************
11 # This file runs all tests.
12 #
13 # $Id: memleak.test,v 1.10 2007/03/30 17:17:52 drh Exp $
14  
15 set testdir [file dirname $argv0]
16 source $testdir/tester.tcl
17 rename finish_test memleak_finish_test
18 proc finish_test {} {
19 catch {db close}
20 memleak_check
21 }
22  
23 if {[file exists ./sqlite_test_count]} {
24 set COUNT [exec cat ./sqlite_test_count]
25 } else {
26 set COUNT 3
27 }
28  
29 # LeakList will hold a list of the number of unfreed mallocs after
30 # each round of the test. This number should be constant. If it
31 # grows, it may mean there is a memory leak in the library.
32 #
33 set LeakList {}
34  
35 set EXCLUDE {
36 all.test
37 quick.test
38 misuse.test
39 memleak.test
40 btree2.test
41 async.test
42 async2.test
43 trans.test
44 crash.test
45 autovacuum_crash.test
46 }
47 # Test files btree2.test and btree4.test don't work if the
48 # SQLITE_DEFAULT_AUTOVACUUM macro is defined to true (because they depend
49 # on tables being allocated starting at page 2).
50 #
51 ifcapable default_autovacuum {
52 lappend EXCLUDE btree2.test
53 lappend EXCLUDE btree4.test
54 }
55  
56 if {[sqlite3 -has-codec]} {
57 # lappend EXCLUDE
58 }
59 if {[llength $argv]>0} {
60 set FILELIST $argv
61 set argv {}
62 } else {
63 set FILELIST [lsort -dictionary [glob $testdir/*.test]]
64 }
65  
66 foreach testfile $FILELIST {
67 set tail [file tail $testfile]
68 if {[lsearch -exact $EXCLUDE $tail]>=0} continue
69 set LeakList {}
70 for {set COUNTER 0} {$COUNTER<$COUNT} {incr COUNTER} {
71 source $testfile
72 if {[info exists Leak]} {
73 lappend LeakList $Leak
74 }
75 }
76 if {$LeakList!=""} {
77 puts -nonewline memory-leak-test-$tail...
78 incr_ntest
79 foreach x $LeakList {
80 if {$x!=[lindex $LeakList 0]} {
81 puts " failed! ($LeakList)"
82 fail_test memory-leak-test-$tail
83 break
84 }
85 }
86 puts " Ok"
87 }
88 }
89 memleak_finish_test
90  
91 # Run the malloc tests and the misuse test after memory leak detection.
92 # Both tests leak memory.
93 #
94 #catch {source $testdir/misuse.test}
95 #catch {source $testdir/malloc.test}
96  
97 memleak_finish_test