sqlite/test/mallocF.test
drh eee4c8ca11 Add the memory fault simulator to mem5.c. Enable soft heap limit on mem5.c.
Limit the size of hash tables and the vdbefifo when using mem5.c. (CVS 4795)

FossilOrigin-Name: 63da5d97542e4f54c33329833477c8d96ce05dd0
2008-02-18 22:24:57 +00:00

77 lines
1.8 KiB
Plaintext

# 2007 Aug 29
#
# 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 test script checks that tickets #2794, #2795, #2796, and #2797
# have been fixed.
#
# $Id: mallocF.test,v 1.4 2008/02/18 22:24:58 drh Exp $
set testdir [file dirname $argv0]
source $testdir/tester.tcl
source $testdir/malloc_common.tcl
# Only run these tests if memory debugging is turned on.
#
if {!$MEMDEBUG} {
puts "Skipping mallocF tests: not compiled with -DSQLITE_MEMDEBUG..."
finish_test
return
}
# tickets #2794 and #2795 and #2797
#
set PREP {
CREATE TABLE t1(x,y);
INSERT INTO t1 VALUES('abc123', 5);
INSERT INTO t1 VALUES('xyz987', 42);
}
do_malloc_test malloeF-1 -sqlprep $PREP -sqlbody {
SELECT * FROM t1 WHERE x GLOB 'abc*'
}
# ticket #2796
#
set PREP {
CREATE TABLE t1(x PRIMARY KEY,y UNIQUE);
INSERT INTO t1 VALUES('abc123', 5);
INSERT INTO t1 VALUES('xyz987', 42);
}
do_malloc_test malloeF-2 -sqlprep $PREP -sqlbody {
SELECT x FROM t1
WHERE y=1 OR y=2 OR y=3 OR y=4 OR y=5
OR y=6 OR y=7 OR y=8 OR y=9 OR y=10
OR y=11 OR y=12 OR y=13 OR y=14 OR y=15
OR y=x
}
set PREP {
CREATE TABLE t1(x PRIMARY KEY,y UNIQUE);
INSERT INTO t1 VALUES('abc123', 5);
INSERT INTO t1 VALUES('xyz987', 42);
}
do_malloc_test malloeF-3 -sqlprep $PREP -sqlbody {
SELECT x FROM t1 WHERE y BETWEEN 10 AND 29
}
# Ticket #2843
#
set PREP {
CREATE TABLE t1(x);
CREATE TRIGGER r1 BEFORE INSERT ON t1 BEGIN
SELECT 'hello';
END;
}
do_malloc_test mallocF-4 -sqlprep $PREP -sqlbody {
INSERT INTO t1 VALUES(random());
}
finish_test