From: dan Date: Thu, 1 Aug 2019 15:18:51 +0000 (+0000) Subject: Add new release tests for windows to releasetest_data.tcl. X-Git-Tag: version-3.30.0~177 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=401593e348028071e0fd59753df046216a137ef9;p=thirdparty%2Fsqlite.git Add new release tests for windows to releasetest_data.tcl. FossilOrigin-Name: 1b330ec24c350c59f6d3779f6c0819fe95b89f4dfca5a1f2c22f22b5fe9cd087 --- diff --git a/manifest b/manifest index a7f5ce451b..b561811f52 100644 --- 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 diff --git a/manifest.uuid b/manifest.uuid index 0aa7e04cfb..d210a3a7af 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -8168021f9ab5fb8b4888257963c9ec68fd1dfeedaf6bba4b8e07438001d0be0f \ No newline at end of file +1b330ec24c350c59f6d3779f6c0819fe95b89f4dfca5a1f2c22f22b5fe9cd087 \ No newline at end of file diff --git a/test/releasetest_data.tcl b/test/releasetest_data.tcl index e28719aacf..7782a7a8a8 100644 --- a/test/releasetest_data.tcl +++ b/test/releasetest_data.tcl @@ -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 option, instead add # an OPTIMIZATIONS= 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\"" } } } diff --git a/test/wapptest.tcl b/test/wapptest.tcl index dae2052ffc..5753455e2b 100755 --- a/test/wapptest.tcl +++ b/test/wapptest.tcl @@ -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