github.com/jdgcs/sqlite3@v1.12.1-0.20210908114423-bc5f96e4dd51/testdata/tcl/win32heap.test (about) 1 # 2013 November 22 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 implements regression tests for SQLite library. The 12 # focus of this script is the Win32 heap implementation. 13 # 14 15 if {$tcl_platform(platform)!="windows"} return 16 17 set testdir [file dirname $argv0] 18 source $testdir/tester.tcl 19 20 ifcapable !win32malloc { 21 finish_test 22 return 23 } 24 25 set testprefix win32heap 26 27 do_test 1.1 { 28 catch {db close} 29 sqlite3_shutdown 30 sqlite3_config_heap_size 1048576 31 sqlite3_initialize 32 } {SQLITE_OK} 33 34 do_test 1.2 { 35 sqlite3 db test.db 36 catchsql { 37 CREATE TABLE t1(x); 38 } 39 } {0 {}} 40 41 do_test 1.3 { 42 catchsql { 43 INSERT INTO t1 (x) VALUES(RANDOMBLOB(1048576)); 44 } 45 } {1 {out of memory}} 46 47 do_test 1.4 { 48 catchsql { 49 SELECT COUNT(*) FROM t1; 50 } 51 } {0 0} 52 53 do_test 1.5 { 54 catch {db close} 55 sqlite3_shutdown 56 sqlite3_config_heap_size 0 57 sqlite3_initialize 58 } {SQLITE_OK} 59 60 do_test 1.6 { 61 sqlite3 db test.db 62 catchsql { 63 INSERT INTO t1 (x) VALUES(RANDOMBLOB(1048576)); 64 } 65 } {0 {}} 66 67 do_test 1.7 { 68 catchsql { 69 SELECT COUNT(*) FROM t1; 70 } 71 } {0 1} 72 73 finish_test