summaryrefslogtreecommitdiff
path: root/test/mallocD.test
diff options
context:
space:
mode:
Diffstat (limited to 'test/mallocD.test')
-rw-r--r--test/mallocD.test65
1 files changed, 65 insertions, 0 deletions
diff --git a/test/mallocD.test b/test/mallocD.test
new file mode 100644
index 0000000..08a2ba4
--- /dev/null
+++ b/test/mallocD.test
@@ -0,0 +1,65 @@
+# 2007 Aug 29
+#
+# The author disclaims copyright to this source code. In place of
+# a legal notice, here is a blessing:
+#
+# May you do good and not evil.
+# May you find forgiveness for yourself and forgive others.
+# May you share freely, never taking more than you give.
+#
+#***********************************************************************
+#
+# $Id: mallocD.test,v 1.6 2008/02/18 22:24:58 drh Exp $
+
+set testdir [file dirname $argv0]
+source $testdir/tester.tcl
+source $testdir/malloc_common.tcl
+
+# Only run these tests if memory debugging is turned on.
+#
+if {!$MEMDEBUG} {
+ puts "Skipping mallocD tests: not compiled with -DSQLITE_MEMDEBUG..."
+ finish_test
+ return
+}
+
+db close
+sqlite3_simulate_device -char atomic
+sqlite3 db test.db -vfs devsym
+
+set PREP {
+ PRAGMA page_size = 1024;
+ CREATE TABLE abc(a, b, c);
+}
+
+do_malloc_test mallocD-1 -sqlprep $PREP -sqlbody {
+ INSERT INTO abc VALUES(1, 2, 3);
+}
+
+do_malloc_test mallocD-2 -sqlprep $PREP -sqlbody {
+ BEGIN;
+ INSERT INTO abc VALUES(1, 2, 3);
+ INSERT INTO abc VALUES(4, 5, 6);
+ ROLLBACK;
+}
+
+do_malloc_test mallocD-3 -sqlprep $PREP -sqlbody {
+ BEGIN;
+ INSERT INTO abc VALUES(1, 2, 3);
+ INSERT INTO abc VALUES(4, 5, randstr(1500,1500));
+ COMMIT;
+}
+
+ifcapable attach {
+ do_malloc_test mallocD-4 -sqlprep $PREP -sqlbody {
+ ATTACH 'test2.db' AS aux;
+ BEGIN;
+ CREATE TABLE aux.def(d, e, f);
+ INSERT INTO abc VALUES(4, 5, 6);
+ COMMIT;
+ }
+}
+
+sqlite3_simulate_device -char {}
+
+finish_test