From: danielk1977 Date: Sat, 30 Aug 2008 13:25:10 +0000 (+0000) Subject: Add some code to permutations.test to make sure no test file modifies the shared... X-Git-Tag: version-3.6.10~532 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c1def3e0affbed4b9250133e5c351ae4b359dee8;p=thirdparty%2Fsqlite.git Add some code to permutations.test to make sure no test file modifies the shared-cache setting. (CVS 5645) FossilOrigin-Name: 8565b7c66525dc7808a2a266deb1a0d995c99917 --- diff --git a/manifest b/manifest index e457d993f3..a863d89732 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Make\ssure\sthread003.test\swaits\sfor\sall\sspawned\sthreads\sto\sfinish\sbefore\scontinuing.\s(CVS\s5644) -D 2008-08-30T09:10:17 +C Add\ssome\scode\sto\spermutations.test\sto\smake\ssure\sno\stest\sfile\smodifies\sthe\sshared-cache\ssetting.\s(CVS\s5645) +D 2008-08-30T13:25:11 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0 F Makefile.in 689e14735f862a5553bceef206d8c13e29504e44 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 @@ -153,7 +153,7 @@ F src/sqliteLimit.h f435e728c6b620ef7312814d660a81f9356eb5c8 F src/status.c 8caa772cd9310bc297280f7cf0ede4d69ed5b801 F src/table.c 22744786199c9195720c15a7a42cb97b2e2728d8 F src/tclsqlite.c 420c7936d71f8318ea23b254c0d2cfc365135403 -F src/test1.c e5781c664321fc10092dda13d6c3d02ae844566f +F src/test1.c 1b641aca173d8dfd2faf8f28aee0a4db20ac1534 F src/test2.c eaa77124786649eedf47d3c5e94d8070c0da228f F src/test3.c e85b7ce5c28c3ce7fbdbf7f98e1467b19786c62b F src/test4.c 41056378671e7b00e6305fa9ac6fa27e6f96f406 @@ -446,7 +446,7 @@ F test/pager3.test 2323bf27fd5bd887b580247e5bce500ceee994b4 F test/pageropt.test 3ee6578891baaca967f0bd349e4abfa736229e1a F test/pagesize.test 0d9ff3fedfce6e5ffe8fa7aca9b6d3433a2e843b F test/pcache.test a0fc9e965d039c4de24f9af929f9a25eb8be8539 -F test/permutations.test fcd155dd44b8e85377e57643dd6e7929309e8259 +F test/permutations.test ae920d74e8f8bbc17cb7d5012556c679cb830068 F test/pragma.test b55931bbd5dd543e56fd942dbf4b7439619b09a6 F test/pragma2.test 5364893491b9231dd170e3459bfc2e2342658b47 F test/printf.test 262a5acd3158f788e9bdf7f18d718f3af32ff6ef @@ -627,7 +627,7 @@ F tool/speedtest16.c c8a9c793df96db7e4933f0852abb7a03d48f2e81 F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff F tool/speedtest8.c 1dbced29de5f59ba2ebf877edcadf171540374d1 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e -P 4113e778be7a1e3e7a67583913e137c66d88a190 -R 2a60c5d1cd625352cfef0ef380bf8453 +P 87c7e82f54cd446721d553d5c48ca2571b063669 +R e2c52fcf7b3d6d8b01994af543c655f8 U danielk1977 -Z 3388fb24fd72ba29854409fc76ac5077 +Z 1886c1c3ded3c3046314dc2f653c5119 diff --git a/manifest.uuid b/manifest.uuid index 6f32107860..7941b1624c 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -87c7e82f54cd446721d553d5c48ca2571b063669 \ No newline at end of file +8565b7c66525dc7808a2a266deb1a0d995c99917 \ No newline at end of file diff --git a/src/test1.c b/src/test1.c index e6bc2aa882..9636352720 100644 --- a/src/test1.c +++ b/src/test1.c @@ -13,7 +13,7 @@ ** is not included in the SQLite library. It is used for automated ** testing of the SQLite library. ** -** $Id: test1.c,v 1.321 2008/08/29 09:10:03 danielk1977 Exp $ +** $Id: test1.c,v 1.322 2008/08/30 13:25:11 danielk1977 Exp $ */ #include "sqliteInt.h" #include "tcl.h" @@ -1368,7 +1368,7 @@ static int sqlite3_mprintf_hexdouble( } /* -** Usage: sqlite3_enable_shared_cache BOOLEAN +** Usage: sqlite3_enable_shared_cache ?BOOLEAN? ** */ #if !defined(SQLITE_OMIT_SHARED_CACHE) @@ -1383,18 +1383,21 @@ static int test_enable_shared( int ret = 0; extern int sqlite3SharedCacheEnabled; - if( objc!=2 ){ - Tcl_WrongNumArgs(interp, 1, objv, "BOOLEAN"); - return TCL_ERROR; - } - if( Tcl_GetBooleanFromObj(interp, objv[1], &enable) ){ + if( objc!=2 && objc!=1 ){ + Tcl_WrongNumArgs(interp, 1, objv, "?BOOLEAN?"); return TCL_ERROR; } ret = sqlite3SharedCacheEnabled; - rc = sqlite3_enable_shared_cache(enable); - if( rc!=SQLITE_OK ){ - Tcl_SetResult(interp, (char *)sqlite3ErrStr(rc), TCL_STATIC); - return TCL_ERROR; + + if( objc==2 ){ + if( Tcl_GetBooleanFromObj(interp, objv[1], &enable) ){ + return TCL_ERROR; + } + rc = sqlite3_enable_shared_cache(enable); + if( rc!=SQLITE_OK ){ + Tcl_SetResult(interp, (char *)sqlite3ErrStr(rc), TCL_STATIC); + return TCL_ERROR; + } } Tcl_SetObjResult(interp, Tcl_NewBooleanObj(ret)); return TCL_OK; diff --git a/test/permutations.test b/test/permutations.test index 775f0eea05..b149d14033 100644 --- a/test/permutations.test +++ b/test/permutations.test @@ -9,7 +9,7 @@ # #*********************************************************************** # -# $Id: permutations.test,v 1.25 2008/08/29 12:00:20 danielk1977 Exp $ +# $Id: permutations.test,v 1.26 2008/08/30 13:25:11 danielk1977 Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl @@ -133,13 +133,17 @@ proc run_tests {name args} { uplevel $options(-initialize) set ::permutations_presql $options(-presql) - foreach file $options(-include) { + foreach file [lsort $options(-include)] { if {[lsearch $options(-exclude) $file] < 0 && ( $::perm::testfile eq "" || $::perm::testfile eq $file || "$::perm::testfile.test" eq $file ) } { + set ::perm::shared_cache_setting [shared_cache_setting] uplevel source $::testdir/$file + if {$::perm::shared_cache_setting ne [shared_cache_setting]} { + error "File $::testdir/$file changed the shared cache setting from $::perm::shared_cache_setting to [shared_cache_setting]" + } } else { # puts "skipping file $file" } @@ -148,6 +152,14 @@ proc run_tests {name args} { uplevel $options(-shutdown) } +proc shared_cache_setting {} { + set ret 0 + catch { + set ret [sqlite3_enable_shared_cache] + } + return $ret +} + ############################################################################# # Start of tests