1: # 2007 April 30
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 contains additional out-of-memory checks (see malloc.tcl).
12: #
13: # $Id: mallocA.test,v 1.1.1.1 2012/02/21 17:04:16 misho Exp $
14:
15: set testdir [file dirname $argv0]
16: source $testdir/tester.tcl
17: source $testdir/malloc_common.tcl
18:
19: # Only run these tests if memory debugging is turned on.
20: #
21: if {!$MEMDEBUG} {
22: puts "Skipping mallocA tests: not compiled with -DSQLITE_MEMDEBUG..."
23: finish_test
24: return
25: }
26:
27:
28: # Construct a test database
29: #
30: forcedelete test.db.bu
31: db eval {
32: CREATE TABLE t1(a COLLATE NOCASE,b,c);
33: INSERT INTO t1 VALUES(1,2,3);
34: INSERT INTO t1 VALUES(1,2,4);
35: INSERT INTO t1 VALUES(2,3,4);
36: CREATE INDEX t1i1 ON t1(a);
37: CREATE INDEX t1i2 ON t1(b,c);
38: CREATE TABLE t2(x,y,z);
39: }
40: db close
41: copy_file test.db test.db.bu
42:
43:
44: do_malloc_test mallocA-1 -testdb test.db.bu -sqlbody {
45: ANALYZE
46: }
47: do_malloc_test mallocA-1.1 -testdb test.db.bu -sqlbody {
48: ANALYZE t1
49: }
50: do_malloc_test mallocA-1.2 -testdb test.db.bu -sqlbody {
51: ANALYZE main
52: }
53: do_malloc_test mallocA-1.3 -testdb test.db.bu -sqlbody {
54: ANALYZE main.t1
55: }
56: ifcapable reindex {
57: do_malloc_test mallocA-2 -testdb test.db.bu -sqlbody {
58: REINDEX;
59: }
60: do_malloc_test mallocA-3 -testdb test.db.bu -sqlbody {
61: REINDEX t1;
62: }
63: do_malloc_test mallocA-4 -testdb test.db.bu -sqlbody {
64: REINDEX main.t1;
65: }
66: do_malloc_test mallocA-5 -testdb test.db.bu -sqlbody {
67: REINDEX nocase;
68: }
69: }
70:
71: # Ensure that no file descriptors were leaked.
72: do_test malloc-99.X {
73: catch {db close}
74: set sqlite_open_file_count
75: } {0}
76:
77: forcedelete test.db.bu
78: finish_test
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>