]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Add new release tests for windows to releasetest_data.tcl.
authordan <dan@noemail.net>
Thu, 1 Aug 2019 15:18:51 +0000 (15:18 +0000)
committerdan <dan@noemail.net>
Thu, 1 Aug 2019 15:18:51 +0000 (15:18 +0000)
FossilOrigin-Name: 1b330ec24c350c59f6d3779f6c0819fe95b89f4dfca5a1f2c22f22b5fe9cd087

manifest
manifest.uuid
test/releasetest_data.tcl
test/wapptest.tcl

index a7f5ce451b8c91d8c4cf841a76c75145c183923e..b561811f5254ada55f9ad2e4d28cb42adb624625 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\sa\sproblem\sin\sALTER\sTABLE\striggered\sby\sviews\sor\striggers\sthat\sinclude\sthe\sconstruction\s"ORDER\sBY\strue"\sor\s"ORDER\sBY\sfalse".
-D 2019-08-01T10:58:46.890
+C Add\snew\srelease\stests\sfor\swindows\sto\sreleasetest_data.tcl.
+D 2019-08-01T15:18:51.658
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -1245,7 +1245,7 @@ F test/regexp1.test 497ea812f264d12b6198d6e50a76be4a1973a9d8
 F test/regexp2.test 40e894223b3d6672655481493f1be12012f2b33c
 F test/reindex.test cd9d6021729910ece82267b4f5e1b5ac2911a7566c43b43c176a6a4732e2118d
 F test/releasetest.tcl 968fc1e8fd23e113fb8a04379747f3a9f2c12d207b2de85aeff5a825962e1cd7 x
-F test/releasetest_data.tcl 9dc6b01c986826a9e362bb8d1cc4289e558012dc618e98dff8b6f77dc472d129
+F test/releasetest_data.tcl 29b791054d86fbd7abca0a63c95b342d9af7b5f8768e905274dcb4f4be4599a5
 F test/resetdb.test 8062cf10a09d8c048f8de7711e94571c38b38168db0e5877ba7561789e5eeb2b
 F test/resolver01.test f4022acafda7f4d40eca94dbf16bc5fc4ac30ceb
 F test/rollback.test 06680159bc6746d0f26276e339e3ae2f951c64812468308838e0a3362d911eaa
@@ -1670,7 +1670,7 @@ F test/walslow.test c05c68d4dc2700a982f89133ce103a1a84cc285f
 F test/walthread.test 14b20fcfa6ae152f5d8e12f5dc8a8a724b7ef189f5d8ef1e2ceab79f2af51747
 F test/walvfs.test c0faffda13d045a96dfc541347886bb1a3d6f3205857fc98e683edfab766ea88
 F test/wapp.tcl b440cd8cf57953d3a49e7ee81e6a18f18efdaf113b69f7d8482b0710a64566ec
-F test/wapptest.tcl b02f882a545191375e7ea452d351e32bfa1225da5005d5c41a20a6c0c91e30c3 x
+F test/wapptest.tcl 3090239c59379d41e1a0644feb6683082fdb86edfab0c668973f8003f22c0e5d x
 F test/where.test 0607caa5a1fbfe7b93b95705981b463a3a0408038f22ae6e9dc11b36902b0e95
 F test/where2.test 478d2170637b9211f593120648858593bf2445a1
 F test/where3.test 2341a294e17193a6b1699ea7f192124a5286ca6acfcc3f4b06d16c931fbcda2c
@@ -1838,7 +1838,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 559c2dd6724b2fc238760863d4be7132b591457e72ca5758fdd4002fbf7df4bc
-R 52d29a8e2c101f64ed5a3491f70b6fac
+P 8168021f9ab5fb8b4888257963c9ec68fd1dfeedaf6bba4b8e07438001d0be0f
+R 068c68305578d308897576e75c286995
 U dan
-Z e08aba3f0c29a2bffdcb1f40ba9072b4
+Z ce2f09d0b267a958fe715ae4d7635761
index 0aa7e04cfb94ab249fced29a730189086ddefd21..d210a3a7afce2ec7afb6f2e90d5e09b573a19ddc 100644 (file)
@@ -1 +1 @@
-8168021f9ab5fb8b4888257963c9ec68fd1dfeedaf6bba4b8e07438001d0be0f
\ No newline at end of file
+1b330ec24c350c59f6d3779f6c0819fe95b89f4dfca5a1f2c22f22b5fe9cd087
\ No newline at end of file
index e28719aacf254671dd3cdc6319a031fe323e9877..7782a7a8a81f05aa79b212d6c2fd64d51e0c64d0 100644 (file)
@@ -1,22 +1,42 @@
-
-# This file contains Configuration data used by "wapptest.tcl" and
-# "releasetest.tcl".
+# 2019 August 01
+#
+# 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 implements a program that produces scripts (either shell scripts
+# or batch files) to implement a particular test that is part of the SQLite
+# release testing procedure. For example, to run veryquick.test with a 
+# specified set of -D compiler switches.
+#
+# A "configuration" is a set of options passed to [./configure] and [make]
+# to build the SQLite library in a particular fashion. A "platform" is a
+# list of tests; most platforms are named after the hardware/OS platform
+# that the tests will be run on as part of the release procedure. Each 
+# "test" is a combination of a configuration and a makefile target (e.g.
+# "fulltest"). The program may be invoked as follows:
 #
 set USAGE {
-$argv0 configurations
-    List available configurations.
+$argv0 platforms
+    List available platforms.
+
+$argv0 tests ?-nodebug? PLATFORM
+    List tests in a specified platform. If the -nodebug switch is 
+    specified, synthetic debug/ndebug configurations are omitted. Each
+    test is a combination of a configuration and a makefile target.
 
 $argv0 script ?-msvc? CONFIGURATION TARGET
     Given a configuration and make target, return a bash (or, if -msvc
     is specified, batch) script to execute the test. The first argument
     passed to the script must be a directory containing SQLite source code.
 
-$argv0 platforms
-    List available platforms.
-
-$argv0 tests ?-nodebug? PLATFORM
-    List tests in a specified platform. If the -nodebug switch is 
-    specified, synthetic debug/ndebug configurations are omitted.
+$argv0 configurations
+    List available configurations.
 }
 
 # Omit comments (text between # and \n) in a long multi-line string.
@@ -234,15 +254,24 @@ array set ::Configs [strip_comments {
     --enable-json1
   }
 
+  "Windows-Memdebug" {
+    MEMDEBUG=1
+    DEBUG=3
+  }
+  "Windows-Win32Heap" {
+    WIN32HEAP=1
+    DEBUG=4
+  }
+
   # The next group of configurations are used only by the
   # Failure-Detection platform.  They are all the same, but we need
   # different names for them all so that they results appear in separate
   # subdirectories.
   #
-  Fail0 {-O0}
-  Fail2 {-O0}
-  Fail3 {-O0}
-  Fail4 {-O0}
+  Fail0     {-O0}
+  Fail2     {-O0}
+  Fail3     {-O0}
+  Fail4     {-O0}
   FuzzFail1 {-O0}
   FuzzFail2 {-O0}
 }]
@@ -252,7 +281,7 @@ if {$tcl_platform(os)=="Darwin"} {
 
 array set ::Platforms [strip_comments {
   Linux-x86_64 {
-    "Check-Symbols          checksymbols
+    "Check-Symbols*"          checksymbols
     "Fast-One"                "fuzztest test"
     "Debug-One"               "mptest test"
     "Have-Not"                test
@@ -268,7 +297,7 @@ array set ::Platforms [strip_comments {
     "Sanitize"                {QUICKTEST_OMIT=func4.test,nan.test test}
     "Device-One"              fulltest
     "Default"                 "threadtest fulltest"
-    "Valgrind               valgrindtest
+    "Valgrind*"               valgrindtest
   }
   Linux-i686 {
     "Devkit"                  test
@@ -291,11 +320,15 @@ array set ::Platforms [strip_comments {
   "Windows NT-intel" {
     "Stdcall"                 test
     "Have-Not"                test
+    "Windows-Memdebug*"       test
+    "Windows-Win32Heap*"      test
     "Default"                 "mptest fulltestonly"
   }
   "Windows NT-amd64" {
     "Stdcall"                 test
     "Have-Not"                test
+    "Windows-Memdebug*"       test
+    "Windows-Win32Heap*"      test
     "Default"                 "mptest fulltestonly"
   }
 
@@ -304,13 +337,13 @@ array set ::Platforms [strip_comments {
   # correctly identifies failures.
   #
   Failure-Detection {
-    Fail0     "TEST_FAILURE=0 test"
-    Sanitize  "TEST_FAILURE=1 test"
-    Fail2     "TEST_FAILURE=2 valgrindtest"
-    Fail3     "TEST_FAILURE=3 valgrindtest"
-    Fail4     "TEST_FAILURE=4 test"
-    FuzzFail1 "TEST_FAILURE=5 test"
-    FuzzFail2 "TEST_FAILURE=5 valgrindtest"
+    Fail0*     "TEST_FAILURE=0 test"
+    Sanitize*  "TEST_FAILURE=1 test"
+    Fail2*     "TEST_FAILURE=2 valgrindtest"
+    Fail3*     "TEST_FAILURE=3 valgrindtest"
+    Fail4*     "TEST_FAILURE=4 test"
+    FuzzFail1* "TEST_FAILURE=5 test"
+    FuzzFail2* "TEST_FAILURE=5 valgrindtest"
   }
 }]
 
@@ -319,6 +352,9 @@ array set ::Platforms [strip_comments {
 #
 foreach {key value} [array get ::Platforms] {
   foreach {v t} $value {
+    if {[string range $v end end]=="*"} {
+      set v [string range $v 0 end-1]
+    }
     if {0==[info exists ::Configs($v)]} {
       puts stderr "No such configuration: \"$v\""
       exit -1
@@ -368,7 +404,7 @@ proc main_script {args} {
   set makeOpts   [list]                         ;# Extra args for [make]
   set configOpts [list]                         ;# Extra args for [configure]
 
-  if {$::tcl_platform(platform)=="windows"} {
+  if {$::tcl_platform(platform)=="windows" || $bMsvc} {
     lappend opts -DSQLITE_OS_WIN=1
   } else {
     lappend opts -DSQLITE_OS_UNIX=1
@@ -398,22 +434,26 @@ proc main_script {args} {
   # $opts, $cflags, $makeOpts and $configOpts along the way. Rules are as
   # follows:
   #
-  #   1. If $bRemoveDebug is set and the parameter is -DSQLITE_DEBUG or
-  #      -DSQLITE_DEBUG=1, discard it.
+  #   1. If the parameter begins with a "*", discard it.
+  #
+  #   2. If $bRemoveDebug is set and the parameter is -DSQLITE_DEBUG or
+  #      -DSQLITE_DEBUG=1, discard it
   #
-  #   2. If the parameter begins with "-D", add it to $opts.
+  #   3. If the parameter begins with "-D", add it to $opts.
   #
-  #   3. If the parameter begins with "--" add it to $configOpts. Unless
+  #   4. If the parameter begins with "--" add it to $configOpts. Unless
   #      this command is preparing a script for MSVC - then add an 
   #      equivalent to $makeOpts or $opts.
   #
-  #   4. If the parameter begins with "-" add it to $cflags. If in MSVC
+  #   5. If the parameter begins with "-" add it to $cflags. If in MSVC
   #      mode and the parameter is an -O<integer> option, instead add
   #      an OPTIMIZATIONS=<integer> switch to $makeOpts.
   #
-  #   5. If none of the above apply, add the parameter to $makeOpts
+  #   6. If none of the above apply, add the parameter to $makeOpts
   #
   foreach param $::Configs($config) {
+    if {[string range $param 0 0]=="*"} continue
+
     if {$bRemoveDebug} {
       if {$param=="-DSQLITE_DEBUG" || $param=="-DSQLITE_DEBUG=1"
        || $param=="-DSQLITE_MEMDEBUG" || $param=="-DSQLITE_MEMDEBUG=1"
@@ -529,17 +569,18 @@ proc main_tests {args} {
   }
 
   foreach {config target} $::Platforms($p) {
+    set bNosynthetic 0
+    if {[string range $config end end]=="*"} {
+      set bNosynthetic 1
+      set config [string range $config 0 end-1]
+    }
     puts "$config \"$target\""
-    if {$bNodebug==0} {
-      if {$target!="checksymbols" && $target!="valgrindtest" 
-       && $target!="fuzzoomtest"
-      } {
-        set iHas [string first SQLITE_DEBUG $::Configs($config)]
-        if {$iHas>=0} {
-          puts "$config-ndebug \"test\""
-        } else {
-          puts "$config-debug \"test\""
-        }
+    if {$bNodebug==0 && $bNosynthetic==0} {
+      set iHas [string first SQLITE_DEBUG $::Configs($config)]
+      if {$iHas>=0} {
+        puts "$config-ndebug \"test\""
+      } else {
+        puts "$config-debug \"test\""
       }
     }
   }
index dae2052ffcf81ae436413becf2899eaee0353401..5753455e2bebe8af93ad1ac31bc6a25a052033ad 100755 (executable)
@@ -304,12 +304,8 @@ proc slave_fileevent {name} {
 }
 
 # Return the contents of the "slave script" - the script run by slave 
-# processes to actually perform the test. It does two things:
-#
-#   1. Reads and [exec]s the contents of file wapptest_configure.sh.
-#   2. Reads and [exec]s the contents of file wapptest_make.sh.
-#
-# Step 1 is omitted if the test uses MSVC (which does not use configure).
+# processes to actually perform the test. All it does is execute the
+# test script already written to disk (wapptest_cmd.sh or wapptest_cmd.bat).
 #
 proc wapptest_slave_script {} {
   global G