| OLD | NEW | 
 | (Empty) | 
|   1 # 2007 April 30 |  | 
|   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 contains additional out-of-memory checks (see malloc.tcl) |  | 
|  12 # added to expose a bug in out-of-memory handling for sqlite3_prepare(). |  | 
|  13 # |  | 
|  14 # $Id: malloc9.test,v 1.5 2008/04/04 12:21:26 drh Exp $ |  | 
|  15  |  | 
|  16 set testdir [file dirname $argv0] |  | 
|  17 source $testdir/tester.tcl |  | 
|  18 source $testdir/malloc_common.tcl |  | 
|  19  |  | 
|  20 # Only run these tests if memory debugging is turned on. |  | 
|  21 # |  | 
|  22 if {!$MEMDEBUG} { |  | 
|  23    puts "Skipping malloc9 tests: not compiled with -DSQLITE_MEMDEBUG..." |  | 
|  24    finish_test |  | 
|  25    return |  | 
|  26 } |  | 
|  27  |  | 
|  28  |  | 
|  29 do_malloc_test malloc-9.1 -tclprep { |  | 
|  30   set sql {CREATE TABLE t1(x)} |  | 
|  31   set sqlbytes [string length $sql] |  | 
|  32   append sql {; INSERT INTO t1 VALUES(1)} |  | 
|  33 } -tclbody { |  | 
|  34   if {[catch {sqlite3_prepare db $sql $sqlbytes TAIL} STMT]} { |  | 
|  35     set msg $STMT |  | 
|  36     set STMT {} |  | 
|  37     error $msg |  | 
|  38   } |  | 
|  39 } -cleanup { |  | 
|  40   if {$STMT!=""} { |  | 
|  41     sqlite3_finalize $STMT |  | 
|  42   } |  | 
|  43 } |  | 
|  44  |  | 
|  45 # Ensure that no file descriptors were leaked. |  | 
|  46 do_test malloc9-99.X { |  | 
|  47   catch {db close} |  | 
|  48   set sqlite_open_file_count |  | 
|  49 } {0} |  | 
|  50  |  | 
|  51 finish_test |  | 
| OLD | NEW |