# 2013 November 22 # # The author disclaims copyright to this source code. In place of # a legal notice, here is a blessing: # # May you do good and not evil. # May you find forgiveness for yourself and forgive others. # May you share freely, never taking more than you give. # #*********************************************************************** # This file implements regression tests for SQLite library. The # focus of this script is recovery from transient manditory locks # that sometimes appear on database files due to anti-virus software. # if {$tcl_platform(platform)!="windows"} return set testdir [file dirname $argv0] source $testdir/tester.tcl ifcapable !win32malloc { finish_test return } set testprefix win32heap do_test 1.1 { catch {db close} sqlite3_shutdown sqlite3_config_heap_size 1048576 sqlite3_initialize } {SQLITE_OK} do_test 1.2 { sqlite3 db test.db catchsql { CREATE TABLE t1(x); } } {0 {}} do_test 1.3 { catchsql { INSERT INTO t1 (x) VALUES(RANDOMBLOB(1048576)); } } {1 {out of memory}} do_test 1.4 { catchsql { SELECT COUNT(*) FROM t1; } } {0 0} do_test 1.5 { catch {db close} sqlite3_shutdown sqlite3_config_heap_size 0 sqlite3_initialize } {SQLITE_OK} do_test 1.6 { sqlite3 db test.db catchsql { INSERT INTO t1 (x) VALUES(RANDOMBLOB(1048576)); } } {0 {}} do_test 1.7 { catchsql { SELECT COUNT(*) FROM t1; } } {0 1} finish_test