|
1 # 2006 June 25 |
|
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 attempts to check the library in an out-of-memory situation. |
|
12 # |
|
13 # $Id: malloc6.test,v 1.5 2008/02/18 22:24:58 drh Exp $ |
|
14 |
|
15 set testdir [file dirname $argv0] |
|
16 source $testdir/tester.tcl |
|
17 source $testdir/malloc_common.tcl |
|
18 |
|
19 # Only run these tests if memory debugging is turned on. |
|
20 # |
|
21 if {!$MEMDEBUG} { |
|
22 puts "Skipping malloc6 tests: not compiled with -DSQLITE_MEMDEBUG..." |
|
23 finish_test |
|
24 return |
|
25 } |
|
26 |
|
27 |
|
28 set sqlite_os_trace 0 |
|
29 do_malloc_test malloc6-1 -tclprep { |
|
30 db close |
|
31 } -tclbody { |
|
32 if {[catch {sqlite3 db test.db}]} { |
|
33 error "out of memory" |
|
34 } |
|
35 sqlite3_extended_result_codes db 1 |
|
36 } -sqlbody { |
|
37 DROP TABLE IF EXISTS t1; |
|
38 CREATE TABLE IF NOT EXISTS t1( |
|
39 a int, b float, c double, d text, e varchar(20), |
|
40 primary key(a,b,c) |
|
41 ); |
|
42 CREATE TABLE IF NOT EXISTS t1( |
|
43 a int, b float, c double, d text, e varchar(20), |
|
44 primary key(a,b,c) |
|
45 ); |
|
46 DROP TABLE IF EXISTS t1; |
|
47 } |
|
48 |
|
49 # Ensure that no file descriptors were leaked. |
|
50 do_test malloc6-1.X { |
|
51 catch {db close} |
|
52 set sqlite_open_file_count |
|
53 } {0} |
|
54 |
|
55 finish_test |