-C Bug\sfixes\sin\sthe\smutex\sheader\sfile.\s\sTickets\s#2599\sand\s#2600.\s(CVS\s4335)
-D 2007-08-30T14:10:30
+C Fixes\sto\smalloc3.test\sso\sthat\sit\scan\srun\sin\stransient\sor\spersistent\sfailure\smode.\s(CVS\s4336)
+D 2007-08-30T14:41:34
F Makefile.in bfcc303429a5d9dcd552d807ee016c77427418c3
F Makefile.linux-gcc 65241babba6faf1152bf86574477baab19190499
F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
F test/main.test e7212ce1023957c7209778cc87fa932bd79ba89a
F test/malloc.test 52306f056e7359e68ed2e204f37f47a0e2020c57
F test/malloc2.test c1a74f46a3581b56df29ff46a4e1c99b41c44ad9
-F test/malloc3.test 95211d9b2394252cacf836c62fd3d405c58f73bd
+F test/malloc3.test ca656197fe627d006012f50f084a712bf154f0bb
F test/malloc4.test 08830f5964a95f5a75218f56e7742e5dbe482e53
F test/malloc5.test 9db9205a5d444e23043368f961f92641c7770199
F test/malloc6.test 3733b9bd4e039c3239f869c40edbb88172025e2e
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5
-P d3e502263808c1fe0487fda02f16adcbb1279183
-R 8ab4e043a311e4bca4b56b1d50a59fcc
-U drh
-Z 20709391f71da3ae2883ec1a97c7dd8d
+P 4bdfe1419c536fec5b3c0a7fbe3d0ff52f183f43
+R ef8c07e08dd9f512fe2fb64c573a68e8
+U danielk1977
+Z 77487b8985e6f89316a2736312affc63
# correctly. The emphasis of these tests are the _prepare(), _step() and
# _finalize() calls.
#
-# $Id: malloc3.test,v 1.12 2007/08/29 12:31:29 danielk1977 Exp $
+# $Id: malloc3.test,v 1.13 2007/08/30 14:41:34 danielk1977 Exp $
set testdir [file dirname $argv0]
source $testdir/tester.tcl
# argument is either 1 or 0, the expected value of the auto-commit flag.
#
proc TEST_AUTOCOMMIT {id a} {
- TEST $id "do_test \$testid { sqlite3_get_autocommit $::DB } {$a}"
+ TEST $id "do_test \$testid { sqlite3_get_autocommit \$::DB } {$a}"
}
#--------------------------------------------------------------------------
# End of test program declaration
#--------------------------------------------------------------------------
-proc run_test {arglist {pcstart 0} {iFailStart 1}} {
+proc run_test {arglist iRepeat {pcstart 0} {iFailStart 1}} {
if {[llength $arglist] %2} {
error "Uneven number of arguments to TEST"
}
set ::rollback_hook_count 0
set ac [sqlite3_get_autocommit $::DB] ;# Auto-Commit
- sqlite3_memdebug_fail $iFail -repeat 1
+ sqlite3_memdebug_fail $iFail -repeat 0
set rc [catch {db eval [lindex $v 1]} msg] ;# True error occurs
set nac [sqlite3_get_autocommit $::DB] ;# New Auto-Commit
-
if {$rc != 0 && $nac && !$ac} {
# Before [db eval] the auto-commit flag was clear. Now it
# is set. Since an error occured we assume this was not a
}
}
-# Turn of the Tcl interface's prepared statement caching facility.
+# Turn of the Tcl interface's prepared statement caching facility. Then
+# run the tests with "persistent" malloc failures.
db cache size 0
+run_test $::run_test_script 1
-run_test $::run_test_script 9 1
-# run_test [lrange $::run_test_script 0 3] 0 63
-sqlite3_memdebug_fail -1
+# Close and reopen the db.
db close
+file delete -force test.db test.db-journal
+sqlite3 db test.db
+set ::DB [sqlite3_connection_pointer db]
+# Turn of the Tcl interface's prepared statement caching facility in
+# the new connnection. Then run the tests with "transient" malloc failures.
+db cache size 0
+run_test $::run_test_script 0
+
+sqlite3_memdebug_fail -1
finish_test