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