sqlite/test/mallocA.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

79 lines
1.8 KiB
Plaintext

# 2007 April 30
#
# 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 contains additional out-of-memory checks (see malloc.tcl).
#
# $Id: mallocA.test,v 1.8 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 mallocA tests: not compiled with -DSQLITE_MEMDEBUG..."
finish_test
return
}
# Construct a test database
#
file delete -force test.db.bu
db eval {
CREATE TABLE t1(a COLLATE NOCASE,b,c);
INSERT INTO t1 VALUES(1,2,3);
INSERT INTO t1 VALUES(1,2,4);
INSERT INTO t1 VALUES(2,3,4);
CREATE INDEX t1i1 ON t1(a);
CREATE INDEX t1i2 ON t1(b,c);
CREATE TABLE t2(x,y,z);
}
db close
file copy test.db test.db.bu
do_malloc_test mallocA-1 -testdb test.db.bu -sqlbody {
ANALYZE
}
do_malloc_test mallocA-1.1 -testdb test.db.bu -sqlbody {
ANALYZE t1
}
do_malloc_test mallocA-1.2 -testdb test.db.bu -sqlbody {
ANALYZE main
}
do_malloc_test mallocA-1.3 -testdb test.db.bu -sqlbody {
ANALYZE main.t1
}
ifcapable reindex {
do_malloc_test mallocA-2 -testdb test.db.bu -sqlbody {
REINDEX;
}
do_malloc_test mallocA-3 -testdb test.db.bu -sqlbody {
REINDEX t1;
}
do_malloc_test mallocA-4 -testdb test.db.bu -sqlbody {
REINDEX main.t1;
}
do_malloc_test mallocA-5 -testdb test.db.bu -sqlbody {
REINDEX nocase;
}
}
# Ensure that no file descriptors were leaked.
do_test malloc-99.X {
catch {db close}
set sqlite_open_file_count
} {0}
file delete -force test.db.bu
finish_test