diff --git a/Makefile.in b/Makefile.in index 6591af250d..7a566af6ec 100644 --- a/Makefile.in +++ b/Makefile.in @@ -52,7 +52,7 @@ LIBREADLINE = @TARGET_READLINE_LIBS@ # Should the database engine be compiled threadsafe # -TCC += -DTHREADSAFE=@THREADSAFE@ +TCC += -DSQLITE_THREADSAFE=@SQLITE_THREADSAFE@ # The pthreads library if needed # diff --git a/configure b/configure index ec3bd9fcec..c862e3ff51 100755 --- a/configure +++ b/configure @@ -845,7 +845,7 @@ RELEASE VERSION_NUMBER BUILD_CC BUILD_CFLAGS -THREADSAFE +SQLITE_THREADSAFE TARGET_THREAD_LIB XTHREADCONNECT THREADSOVERRIDELOCKS @@ -1931,7 +1931,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu # The following RCS revision string applies to configure.in -# $Revision: 1.42 $ +# $Revision: 1.43 $ ######### # Programs needed @@ -18883,23 +18883,23 @@ fi if test "${enable_threadsafe+set}" = set; then enableval=$enable_threadsafe; else - enable_threadsafe=no + enable_threadsafe=yes fi { echo "$as_me:$LINENO: checking whether to support threadsafe operation" >&5 echo $ECHO_N "checking whether to support threadsafe operation... $ECHO_C" >&6; } if test "$enable_threadsafe" = "no"; then - THREADSAFE=0 + SQLITE_THREADSAFE=0 { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } else - THREADSAFE=1 + SQLITE_THREADSAFE=1 { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } fi -if test "$THREADSAFE" = "1"; then +if test "$SQLITE_THREADSAFE" = "1"; then LIBS="" { echo "$as_me:$LINENO: checking for pthread_create in -lpthread" >&5 @@ -20739,7 +20739,7 @@ RELEASE!$RELEASE$ac_delim VERSION_NUMBER!$VERSION_NUMBER$ac_delim BUILD_CC!$BUILD_CC$ac_delim BUILD_CFLAGS!$BUILD_CFLAGS$ac_delim -THREADSAFE!$THREADSAFE$ac_delim +SQLITE_THREADSAFE!$SQLITE_THREADSAFE$ac_delim TARGET_THREAD_LIB!$TARGET_THREAD_LIB$ac_delim XTHREADCONNECT!$XTHREADCONNECT$ac_delim THREADSOVERRIDELOCKS!$THREADSOVERRIDELOCKS$ac_delim @@ -21142,4 +21142,3 @@ if test "$no_create" != yes; then # would make configure fail if this is the last instruction. $ac_cs_success || { (exit 1); exit 1; } fi - diff --git a/configure.ac b/configure.ac index c260b8bcb3..311459af0e 100644 --- a/configure.ac +++ b/configure.ac @@ -92,7 +92,7 @@ AC_INIT(src/sqlite.h.in) dnl Put the RCS revision string after AC_INIT so that it will also dnl show in in configure. # The following RCS revision string applies to configure.in -# $Revision: 1.29 $ +# $Revision: 1.30 $ ######### # Programs needed @@ -178,18 +178,18 @@ AC_SUBST(BUILD_CFLAGS) # Do we want to support multithreaded use of sqlite # AC_ARG_ENABLE(threadsafe, -AC_HELP_STRING([--enable-threadsafe],[Support threadsafe operation]),,enable_threadsafe=no) +AC_HELP_STRING([--enable-threadsafe],[Support threadsafe operation]),,enable_threadsafe=yes) AC_MSG_CHECKING([whether to support threadsafe operation]) if test "$enable_threadsafe" = "no"; then - THREADSAFE=0 + SQLITE_THREADSAFE=0 AC_MSG_RESULT([no]) else - THREADSAFE=1 + SQLITE_THREADSAFE=1 AC_MSG_RESULT([yes]) fi -AC_SUBST(THREADSAFE) +AC_SUBST(SQLITE_THREADSAFE) -if test "$THREADSAFE" = "1"; then +if test "$SQLITE_THREADSAFE" = "1"; then LIBS="" AC_CHECK_LIB(pthread, pthread_create) TARGET_THREAD_LIB="$LIBS" diff --git a/manifest b/manifest index ecf9d95ec8..0d7af36a64 100644 --- a/manifest +++ b/manifest @@ -1,6 +1,6 @@ -C Test\sscript\sfixes\sto\sget\sthings\srunning\sunder\svarying\sconfigurations.\nNo\schanges\sto\scode.\s(CVS\s4378) -D 2007-09-03T15:42:48 -F Makefile.in bfcc303429a5d9dcd552d807ee016c77427418c3 +C Enable\sthreadsafe\sbuilds\sby\sdefault\sin\sconfigure.\s\sTicket\s#2606.\nChanges\sto\stest\sscripts\sto\sdo\sbetter\stesting\sunder\sall\sconfigurations.\s(CVS\s4379) +D 2007-09-03T16:12:09 +F Makefile.in f3460f3363dd568c950a62f93e97eb19f6d069d8 F Makefile.linux-gcc 65241babba6faf1152bf86574477baab19190499 F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028 F VERSION 6200589421a0dfe968cd39c431fc62277b963540 @@ -15,8 +15,8 @@ F art/nocopy.gif 716aa07d4bb7250d4e75756073bf8ef9f56bec8f F art/powered_by_sqlite.gif 7fbcd7d3675391fd3d21672c14c05f5999eb60d1 F config.guess dba2d1300ec8f8cd00c6fb44b9edde21c14e960c F config.sub 9a842e7c332ed65cef3f2c20354e06dc998b2796 -F configure ab703ac4004675e630857a92d1ef5bd40cf8fad0 x -F configure.ac 95788619c4905e335a3e0f232f5e24348a61cf46 +F configure 991a04cca803ad0f049ce4e2aebe53737bd487b0 x +F configure.ac ec7fd46700b722ae06bfc083e5d5e49fd6e7f12c F contrib/sqlitecon.tcl 210a913ad63f9f991070821e599d600bd913e0ad F doc/lemon.html f0f682f50210928c07e562621c3b7e8ab912a538 F doc/report1.txt a031aaf37b185e4fa540223cb516d3bccec7eeac @@ -347,18 +347,18 @@ F test/lock4.test 49e22396b9be6e047b3d35469f233be79153c9d5 F test/main.test 05f585bb70c05caac3e047903b517cbb319ed204 F test/malloc.test bb1c95fb536cfefd3a5b4ce8ca1d4c99e73b1e33 F test/malloc2.test c1a74f46a3581b56df29ff46a4e1c99b41c44ad9 -F test/malloc3.test 39b72b04436a81e0c3d548d195f8bdbf1ebf4b52 -F test/malloc4.test 2691bdd25fc764449051b2098692e739555246a7 -F test/malloc5.test 4ff75206deb43120a6fc686220db13b45b9f76c7 -F test/malloc6.test 3733b9bd4e039c3239f869c40edbb88172025e2e -F test/malloc7.test dd66d8f82916becf1d29b6640e4f4855485570f8 -F test/malloc8.test 5ff95278bc73e815e295971afcdd175f6ba19258 -F test/malloc9.test fb99833476bc1a9b0b15573b9a56ae13af843ef9 -F test/mallocA.test bec59bb8c9837cea463d1e76e62d0ea5113c4292 -F test/mallocB.test 56fd615f3fea97180132a89dd1dd2068852ef6a0 -F test/mallocC.test 3c6385336c82c9c2249c6c28ed23f430e1d66bd3 +F test/malloc3.test d10a1f484805be103f154ce4968f76ba5d530217 +F test/malloc4.test f0e5e0f639f61e2776a6c3f5308f836b3ad8b3c7 +F test/malloc5.test b2fd56b369dd5884ad88edfaef41304393809125 +F test/malloc6.test dfb0fcbe40abf18833ddefbe17b688dc665a4a5f +F test/malloc7.test 0d71bb6520b99934b551fa36a9c591404aeaad61 +F test/malloc8.test 2c7a2612b1996232018f58c002acf7e634ab3bca +F test/malloc9.test 95d7069ad4fa262bf33bc4c5ca0a46f2bb2391cb +F test/mallocA.test 27d0d275f96cb9e1ede278a3951013f40eea669d +F test/mallocB.test f55be22689e40599c20bfc449caafc97da32e8ca +F test/mallocC.test cebc4b6ee430fe73f378c1ec7f7210cb7c1ecc33 F test/mallocD.test b3d50177adb1c563b1295ad57db4e018f8a43066 -F test/malloc_common.tcl 4c0ae53eae755d8b7ac5fa5f2509083ec2968667 +F test/malloc_common.tcl 6cd3c6b540cd53dea828ee2b15a2b72b297b7b30 F test/manydb.test 8de36b8d33aab5ef295b11d9e95310aeded31af8 F test/memdb.test a67bda4ff90a38f2b19f6c7f95aa7289e051d893 F test/memleak.test d2d2a1ff7105d32dc3fdf691458cf6cba58c7217 @@ -405,7 +405,7 @@ F test/server1.test f5b790d4c0498179151ca8a7715a65a7802c859c F test/shared.test 90ab9f5492168bf7ee5c0c3b3bc0d0d287cebc00 F test/shared2.test 0ee9de8964d70e451936a48c41cb161d9134ccf4 F test/shared3.test 01e3e124dbb3859788aabc7cfb82f7ea04421749 -F test/shared_err.test 68455ec2f7f250d2e89f17b0c98ecf94009e6800 +F test/shared_err.test bfe49fbbf26746a3c05255b1dc7230744182b744 F test/soak.test 64f9b27fbcdec43335a88c546ce1983e6ba40d7b F test/softheap1.test 0c49aa6eee25e7d32943e85e8d1f20eff566b1dc F test/sort.test 0e4456e729e5a92a625907c63dcdedfbe72c5dc5 @@ -482,7 +482,7 @@ F test/vtab8.test e19fa4a538fcd1bb66c22825fa8f71618fb13583 F test/vtab9.test ea58d2b95d61955f87226381716b2d0b1d4e4f9b F test/vtabA.test 9cb6b1afead6fdd91bbdf1ca65c44ccfd9b10936 F test/vtab_alter.test b0c0f61a9588b509c2ba20dedc2db04999da6656 -F test/vtab_err.test 71739e81853668857dd3bae05232c0dd6f5147cf +F test/vtab_err.test 0d4d8eb4def1d053ac7c5050df3024fd47a3fbd8 F test/vtab_shared.test d631d1f820c38c18939d53aab1fc35db5f0a8094 F test/where.test 1bcde8984c63747ac6d6bafcacd20fd6e8a223de F test/where2.test 3249d426b3fc7a106713d784e1628307fc308d2e @@ -569,7 +569,7 @@ F www/tclsqlite.tcl 8be95ee6dba05eabcd27a9d91331c803f2ce2130 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0 F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5 -P 38dff76ddf0ec7d2cd0d2e1282f9c36558e5661a -R efd0ff82d5940d7eeec257455d4f7a8f +P 340a6d09bcde11065c1887b84bb81805b523ffb6 +R 4367f3d99c80cf432553fe59070fb24e U drh -Z 4bb62e482335066851b26278d8f0a329 +Z 23b771c76e7b6db1a5e3463f6439365b diff --git a/manifest.uuid b/manifest.uuid index c0c847b6d3..1a2438338f 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -340a6d09bcde11065c1887b84bb81805b523ffb6 \ No newline at end of file +d66e08fd4f12407e565dc9fc53a5802216808378 \ No newline at end of file diff --git a/test/malloc3.test b/test/malloc3.test index 68f902ece6..96ae72f2c6 100644 --- a/test/malloc3.test +++ b/test/malloc3.test @@ -13,7 +13,7 @@ # correctly. The emphasis of these tests are the _prepare(), _step() and # _finalize() calls. # -# $Id: malloc3.test,v 1.14 2007/08/31 05:00:49 danielk1977 Exp $ +# $Id: malloc3.test,v 1.15 2007/09/03 16:12:10 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl @@ -21,7 +21,7 @@ source $testdir/tester.tcl # Only run these tests if memory debugging is turned on. # ifcapable !memdebug { - puts "Skipping malloc tests: not compiled with -DSQLITE_MEMDEBUG..." + puts "Skipping malloc3 tests: not compiled with -DSQLITE_MEMDEBUG..." finish_test return } diff --git a/test/malloc4.test b/test/malloc4.test index ee5216dcae..78777e6d72 100644 --- a/test/malloc4.test +++ b/test/malloc4.test @@ -12,7 +12,7 @@ # This file contains tests to ensure that the library handles malloc() failures # correctly. The emphasis in this file is on sqlite3_column_XXX() APIs. # -# $Id: malloc4.test,v 1.8 2007/08/30 15:16:05 danielk1977 Exp $ +# $Id: malloc4.test,v 1.9 2007/09/03 16:12:10 drh Exp $ #--------------------------------------------------------------------------- # NOTES ON EXPECTED BEHAVIOUR @@ -27,8 +27,8 @@ set testdir [file dirname $argv0] source $testdir/tester.tcl # Only run these tests if memory debugging is turned on. -if {[info command sqlite3_memdebug_pending]==""} { - puts "Skipping malloc tests: not compiled with -DSQLITE_MEMDEBUG..." +ifcapable !memdebug { + puts "Skipping malloc4 tests: not compiled with -DSQLITE_MEMDEBUG..." finish_test return } diff --git a/test/malloc5.test b/test/malloc5.test index f18ea26ba9..62ca241f74 100644 --- a/test/malloc5.test +++ b/test/malloc5.test @@ -12,7 +12,7 @@ # This file contains test cases focused on the two memory-management APIs, # sqlite3_soft_heap_limit() and sqlite3_release_memory(). # -# $Id: malloc5.test,v 1.15 2007/09/03 11:04:22 danielk1977 Exp $ +# $Id: malloc5.test,v 1.16 2007/09/03 16:12:10 drh Exp $ #--------------------------------------------------------------------------- # NOTES ON EXPECTED BEHAVIOUR @@ -27,7 +27,7 @@ db close # Only run these tests if memory debugging is turned on. # ifcapable !memdebug { - puts "Skipping malloc tests: not compiled with -DSQLITE_MEMDEBUG..." + puts "Skipping malloc5 tests: not compiled with -DSQLITE_MEMDEBUG..." finish_test return } diff --git a/test/malloc6.test b/test/malloc6.test index 1ce9927961..8ce86f1cfb 100644 --- a/test/malloc6.test +++ b/test/malloc6.test @@ -10,7 +10,7 @@ #*********************************************************************** # This file attempts to check the library in an out-of-memory situation. # -# $Id: malloc6.test,v 1.2 2007/08/22 22:04:37 drh Exp $ +# $Id: malloc6.test,v 1.3 2007/09/03 16:12:10 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl @@ -18,7 +18,7 @@ source $testdir/tester.tcl # Only run these tests if memory debugging is turned on. # ifcapable !memdebug { - puts "Skipping malloc tests: not compiled with -DSQLITE_MEMDEBUG..." + puts "Skipping malloc6 tests: not compiled with -DSQLITE_MEMDEBUG..." finish_test return } diff --git a/test/malloc7.test b/test/malloc7.test index e761d19968..5475dfc570 100644 --- a/test/malloc7.test +++ b/test/malloc7.test @@ -11,7 +11,7 @@ # This file contains additional out-of-memory checks (see malloc.tcl) # added to expose a bug in out-of-memory handling for sqlite3_prepare16(). # -# $Id: malloc7.test,v 1.3 2007/08/22 22:04:37 drh Exp $ +# $Id: malloc7.test,v 1.4 2007/09/03 16:12:10 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl @@ -19,7 +19,7 @@ source $testdir/tester.tcl # Only run these tests if memory debugging is turned on. # ifcapable !memdebug { - puts "Skipping malloc tests: not compiled with -DSQLITE_MEMDEBUG..." + puts "Skipping malloc7 tests: not compiled with -DSQLITE_MEMDEBUG..." finish_test return } diff --git a/test/malloc8.test b/test/malloc8.test index 19753545b5..51ea298bf4 100644 --- a/test/malloc8.test +++ b/test/malloc8.test @@ -11,7 +11,7 @@ # This file contains additional out-of-memory checks (see malloc.tcl) # added to expose a bug in out-of-memory handling for sqlite3_value_text() # -# $Id: malloc8.test,v 1.4 2007/08/22 22:04:37 drh Exp $ +# $Id: malloc8.test,v 1.5 2007/09/03 16:12:10 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl @@ -19,7 +19,7 @@ source $testdir/tester.tcl # Only run these tests if memory debugging is turned on. # ifcapable !memdebug { - puts "Skipping malloc tests: not compiled with -DSQLITE_MEMDEBUG..." + puts "Skipping malloc8 tests: not compiled with -DSQLITE_MEMDEBUG..." finish_test return } diff --git a/test/malloc9.test b/test/malloc9.test index e5e734a227..d9a5afc2d7 100644 --- a/test/malloc9.test +++ b/test/malloc9.test @@ -11,7 +11,7 @@ # This file contains additional out-of-memory checks (see malloc.tcl) # added to expose a bug in out-of-memory handling for sqlite3_prepare(). # -# $Id: malloc9.test,v 1.2 2007/08/22 22:04:37 drh Exp $ +# $Id: malloc9.test,v 1.3 2007/09/03 16:12:10 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl @@ -19,7 +19,7 @@ source $testdir/tester.tcl # Only run these tests if memory debugging is turned on. # ifcapable !memdebug { - puts "Skipping malloc tests: not compiled with -DSQLITE_MEMDEBUG..." + puts "Skipping malloc9 tests: not compiled with -DSQLITE_MEMDEBUG..." finish_test return } diff --git a/test/mallocA.test b/test/mallocA.test index 1a30316e31..e058c937c0 100644 --- a/test/mallocA.test +++ b/test/mallocA.test @@ -10,7 +10,7 @@ #*********************************************************************** # This file contains additional out-of-memory checks (see malloc.tcl). # -# $Id: mallocA.test,v 1.4 2007/08/29 12:31:29 danielk1977 Exp $ +# $Id: mallocA.test,v 1.5 2007/09/03 16:12:10 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl @@ -18,7 +18,7 @@ source $testdir/tester.tcl # Only run these tests if memory debugging is turned on. # ifcapable !memdebug { - puts "Skipping malloc tests: not compiled with -DSQLITE_MEMDEBUG..." + puts "Skipping mallocA tests: not compiled with -DSQLITE_MEMDEBUG..." finish_test return } diff --git a/test/mallocB.test b/test/mallocB.test index 2cef24e018..95574c602a 100644 --- a/test/mallocB.test +++ b/test/mallocB.test @@ -13,7 +13,7 @@ # that they have little in common. # # -# $Id: mallocB.test,v 1.4 2007/08/22 22:04:37 drh Exp $ +# $Id: mallocB.test,v 1.5 2007/09/03 16:12:10 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl @@ -22,7 +22,7 @@ source $testdir/malloc_common.tcl # Only run these tests if memory debugging is turned on. # ifcapable !memdebug { - puts "Skipping malloc tests: not compiled with -DSQLITE_MEMDEBUG..." + puts "Skipping mallocB tests: not compiled with -DSQLITE_MEMDEBUG..." finish_test return } diff --git a/test/mallocC.test b/test/mallocC.test index 432bddf3cc..b7b20cdcfa 100644 --- a/test/mallocC.test +++ b/test/mallocC.test @@ -12,7 +12,7 @@ # This file tests aspects of the malloc failure while parsing # CREATE TABLE statements in auto_vacuum mode. # -# $Id: mallocC.test,v 1.4 2007/08/29 12:31:29 danielk1977 Exp $ +# $Id: mallocC.test,v 1.5 2007/09/03 16:12:10 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl @@ -20,7 +20,7 @@ source $testdir/tester.tcl # Only run these tests if memory debugging is turned on. # ifcapable !memdebug { - puts "Skipping malloc tests: not compiled with -DSQLITE_MEMDEBUG..." + puts "Skipping mallocC tests: not compiled with -DSQLITE_MEMDEBUG..." finish_test return } diff --git a/test/malloc_common.tcl b/test/malloc_common.tcl index 85b1af3c04..928e8f9051 100644 --- a/test/malloc_common.tcl +++ b/test/malloc_common.tcl @@ -1,7 +1,22 @@ +# 2007 May 05 +# +# 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 contains common code used by many different malloc tests +# within the test suite. +# +# $Id: malloc_common.tcl,v 1.8 2007/09/03 16:12:10 drh Exp $ +# If we did not compile with malloc testing enabled, then do nothing. +# ifcapable !memdebug { - puts "Skipping malloc tests: not compiled with -DSQLITE_MEMDEBUG..." - finish_test return 0 } @@ -99,7 +114,6 @@ proc do_malloc_test {tn args} { # set isFail [catch $::mallocbody msg] set nFail [sqlite3_memdebug_fail -1 -benigncnt nBenign] -#puts "isFail=$isFail nFail=$nFail nBenign=$nBenign msg=$msg" # If one or more mallocs failed, run this loop body again. # @@ -131,5 +145,3 @@ proc do_malloc_test {tn args} { unset ::mallocopts sqlite3_memdebug_fail -1 } - -return 1 diff --git a/test/shared_err.test b/test/shared_err.test index d0d7cc6425..7c1794aabf 100644 --- a/test/shared_err.test +++ b/test/shared_err.test @@ -13,7 +13,7 @@ # cache context. What happens to connection B if one connection A encounters # an IO-error whilst reading or writing the file-system? # -# $Id: shared_err.test,v 1.16 2007/08/30 10:07:39 danielk1977 Exp $ +# $Id: shared_err.test,v 1.17 2007/09/03 16:12:10 drh Exp $ proc skip {args} {} @@ -293,7 +293,8 @@ do_ioerr_test shared_ioerr-3rev -tclprep { # Only run these tests if memory debugging is turned on. # ifcapable !memdebug { - puts "Skipping malloc tests: not compiled with -DSQLITE_MEMDEBUG..." + puts "Skipping tests shared_err-4 through -9:\ + not compiled with -DSQLITE_MEMDEBUG..." db close sqlite3_enable_shared_cache $::enable_shared_cache finish_test diff --git a/test/vtab_err.test b/test/vtab_err.test index 117fae438f..068386eb31 100644 --- a/test/vtab_err.test +++ b/test/vtab_err.test @@ -9,18 +9,18 @@ # #*********************************************************************** # -# $Id: vtab_err.test,v 1.7 2007/08/29 12:31:29 danielk1977 Exp $ +# $Id: vtab_err.test,v 1.8 2007/09/03 16:12:10 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl -source $testdir/malloc_common.tcl - ifcapable !vtab { finish_test return } + + unset -nocomplain echo_module_begin_fail do_ioerr_test vtab_err-1 -tclprep { register_echo_module [sqlite3_connection_pointer db] @@ -40,6 +40,14 @@ do_ioerr_test vtab_err-1 -tclprep { COMMIT; } +ifcapable !memdebug { + puts "Skipping vtab_err-2 tests: not compiled with -DSQLITE_MEMDEBUG..." + finish_test + return +} +source $testdir/malloc_common.tcl + + do_malloc_test vtab_err-2 -tclprep { register_echo_module [sqlite3_connection_pointer db] } -sqlbody {