]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Do not run some tests in notify3.test with the inmemory_journal permutation. They...
authordan <dan@noemail.net>
Fri, 6 Aug 2010 13:50:07 +0000 (13:50 +0000)
committerdan <dan@noemail.net>
Fri, 6 Aug 2010 13:50:07 +0000 (13:50 +0000)
FossilOrigin-Name: 698fba826e40ce6414cf6c261441d68b174c1637

manifest
manifest.uuid
test/notify3.test
test/tester.tcl

index a24bdc478116436bbbf1807d9c9093e62a1e0d9d..91eccdb9fdda8bf8324dd81b19b7b140898ff22e 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,8 +1,5 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
-C Change\stwo\sautomatic\sarray\svariables\sinto\sstatic\sconstant\sarrays.\nUpdate\sand\sreformat\ssome\scomments\sfor\scleaner\spresentation.
-D 2010-08-06T02:10:00
+C Do\snot\srun\ssome\stests\sin\snotify3.test\swith\sthe\sinmemory_journal\spermutation.\sThey\sdo\snot\spass\sas\sthe\stests\sassume\sthat\sthe\sdatabase\sschema\sis\snot\sloaded\suntil\sthe\sfirst\sinvocation\sof\s[db\seval].\sThis\sis\snot\strue\swith\sthe\sinmemory_journal\spermutation.
+D 2010-08-06T13:50:07
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in ec08dc838fd8110fe24c92e5130bcd91cbb1ff2e
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -537,7 +534,7 @@ F test/mutex2.test bfeaeac2e73095b2ac32285d2756e3a65e681660
 F test/nan.test a44e04df1486fcfb02d32468cbcd3c8e1e433723
 F test/notify1.test 8433bc74bd952fb8a6e3f8d7a4c2b28dfd69e310
 F test/notify2.test 195a467e021f74197be2c4fb02d6dee644b8d8db
-F test/notify3.test 7eeba3628c4e707c004b72a2489c48fbdbc5c2ee
+F test/notify3.test d60923e186e0900f4812a845fcdfd8eea096e33a
 F test/notnull.test cc7c78340328e6112a13c3e311a9ab3127114347
 F test/null.test a8b09b8ed87852742343b33441a9240022108993
 F test/openv2.test af02ed0a9cbc0d2a61b8f35171d4d117e588e4ec
@@ -622,7 +619,7 @@ F test/tclsqlite.test 8c154101e704170c2be10f137a5499ac2c6da8d3
 F test/tempdb.test 800c36623d67a2ad1f58784b9c5644e0405af6e6
 F test/temptable.test f42121a0d29a62f00f93274464164177ab1cc24a
 F test/temptrigger.test b0273db072ce5f37cf19140ceb1f0d524bbe9f05
-F test/tester.tcl 36552bcc93adb3a932a487da84da6597cdc5871b
+F test/tester.tcl 6135019fcfac363ea0e11aee670cc97080ab578e
 F test/thread001.test a3e6a7254d1cb057836cb3145b60c10bf5b7e60f
 F test/thread002.test afd20095e6e845b405df4f2c920cb93301ca69db
 F test/thread003.test b824d4f52b870ae39fc5bae4d8070eca73085dca
@@ -844,14 +841,7 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
-P ca479f3de2927ccc05dc76d10e40c00b8e0c88d1
-R 64f852d682dc3f154b6b3ff0ef239170
-U drh
-Z 26ba9cd8b96f683b407f392f1d6bc552
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.6 (GNU/Linux)
-
-iD8DBQFMW278oxKgR168RlERAgj0AJ92KeE7Pu9xmm9ax2ljGa1ynmj4KgCfSE5R
-Kjjl2xbC7iD1zbZvAMYEGpQ=
-=c2NC
------END PGP SIGNATURE-----
+P a7a15547cccb4aeb719aba19641f31390c316d8c
+R da6a7e3b792474c6501a800e8485c2ad
+U dan
+Z 24f7070a35c4e17ac7f061d90b9ace3b
index e09c948e41810f50a879c9719ce8c067a728ad45..d5cb04f362671806c4c47f3bbe60447e9308896d 100644 (file)
@@ -1 +1 @@
-a7a15547cccb4aeb719aba19641f31390c316d8c
\ No newline at end of file
+698fba826e40ce6414cf6c261441d68b174c1637
\ No newline at end of file
index 7c7d5acf5ce058aa8318aae942a0bafaa060924b..0d06ce19c0fe5da5900e93281051553d303222f7 100644 (file)
@@ -92,50 +92,57 @@ set noerr {{0 {}}}
 # it is possible to use the unlock-notify mechanism to determine when
 # the ATTACH might succeed.
 #
-foreach {
-  tn
-  db1_loaded
-  db2_loaded
-  enable_extended_errors
-  result
-  error1 error2
-} "
-  0   0 0 0   $err     SQLITE_LOCKED               SQLITE_LOCKED_SHAREDCACHE
-  1   0 0 1   $err     SQLITE_LOCKED_SHAREDCACHE   SQLITE_LOCKED_SHAREDCACHE
-  2   0 1 0   $err     SQLITE_LOCKED               SQLITE_LOCKED_SHAREDCACHE
-  3   0 1 1   $err     SQLITE_LOCKED_SHAREDCACHE   SQLITE_LOCKED_SHAREDCACHE
-  4   1 0 0   $err     SQLITE_LOCKED               SQLITE_LOCKED_SHAREDCACHE
-  5   1 0 1   $err     SQLITE_LOCKED_SHAREDCACHE   SQLITE_LOCKED_SHAREDCACHE
-  6   1 1 0   $noerr   SQLITE_OK                   SQLITE_OK
-  7   1 1 1   $noerr   SQLITE_OK                   SQLITE_OK
-" {
-
-  do_test notify3-2.$tn.1 {
-    catch { db1 close }
-    catch { db2 close }
-    sqlite3 db1 test.db
-    sqlite3 db2 test.db2
-
-    sqlite3_extended_result_codes db1 $enable_extended_errors
-    sqlite3_extended_result_codes db2 $enable_extended_errors
-
-    if { $db1_loaded } { db1 eval "SELECT * FROM sqlite_master" }
-    if { $db2_loaded } { db2 eval "SELECT * FROM sqlite_master" }
-
-    db2 eval "BEGIN EXCLUSIVE"
-    catchsql "ATTACH 'test.db2' AS two" db1
-  } $result
-
-  do_test notify3-2.$tn.2 {
-    list [sqlite3_errcode db1] [sqlite3_extended_errcode db1]
-  } [list $error1 $error2]
-
-  do_test notify3-2.$tn.3 {
-    db1 unlock_notify {set invoked 1}
-    set invoked 0
-    db2 eval commit
-    set invoked
-  } [lindex $result 0]
+# This test does not work for test-permutations that specify SQL to
+# be executed as part of the [sqlite3] command that opens the database.
+# Executing such SQL causes SQLite to load the database schema into memory 
+# earlier than expected, causing test cases to fail.
+#
+if {[presql] == ""} {
+  foreach {
+    tn
+    db1_loaded
+    db2_loaded
+    enable_extended_errors
+    result
+    error1 error2
+  } "
+    0   0 0 0   $err     SQLITE_LOCKED               SQLITE_LOCKED_SHAREDCACHE
+    1   0 0 1   $err     SQLITE_LOCKED_SHAREDCACHE   SQLITE_LOCKED_SHAREDCACHE
+    2   0 1 0   $err     SQLITE_LOCKED               SQLITE_LOCKED_SHAREDCACHE
+    3   0 1 1   $err     SQLITE_LOCKED_SHAREDCACHE   SQLITE_LOCKED_SHAREDCACHE
+    4   1 0 0   $err     SQLITE_LOCKED               SQLITE_LOCKED_SHAREDCACHE
+    5   1 0 1   $err     SQLITE_LOCKED_SHAREDCACHE   SQLITE_LOCKED_SHAREDCACHE
+    6   1 1 0   $noerr   SQLITE_OK                   SQLITE_OK
+    7   1 1 1   $noerr   SQLITE_OK                   SQLITE_OK
+  " {
+  
+    do_test notify3-2.$tn.1 {
+      catch { db1 close }
+      catch { db2 close }
+      sqlite3 db1 test.db
+      sqlite3 db2 test.db2
+  
+      sqlite3_extended_result_codes db1 $enable_extended_errors
+      sqlite3_extended_result_codes db2 $enable_extended_errors
+  
+      if { $db1_loaded } { db1 eval "SELECT * FROM sqlite_master" }
+      if { $db2_loaded } { db2 eval "SELECT * FROM sqlite_master" }
+  
+      db2 eval "BEGIN EXCLUSIVE"
+      catchsql "ATTACH 'test.db2' AS two" db1
+    } $result
+  
+    do_test notify3-2.$tn.2 {
+      list [sqlite3_errcode db1] [sqlite3_extended_errcode db1]
+    } [list $error1 $error2]
+  
+    do_test notify3-2.$tn.3 {
+      db1 unlock_notify {set invoked 1}
+      set invoked 0
+      db2 eval commit
+      set invoked
+    } [lindex $result 0]
+  }
 }
 catch { db1 close }
 catch { db2 close }
index e4193b48f888e217f915482f549d092e97c533d3..fb26561b231f92eccbef7040b872da7a2b96f40e 100644 (file)
@@ -70,6 +70,7 @@
 #      wal_set_journal_mode   ?DB?
 #      wal_check_journal_mode TESTNAME?DB?
 #      permutation
+#      presql
 #
 
 # Set the precision of FP arithmatic used by the interpreter. And 
@@ -1150,6 +1151,11 @@ proc permutation {} {
   catch {set perm $::G(perm:name)}
   set perm
 }
+proc presql {} {
+  set presql ""
+  catch {set presql $::G(perm:presql)}
+  set presql
+}
 
 #-------------------------------------------------------------------------
 #