gitlab.com/CoiaPrant/sqlite3@v1.19.1/testdata/tcl/mallocD.test (about)

     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  # $Id: mallocD.test,v 1.6 2008/02/18 22:24:58 drh Exp $
    13  
    14  set testdir [file dirname $argv0]
    15  source $testdir/tester.tcl
    16  source $testdir/malloc_common.tcl
    17  
    18  # Only run these tests if memory debugging is turned on.
    19  #
    20  if {!$MEMDEBUG} {
    21     puts "Skipping mallocD tests: not compiled with -DSQLITE_MEMDEBUG..."
    22     finish_test
    23     return
    24  }
    25  
    26  db close
    27  sqlite3_simulate_device -char atomic
    28  sqlite3 db test.db -vfs devsym
    29  
    30  set PREP { 
    31    PRAGMA page_size = 1024;
    32    CREATE TABLE abc(a, b, c);
    33  }
    34  
    35  do_malloc_test mallocD-1 -sqlprep $PREP -sqlbody { 
    36    INSERT INTO abc VALUES(1, 2, 3);
    37  }
    38  
    39  do_malloc_test mallocD-2 -sqlprep $PREP -sqlbody {
    40    BEGIN;
    41    INSERT INTO abc VALUES(1, 2, 3);
    42    INSERT INTO abc VALUES(4, 5, 6);
    43    ROLLBACK;
    44  }
    45  
    46  do_malloc_test mallocD-3 -sqlprep $PREP -sqlbody {
    47    BEGIN;
    48    INSERT INTO abc VALUES(1, 2, 3);
    49    INSERT INTO abc VALUES(4, 5, randstr(1500,1500));
    50    COMMIT;
    51  }
    52  
    53  ifcapable attach {
    54    do_malloc_test mallocD-4 -sqlprep $PREP -sqlbody {
    55      ATTACH 'test2.db' AS aux;
    56      BEGIN;
    57      CREATE TABLE aux.def(d, e, f);
    58      INSERT INTO abc VALUES(4, 5, 6);
    59      COMMIT;
    60    }
    61  }
    62  
    63  sqlite3_simulate_device -char {}
    64  
    65  finish_test