persistentstorage/sqlite3api/TEST/TclScript/mallocF.test
changeset 0 08ec8eefde2f
equal deleted inserted replaced
-1:000000000000 0:08ec8eefde2f
       
     1 # 2007 Aug 29
       
     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 #
       
    12 # This test script checks that tickets #2794, #2795, #2796, and #2797
       
    13 # have been fixed.
       
    14 # 
       
    15 # $Id: mallocF.test,v 1.4 2008/02/18 22:24:58 drh Exp $
       
    16 
       
    17 set testdir [file dirname $argv0]
       
    18 source $testdir/tester.tcl
       
    19 source $testdir/malloc_common.tcl
       
    20 
       
    21 # Only run these tests if memory debugging is turned on.
       
    22 #
       
    23 if {!$MEMDEBUG} {
       
    24    puts "Skipping mallocF tests: not compiled with -DSQLITE_MEMDEBUG..."
       
    25    finish_test
       
    26    return
       
    27 }
       
    28 
       
    29 # tickets #2794 and #2795 and #2797
       
    30 #
       
    31 set PREP {
       
    32   CREATE TABLE t1(x,y);
       
    33   INSERT INTO t1 VALUES('abc123', 5);
       
    34   INSERT INTO t1 VALUES('xyz987', 42);
       
    35 }
       
    36 do_malloc_test malloeF-1 -sqlprep $PREP -sqlbody {
       
    37   SELECT * FROM t1 WHERE x GLOB 'abc*'
       
    38 }
       
    39 
       
    40 # ticket #2796
       
    41 #
       
    42 set PREP {
       
    43   CREATE TABLE t1(x PRIMARY KEY,y UNIQUE);
       
    44   INSERT INTO t1 VALUES('abc123', 5);
       
    45   INSERT INTO t1 VALUES('xyz987', 42);
       
    46 }
       
    47 do_malloc_test malloeF-2 -sqlprep $PREP -sqlbody {
       
    48   SELECT x FROM t1
       
    49    WHERE y=1 OR y=2 OR y=3 OR y=4 OR y=5
       
    50       OR y=6 OR y=7 OR y=8 OR y=9 OR y=10
       
    51       OR y=11 OR y=12 OR y=13 OR y=14 OR y=15
       
    52       OR y=x
       
    53 }
       
    54 
       
    55 set PREP {
       
    56   CREATE TABLE t1(x PRIMARY KEY,y UNIQUE);
       
    57   INSERT INTO t1 VALUES('abc123', 5);
       
    58   INSERT INTO t1 VALUES('xyz987', 42);
       
    59 }
       
    60 do_malloc_test malloeF-3 -sqlprep $PREP -sqlbody {
       
    61   SELECT x FROM t1 WHERE y BETWEEN 10 AND 29
       
    62 }
       
    63 
       
    64 # Ticket #2843
       
    65 #
       
    66 set PREP {
       
    67   CREATE TABLE t1(x);
       
    68   CREATE TRIGGER r1 BEFORE INSERT ON t1 BEGIN
       
    69     SELECT 'hello';
       
    70   END;
       
    71 }
       
    72 do_malloc_test mallocF-4 -sqlprep $PREP -sqlbody {
       
    73   INSERT INTO t1 VALUES(random());
       
    74 }
       
    75 
       
    76 finish_test