Index: third_party/sqlite/sqlite-src-3080704/test/mallocC.test |
diff --git a/third_party/sqlite/sqlite-src-3080704/test/mallocC.test b/third_party/sqlite/sqlite-src-3080704/test/mallocC.test |
deleted file mode 100644 |
index 7943353cc7562863a17db061ec40e8464c255272..0000000000000000000000000000000000000000 |
--- a/third_party/sqlite/sqlite-src-3080704/test/mallocC.test |
+++ /dev/null |
@@ -1,122 +0,0 @@ |
-# 2007 Aug 13 |
-# |
-# 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. |
-# |
-#*********************************************************************** |
-# |
-# This file tests aspects of the malloc failure while parsing |
-# CREATE TABLE statements in auto_vacuum mode. |
-# |
-# $Id: mallocC.test,v 1.10 2009/04/11 16:27:50 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 mallocC tests: not compiled with -DSQLITE_MEMDEBUG..." |
- finish_test |
- return |
-} |
- |
-proc do_mallocC_test {tn args} { |
- array set ::mallocopts $args |
- #set sum [allcksum db] |
- |
- for {set ::n 1} {true} {incr ::n} { |
- |
- # Run the SQL. Malloc number $::n is set to fail. A malloc() failure |
- # may or may not be reported. |
- sqlite3_memdebug_fail $::n -repeat 1 |
- do_test mallocC-$tn.$::n.1 { |
- set res [catchsql [string trim $::mallocopts(-sql)]] |
- set rc [expr { |
- 0==[string compare $res {1 {out of memory}}] || |
- [db errorcode] == 3082 || |
- 0==[lindex $res 0] |
- }] |
- if {$rc!=1} { |
- puts "Error: $res" |
- } |
- set rc |
- } {1} |
- |
- # If $::n is greater than the number of malloc() calls required to |
- # execute the SQL, then this test is finished. Break out of the loop. |
- set nFail [sqlite3_memdebug_fail -1] |
- if {$nFail==0} { |
- break |
- } |
- |
- # Recover from the malloc failure. |
- # |
- # Update: The new malloc() failure handling means that a transaction may |
- # still be active even if a malloc() has failed. But when these tests were |
- # written this was not the case. So do a manual ROLLBACK here so that the |
- # tests pass. |
- do_test mallocC-$tn.$::n.2 { |
- catch { |
- execsql { |
- ROLLBACK; |
- } |
- } |
- expr 0 |
- } {0} |
- |
- # Checksum the database. |
- #do_test mallocC-$tn.$::n.3 { |
- # allcksum db |
- #} $sum |
- |
- #integrity_check mallocC-$tn.$::n.4 |
- } |
- unset ::mallocopts |
-} |
- |
-sqlite3_extended_result_codes db 1 |
- |
-execsql { |
- PRAGMA auto_vacuum=1; |
- CREATE TABLE t0(a, b, c); |
-} |
- |
-# The number of memory allocation failures is different on 64-bit |
-# and 32-bit systems due to larger structures on 64-bit systems |
-# overflowing the lookaside more often. To debug problems, it is |
-# sometimes helpful to reduce the size of the lookaside allocation |
-# blocks. But this is normally disabled. |
-# |
-if {0} { |
- db close |
- sqlite3_shutdown |
- sqlite3_config_lookaside 50 500 |
- sqlite3_initialize |
- autoinstall_test_functions |
- sqlite3 db test.db |
-} |
- |
-do_mallocC_test 1 -sql { |
- BEGIN; |
- -- Allocate 32 new root pages. This will exercise the 'extract specific |
- -- page from the freelist' code when in auto-vacuum mode (see the |
- -- allocatePage() routine in btree.c). |
- CREATE TABLE t1(a UNIQUE, b UNIQUE, c UNIQUE); |
- CREATE TABLE t2(a UNIQUE, b UNIQUE, c UNIQUE); |
- CREATE TABLE t3(a UNIQUE, b UNIQUE, c UNIQUE); |
- CREATE TABLE t4(a UNIQUE, b UNIQUE, c UNIQUE); |
- CREATE TABLE t5(a UNIQUE, b UNIQUE, c UNIQUE); |
- CREATE TABLE t6(a UNIQUE, b UNIQUE, c UNIQUE); |
- CREATE TABLE t7(a UNIQUE, b UNIQUE, c UNIQUE); |
- CREATE TABLE t8(a UNIQUE, b UNIQUE, c UNIQUE); |
- |
- ROLLBACK; |
-} |
- |
-finish_test |