xref: /sqlite-3.40.0/test/mallocD.test (revision eee4c8ca)
165839c6aSdanielk1977# 2007 Aug 29
265839c6aSdanielk1977#
365839c6aSdanielk1977# The author disclaims copyright to this source code.  In place of
465839c6aSdanielk1977# a legal notice, here is a blessing:
565839c6aSdanielk1977#
665839c6aSdanielk1977#    May you do good and not evil.
765839c6aSdanielk1977#    May you find forgiveness for yourself and forgive others.
865839c6aSdanielk1977#    May you share freely, never taking more than you give.
965839c6aSdanielk1977#
1065839c6aSdanielk1977#***********************************************************************
1165839c6aSdanielk1977#
12*eee4c8caSdrh# $Id: mallocD.test,v 1.6 2008/02/18 22:24:58 drh Exp $
1365839c6aSdanielk1977
1465839c6aSdanielk1977set testdir [file dirname $argv0]
1565839c6aSdanielk1977source $testdir/tester.tcl
16*eee4c8caSdrhsource $testdir/malloc_common.tcl
17369ff42eSdanielk1977
18dec6fae9Sdrh# Only run these tests if memory debugging is turned on.
19dec6fae9Sdrh#
20*eee4c8caSdrhif {!$MEMDEBUG} {
21dec6fae9Sdrh   puts "Skipping mallocD tests: not compiled with -DSQLITE_MEMDEBUG..."
22dec6fae9Sdrh   finish_test
23dec6fae9Sdrh   return
24dec6fae9Sdrh}
2565839c6aSdanielk1977
26bf260978Sdanielk1977db close
2765839c6aSdanielk1977sqlite3_simulate_device -char atomic
28bf260978Sdanielk1977sqlite3 db test.db -vfs devsym
2965839c6aSdanielk1977
3065839c6aSdanielk1977set PREP {
3165839c6aSdanielk1977  PRAGMA page_size = 1024;
3265839c6aSdanielk1977  CREATE TABLE abc(a, b, c);
3365839c6aSdanielk1977}
3465839c6aSdanielk1977
3565839c6aSdanielk1977do_malloc_test mallocD-1 -sqlprep $PREP -sqlbody {
3665839c6aSdanielk1977  INSERT INTO abc VALUES(1, 2, 3);
3765839c6aSdanielk1977}
3865839c6aSdanielk1977
3965839c6aSdanielk1977do_malloc_test mallocD-2 -sqlprep $PREP -sqlbody {
4065839c6aSdanielk1977  BEGIN;
4165839c6aSdanielk1977  INSERT INTO abc VALUES(1, 2, 3);
4265839c6aSdanielk1977  INSERT INTO abc VALUES(4, 5, 6);
4365839c6aSdanielk1977  ROLLBACK;
4465839c6aSdanielk1977}
4565839c6aSdanielk1977
4665839c6aSdanielk1977do_malloc_test mallocD-3 -sqlprep $PREP -sqlbody {
4765839c6aSdanielk1977  BEGIN;
4865839c6aSdanielk1977  INSERT INTO abc VALUES(1, 2, 3);
4965839c6aSdanielk1977  INSERT INTO abc VALUES(4, 5, randstr(1500,1500));
5065839c6aSdanielk1977  COMMIT;
5165839c6aSdanielk1977}
5265839c6aSdanielk1977
535a8f9374Sdanielk1977ifcapable attach {
5465839c6aSdanielk1977  do_malloc_test mallocD-4 -sqlprep $PREP -sqlbody {
5565839c6aSdanielk1977    ATTACH 'test2.db' AS aux;
5665839c6aSdanielk1977    BEGIN;
5765839c6aSdanielk1977    CREATE TABLE aux.def(d, e, f);
5865839c6aSdanielk1977    INSERT INTO abc VALUES(4, 5, 6);
5965839c6aSdanielk1977    COMMIT;
6065839c6aSdanielk1977  }
615a8f9374Sdanielk1977}
6265839c6aSdanielk1977
6365839c6aSdanielk1977sqlite3_simulate_device -char {}
6465839c6aSdanielk1977
6565839c6aSdanielk1977finish_test
66