1: # 2007 May 30
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: # This file contains additional out-of-memory checks (see malloc.tcl).
12: # These were all discovered by fuzzy generation of SQL. Apart from
13: # that they have little in common.
14: #
15: #
16: # $Id: mallocB.test,v 1.1.1.1 2012/02/21 17:04:16 misho Exp $
17:
18: set testdir [file dirname $argv0]
19: source $testdir/tester.tcl
20: source $testdir/malloc_common.tcl
21:
22: # Only run these tests if memory debugging is turned on.
23: #
24: if {!$MEMDEBUG} {
25: puts "Skipping mallocB tests: not compiled with -DSQLITE_MEMDEBUG..."
26: finish_test
27: return
28: }
29: source $testdir/malloc_common.tcl
30:
31: do_malloc_test mallocB-1 -sqlbody {SELECT - 456}
32: do_malloc_test mallocB-2 -sqlbody {SELECT - 456.1}
33: do_malloc_test mallocB-3 -sqlbody {SELECT random()}
34: do_malloc_test mallocB-4 -sqlbody {SELECT length(zeroblob(1000))}
35: ifcapable subquery {
36: do_malloc_test mallocB-5 -sqlbody {SELECT * FROM (SELECT 1) GROUP BY 1;}
37: }
38:
39: # The following test checks that there are no resource leaks following a
40: # malloc() failure in sqlite3_set_auxdata().
41: #
42: # Note: This problem was not discovered by fuzzy generation of SQL. Not
43: # that it really matters.
44: #
45: do_malloc_test mallocB-6 -sqlbody { SELECT test_auxdata('hello world'); }
46:
47: do_malloc_test mallocB-7 -sqlbody {
48: SELECT strftime(hex(randomblob(50)) || '%Y', 'now')
49: }
50:
51: finish_test
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>