| OLD | NEW | 
 | (Empty) | 
|   1 # 2006 July 26 |  | 
|   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_prepare16(). |  | 
|  13 # |  | 
|  14 # $Id: malloc7.test,v 1.5 2008/02/18 22:24:58 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 malloc7 tests: not compiled with -DSQLITE_MEMDEBUG..." |  | 
|  24    finish_test |  | 
|  25    return |  | 
|  26 } |  | 
|  27  |  | 
|  28  |  | 
|  29 do_malloc_test malloc7-1 -sqlprep { |  | 
|  30   CREATE TABLE t1(a,b,c,d); |  | 
|  31   CREATE INDEX i1 ON t1(b,c); |  | 
|  32 } -tclbody { |  | 
|  33   set sql16 [encoding convertto unicode "SELECT * FROM sqlite_master"] |  | 
|  34   append sql16 "\00\00" |  | 
|  35   set nbyte [string length $sql16] |  | 
|  36   set ::STMT [sqlite3_prepare16 db $sql16 $nbyte DUMMY] |  | 
|  37   sqlite3_finalize $::STMT |  | 
|  38 }  |  | 
|  39  |  | 
|  40  |  | 
|  41 # Ensure that no file descriptors were leaked. |  | 
|  42 do_test malloc-99.X { |  | 
|  43   catch {db close} |  | 
|  44   set sqlite_open_file_count |  | 
|  45 } {0} |  | 
|  46  |  | 
|  47 puts open-file-count=$sqlite_open_file_count |  | 
|  48 finish_test |  | 
| OLD | NEW |