sqlite/test/win32heap.test
mistachkin ac1f10458b Add experimental sqlite3_config option to control the native Win32 heap size.
FossilOrigin-Name: f09f11e94b5a7c2e51d99c3700d2acd2f3903de9
2013-11-23 00:27:29 +00:00

75 lines
1.4 KiB
Plaintext

# 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