• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
14set testdir [file dirname $argv0]
15source $testdir/tester.tcl
16source $testdir/malloc_common.tcl
17
18# Only run these tests if memory debugging is turned on.
19#
20if {!$MEMDEBUG} {
21   puts "Skipping mallocD tests: not compiled with -DSQLITE_MEMDEBUG..."
22   finish_test
23   return
24}
25
26db close
27sqlite3_simulate_device -char atomic
28sqlite3 db test.db -vfs devsym
29
30set PREP {
31  PRAGMA page_size = 1024;
32  CREATE TABLE abc(a, b, c);
33}
34
35do_malloc_test mallocD-1 -sqlprep $PREP -sqlbody {
36  INSERT INTO abc VALUES(1, 2, 3);
37}
38
39do_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
46do_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
53ifcapable 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
63sqlite3_simulate_device -char {}
64
65finish_test
66