Annotation of embedaddon/sqlite3/test/mallocA.test, revision 1.1.1.1

1.1       misho       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.8 2008/02/18 22:24:58 drh 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>