|
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 |