1
0

mallocB.test 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  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.9 2008/02/18 22:24:58 drh Exp $
  17. set testdir [file dirname $argv0]
  18. source $testdir/tester.tcl
  19. source $testdir/malloc_common.tcl
  20. # Only run these tests if memory debugging is turned on.
  21. #
  22. if {!$MEMDEBUG} {
  23. puts "Skipping mallocB tests: not compiled with -DSQLITE_MEMDEBUG..."
  24. finish_test
  25. return
  26. }
  27. source $testdir/malloc_common.tcl
  28. do_malloc_test mallocB-1 -sqlbody {SELECT - 456}
  29. do_malloc_test mallocB-2 -sqlbody {SELECT - 456.1}
  30. do_malloc_test mallocB-3 -sqlbody {SELECT random()}
  31. do_malloc_test mallocB-4 -sqlbody {SELECT length(zeroblob(1000))}
  32. ifcapable subquery {
  33. do_malloc_test mallocB-5 -sqlbody {SELECT * FROM (SELECT 1) GROUP BY 1;}
  34. }
  35. # The following test checks that there are no resource leaks following a
  36. # malloc() failure in sqlite3_set_auxdata().
  37. #
  38. # Note: This problem was not discovered by fuzzy generation of SQL. Not
  39. # that it really matters.
  40. #
  41. do_malloc_test mallocB-6 -sqlbody { SELECT test_auxdata('hello world'); }
  42. do_malloc_test mallocB-7 -sqlbody {
  43. SELECT strftime(hex(randomblob(50)) || '%Y', 'now')
  44. }
  45. finish_test