From a7f659740056f81291498f4a27a0b4ac4e9b0e86 Mon Sep 17 00:00:00 2001 From: dan Date: Mon, 2 Nov 2015 18:32:00 +0000 Subject: [PATCH 1/9] Add the "--jobs N" option to the releasetest.tcl script to allow tests to be run in parallel by N processes. N defaults to 1. FossilOrigin-Name: 3d29f912cb7c6ee3e4903b1b14dd7ae82e4d02b1 --- manifest | 17 ++-- manifest.uuid | 2 +- test/releasetest.tcl | 197 ++++++++++++++++++++++++++++++++++--------- 3 files changed, 169 insertions(+), 47 deletions(-) diff --git a/manifest b/manifest index fc7f03f6bc..6edacc5fa7 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C If\sa\stable-constraint\sPRIMARY\sKEY\slists\sa\ssingle\scolumn\sin\ssingle-quotes\sand\nthat\scolumn\shas\stype\sINTEGER,\sthen\smake\sthat\scolumn\san\sinteger\sprimary\skey,\nfor\shistorical\scompatibility.\s\sFix\sfor\sticket\s[ac661962a2aeab3c331]. -D 2015-11-01T21:19:13.044 +C Add\sthe\s"--jobs\sN"\soption\sto\sthe\sreleasetest.tcl\sscript\sto\sallow\stests\sto\sbe\srun\sin\sparallel\sby\sN\sprocesses.\sN\sdefaults\sto\s1. +D 2015-11-02T18:32:00.281 F Makefile.in 4469ed8b02a9934fea9503d791165367d19db2f7 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc 702d3e98f3afc6587a78481257f3c4c900efc3a4 @@ -948,7 +948,7 @@ F test/rbu.test 168573d353cd0fd10196b87b0caa322c144ef736 F test/rdonly.test 64e2696c322e3538df0b1ed624e21f9a23ed9ff8 F test/regexp1.test 497ea812f264d12b6198d6e50a76be4a1973a9d8 F test/reindex.test 44edd3966b474468b823d481eafef0c305022254 -F test/releasetest.tcl 67a82199e6ddee609211488bc04ed3f9ea3aa28a +F test/releasetest.tcl 27ce760f7ed8f9ccfc479b52380b5ab3b23df1d4 F test/resolver01.test f4022acafda7f4d40eca94dbf16bc5fc4ac30ceb F test/rollback.test 458fe73eb3ffdfdf9f6ba3e9b7350a6220414dea F test/rollback2.test fc14cf6d1a2b250d2735ef16124b971bce152f14 @@ -1397,7 +1397,10 @@ F tool/vdbe_profile.tcl 246d0da094856d72d2c12efec03250d71639d19f F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P 9f19420b0a79dff65fc3a9d548f4b3fc4955f9f9 -R 84796f7face623f0835cebd2cbfc3bf7 -U drh -Z 6a5992b91acc5a2e6d8856fb63b43984 +P db319a035feeb6f8fcd04f90fb10cd4b06e68184 +R 091ec514c497414ee77bdc2045b96916 +T *branch * mp-releasetest +T *sym-mp-releasetest * +T -sym-trunk * +U dan +Z 4ab3d2d6b9016bc691ec66f068d2b949 diff --git a/manifest.uuid b/manifest.uuid index d010074779..2bb524678c 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -db319a035feeb6f8fcd04f90fb10cd4b06e68184 \ No newline at end of file +3d29f912cb7c6ee3e4903b1b14dd7ae82e4d02b1 \ No newline at end of file diff --git a/test/releasetest.tcl b/test/releasetest.tcl index 04c2419ace..e19b300820 100644 --- a/test/releasetest.tcl +++ b/test/releasetest.tcl @@ -285,6 +285,9 @@ array set ::Platforms [strip_comments { ######################################################################### ######################################################################### +# Configuration verification: Check that each entry in the list of configs +# specified for each platforms exists. +# foreach {key value} [array get ::Platforms] { foreach {v t} $value { if {0==[info exists ::Configs($v)]} { @@ -386,7 +389,141 @@ proc count_tests_and_errors {logfile rcVar errmsgVar} { } } -proc run_test_suite {name testtarget config} { +#-------------------------------------------------------------------------- +# This command is invoked as the [main] routine for scripts run with the +# "--slave" option. +# +# For each test (i.e. "configure && make test" execution), the master +# process spawns a process with the --slave option. It writes two lines +# to the slaves stdin. The first contains a single boolean value - the +# value of ::TRACE to use in the slave script. The second line contains a +# list in the same format as each element of the list passed to the +# [run_all_test_suites] command in the master process. +# +# The slave then runs the "configure && make test" commands specified. It +# exits successfully if the tests passes, or with a non-zero error code +# otherwise. +# +proc run_slave_test {} { + # Read global vars configuration from stdin. + set V [gets stdin] + foreach {::TRACE} $V {} + + # Read the test-suite configuration from stdin. + set T [gets stdin] + foreach {title dir configOpts testtarget cflags opts} $T {} + + # Create and switch to the test directory. + trace_cmd file mkdir $dir + trace_cmd cd $dir + catch {file delete core} + catch {file delete test.log} + + # Run the "./configure && make" commands. + set rc 0 + set rc [catch [configureCommand $configOpts]] + if {!$rc} { + set rc [catch [makeCommand $testtarget $cflags $opts]] + } + + # Exis successfully if the test passed, or with a non-zero error code + # otherwise. + exit $rc +} + +# This command is invoked in the master process each time a slave +# file-descriptor is readable. +# +proc slave_fileevent {fd T tm1} { + global G + foreach {title dir configOpts testtarget cflags opts} $T {} + + if {[eof $fd]} { + fconfigure $fd -blocking 1 + set rc [catch { close $fd }] + + set errmsg {} + count_tests_and_errors [file join $dir test.log] rc errmsg + + if {!$::TRACE} { + set tm2 [clock seconds] + set hours [expr {($tm2-$tm1)/3600}] + set minutes [expr {(($tm2-$tm1)/60)%60}] + set seconds [expr {($tm2-$tm1)%60}] + set tm [format (%02d:%02d:%02d) $hours $minutes $seconds] + + if {$rc} { + set status FAIL + incr ::NERR + } else { + set status Ok + } + + set n [string length $title] + PUTS "finished: ${title}[string repeat . [expr {63-$n}]] $status $tm" + if {$errmsg!=""} {PUTS " $errmsg"} + flush stdout + } + + incr G(nJob) -1 + } else { + set line [gets $fd] + if {[string trim $line] != ""} { + puts "Trace : $title - \"$line\"" + } + } +} + +#-------------------------------------------------------------------------- +# The only argument passed to this function is a list of test-suites to +# run. Each "test-suite" is itself a list consisting of the following +# elements: +# +# * Test title (for display). +# * The name of the directory to run the test in. +# * The argument for [configureCommand] +# * The first argument for [makeCommand] +# * The second argument for [makeCommand] +# * The third argument for [makeCommand] +# +proc run_all_test_suites {alltests} { + global G + set tests $alltests + + set G(nJob) 0 + + while {[llength $tests]>0 || $G(nJob)>0} { + if {$G(nJob)>=$::JOBS || [llength $tests]==0} { + vwait G(nJob) + } + + if {[llength $tests]>0} { + set T [lindex $tests 0] + set tests [lrange $tests 1 end] + foreach {title dir configOpts testtarget cflags opts} $T {} + if {!$::TRACE} { + set n [string length $title] + PUTS "starting: ${title}" + flush stdout + } + + # Run the job. + # + set tm1 [clock seconds] + incr G(nJob) + set fd [open "|[info nameofexecutable] [info script] --slave" r+] + fconfigure $fd -blocking 0 + fileevent $fd readable [list slave_fileevent $fd $T $tm1] + puts $fd [list $::TRACE] + puts $fd [list {*}$T] + flush $fd + } + } +} + +proc add_test_suite {listvar name testtarget config} { + upvar $listvar alltests + # Tcl variable $opts is used to build up the value used to set the # OPTS Makefile variable. Variable $cflags holds the value for # CFLAGS. The makefile will pass OPTS to both gcc and lemon, but @@ -431,40 +568,7 @@ proc run_test_suite {name testtarget config} { append opts " -DSQLITE_OS_UNIX=1" } - if {!$::TRACE} { - set n [string length $title] - PUTS -nonewline "${title}[string repeat . [expr {63-$n}]]" - flush stdout - } - - set rc 0 - set tm1 [clock seconds] - set origdir [pwd] - trace_cmd file mkdir $dir - trace_cmd cd $dir - set errmsg {} - catch {file delete core} - set rc [catch [configureCommand $configOpts]] - if {!$rc} { - set rc [catch [makeCommand $testtarget $cflags $opts]] - count_tests_and_errors test.log rc errmsg - } - trace_cmd cd $origdir - set tm2 [clock seconds] - - if {!$::TRACE} { - set hours [expr {($tm2-$tm1)/3600}] - set minutes [expr {(($tm2-$tm1)/60)%60}] - set seconds [expr {($tm2-$tm1)%60}] - set tm [format (%02d:%02d:%02d) $hours $minutes $seconds] - if {$rc} { - PUTS " FAIL $tm" - incr ::NERR - } else { - PUTS " Ok $tm" - } - if {$errmsg!=""} {PUTS " $errmsg"} - } + lappend alltests [list $title $dir $configOpts $testtarget $cflags $opts] } # The following procedure returns the "configure" command to be exectued for @@ -507,9 +611,11 @@ proc trace_cmd {args} { if {$::TRACE} { PUTS $args } + set res "" if {!$::DRYRUN} { - uplevel 1 $args + set res [uplevel 1 $args] } + return $res } @@ -526,6 +632,7 @@ proc process_options {argv} { set ::DRYRUN 0 set ::EXEC exec set ::TRACE 0 + set ::JOBS 1 set ::WITHTCL {} set config {} set platform $::tcl_platform(os)-$::tcl_platform(machine) @@ -534,6 +641,11 @@ proc process_options {argv} { set x [lindex $argv $i] if {[regexp {^--[a-z]} $x]} {set x [string range $x 1 end]} switch -glob -- $x { + -slave { + run_slave_test + exit + } + -srcdir { incr i set ::SRCDIR [file normalize [lindex $argv $i]] @@ -544,6 +656,11 @@ proc process_options {argv} { set platform [lindex $argv $i] } + -jobs { + incr i + set ::JOBS [lindex $argv $i] + } + -quick { set ::QUICK 1 } @@ -689,7 +806,7 @@ proc main {argv} { set config_options [concat $::Configs($zConfig) $::EXTRACONFIG] incr NTEST - run_test_suite $zConfig $target $config_options + add_test_suite all $zConfig $target $config_options # If the configuration included the SQLITE_DEBUG option, then remove # it and run veryquick.test. If it did not include the SQLITE_DEBUG option @@ -703,16 +820,18 @@ proc main {argv} { if {$debug_idx < 0} { incr NTEST append config_options " -DSQLITE_DEBUG=1" - run_test_suite "${zConfig}_debug" $xtarget $config_options + add_test_suite all "${zConfig}_debug" $xtarget $config_options } else { incr NTEST regsub { *-DSQLITE_MEMDEBUG[^ ]* *} $config_options { } config_options regsub { *-DSQLITE_DEBUG[^ ]* *} $config_options { } config_options - run_test_suite "${zConfig}_ndebug" $xtarget $config_options + add_test_suite all "${zConfig}_ndebug" $xtarget $config_options } } } + run_all_test_suites $all + set elapsetime [expr {[clock seconds]-$STARTTIME}] set hr [expr {$elapsetime/3600}] set min [expr {($elapsetime/60)%60}] From 9525a86ba1c2539fcc5e7f0f66aada6c0d7afda4 Mon Sep 17 00:00:00 2001 From: dan Date: Mon, 2 Nov 2015 20:24:29 +0000 Subject: [PATCH 2/9] Fix releasetest.tcl so that output lines are less than 80 characters wide. FossilOrigin-Name: aef177fef049f9ffb0d138b947326dc0186b1f4f --- manifest | 15 ++++++--------- manifest.uuid | 2 +- test/releasetest.tcl | 2 +- 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/manifest b/manifest index 6edacc5fa7..618eceeab1 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Add\sthe\s"--jobs\sN"\soption\sto\sthe\sreleasetest.tcl\sscript\sto\sallow\stests\sto\sbe\srun\sin\sparallel\sby\sN\sprocesses.\sN\sdefaults\sto\s1. -D 2015-11-02T18:32:00.281 +C Fix\sreleasetest.tcl\sso\sthat\soutput\slines\sare\sless\sthan\s80\scharacters\swide. +D 2015-11-02T20:24:29.534 F Makefile.in 4469ed8b02a9934fea9503d791165367d19db2f7 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc 702d3e98f3afc6587a78481257f3c4c900efc3a4 @@ -948,7 +948,7 @@ F test/rbu.test 168573d353cd0fd10196b87b0caa322c144ef736 F test/rdonly.test 64e2696c322e3538df0b1ed624e21f9a23ed9ff8 F test/regexp1.test 497ea812f264d12b6198d6e50a76be4a1973a9d8 F test/reindex.test 44edd3966b474468b823d481eafef0c305022254 -F test/releasetest.tcl 27ce760f7ed8f9ccfc479b52380b5ab3b23df1d4 +F test/releasetest.tcl 3ab9971e63b86dd3601e15d7df5ab95ebcd59830 F test/resolver01.test f4022acafda7f4d40eca94dbf16bc5fc4ac30ceb F test/rollback.test 458fe73eb3ffdfdf9f6ba3e9b7350a6220414dea F test/rollback2.test fc14cf6d1a2b250d2735ef16124b971bce152f14 @@ -1397,10 +1397,7 @@ F tool/vdbe_profile.tcl 246d0da094856d72d2c12efec03250d71639d19f F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P db319a035feeb6f8fcd04f90fb10cd4b06e68184 -R 091ec514c497414ee77bdc2045b96916 -T *branch * mp-releasetest -T *sym-mp-releasetest * -T -sym-trunk * +P 3d29f912cb7c6ee3e4903b1b14dd7ae82e4d02b1 +R 505a39a0f41499b686ed80eb068a99d4 U dan -Z 4ab3d2d6b9016bc691ec66f068d2b949 +Z 2e77fe00dc901cf4f51390d5b829205a diff --git a/manifest.uuid b/manifest.uuid index 2bb524678c..af60eda520 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -3d29f912cb7c6ee3e4903b1b14dd7ae82e4d02b1 \ No newline at end of file +aef177fef049f9ffb0d138b947326dc0186b1f4f \ No newline at end of file diff --git a/test/releasetest.tcl b/test/releasetest.tcl index e19b300820..d81ef09e12 100644 --- a/test/releasetest.tcl +++ b/test/releasetest.tcl @@ -460,7 +460,7 @@ proc slave_fileevent {fd T tm1} { } set n [string length $title] - PUTS "finished: ${title}[string repeat . [expr {63-$n}]] $status $tm" + PUTS "finished: ${title}[string repeat . [expr {53-$n}]] $status $tm" if {$errmsg!=""} {PUTS " $errmsg"} flush stdout } From e9e1505b3c6f3ff8861d9d20274ba7b1263ee72d Mon Sep 17 00:00:00 2001 From: dan Date: Mon, 2 Nov 2015 20:28:48 +0000 Subject: [PATCH 3/9] Fix releasetest.tcl so that it does not choke if a test fails so badly that there is no log file. Add the --jobs switch to the usage message. FossilOrigin-Name: 20e96f521fce12ffeb6be788e57bce88f287cff5 --- manifest | 12 ++++++------ manifest.uuid | 2 +- test/releasetest.tcl | 9 ++++++++- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/manifest b/manifest index 618eceeab1..d94eb68db7 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sreleasetest.tcl\sso\sthat\soutput\slines\sare\sless\sthan\s80\scharacters\swide. -D 2015-11-02T20:24:29.534 +C Fix\sreleasetest.tcl\sso\sthat\sit\sdoes\snot\schoke\sif\sa\stest\sfails\sso\sbadly\sthat\sthere\sis\sno\slog\sfile.\sAdd\sthe\s--jobs\sswitch\sto\sthe\susage\smessage. +D 2015-11-02T20:28:48.981 F Makefile.in 4469ed8b02a9934fea9503d791165367d19db2f7 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc 702d3e98f3afc6587a78481257f3c4c900efc3a4 @@ -948,7 +948,7 @@ F test/rbu.test 168573d353cd0fd10196b87b0caa322c144ef736 F test/rdonly.test 64e2696c322e3538df0b1ed624e21f9a23ed9ff8 F test/regexp1.test 497ea812f264d12b6198d6e50a76be4a1973a9d8 F test/reindex.test 44edd3966b474468b823d481eafef0c305022254 -F test/releasetest.tcl 3ab9971e63b86dd3601e15d7df5ab95ebcd59830 +F test/releasetest.tcl 298556d91ee49375cf87c3c899483f50d4722a07 F test/resolver01.test f4022acafda7f4d40eca94dbf16bc5fc4ac30ceb F test/rollback.test 458fe73eb3ffdfdf9f6ba3e9b7350a6220414dea F test/rollback2.test fc14cf6d1a2b250d2735ef16124b971bce152f14 @@ -1397,7 +1397,7 @@ F tool/vdbe_profile.tcl 246d0da094856d72d2c12efec03250d71639d19f F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P 3d29f912cb7c6ee3e4903b1b14dd7ae82e4d02b1 -R 505a39a0f41499b686ed80eb068a99d4 +P aef177fef049f9ffb0d138b947326dc0186b1f4f +R 8b650d0156c14e56fe1cf3974aba955d U dan -Z 2e77fe00dc901cf4f51390d5b829205a +Z d28db9d91dacdee58d844fe7129a20ae diff --git a/manifest.uuid b/manifest.uuid index af60eda520..d5cc1bbeb0 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -aef177fef049f9ffb0d138b947326dc0186b1f4f \ No newline at end of file +20e96f521fce12ffeb6be788e57bce88f287cff5 \ No newline at end of file diff --git a/test/releasetest.tcl b/test/releasetest.tcl index d81ef09e12..b8e6c74156 100644 --- a/test/releasetest.tcl +++ b/test/releasetest.tcl @@ -19,6 +19,7 @@ optional) are: --dryrun (Print what would have happened) --info (Show diagnostic info) --with-tcl=DIR (Use TCL build at DIR) + --jobs N (Use N processes - default 1) The default value for --srcdir is the parent of the directory holding this script. @@ -443,7 +444,13 @@ proc slave_fileevent {fd T tm1} { set rc [catch { close $fd }] set errmsg {} - count_tests_and_errors [file join $dir test.log] rc errmsg + set logfile [file join $dir test.log] + if {[file exists $logfile]} { + count_tests_and_errors [file join $dir test.log] rc errmsg + } elseif {$rc==0} { + set rc 1 + set errmsg "no test.log file..." + } if {!$::TRACE} { set tm2 [clock seconds] From d08a63ab6255f6ef9bb97eb2d49087234e317b9c Mon Sep 17 00:00:00 2001 From: dan Date: Mon, 2 Nov 2015 20:52:20 +0000 Subject: [PATCH 4/9] Fix the --dryrun option on the releasetest.tcl script. FossilOrigin-Name: e565e0261501e4c21e4ad3d12f9f5b24c761bf96 --- manifest | 12 ++++++------ manifest.uuid | 2 +- test/releasetest.tcl | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/manifest b/manifest index d94eb68db7..3f100a7b32 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sreleasetest.tcl\sso\sthat\sit\sdoes\snot\schoke\sif\sa\stest\sfails\sso\sbadly\sthat\sthere\sis\sno\slog\sfile.\sAdd\sthe\s--jobs\sswitch\sto\sthe\susage\smessage. -D 2015-11-02T20:28:48.981 +C Fix\sthe\s--dryrun\soption\son\sthe\sreleasetest.tcl\sscript. +D 2015-11-02T20:52:20.250 F Makefile.in 4469ed8b02a9934fea9503d791165367d19db2f7 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc 702d3e98f3afc6587a78481257f3c4c900efc3a4 @@ -948,7 +948,7 @@ F test/rbu.test 168573d353cd0fd10196b87b0caa322c144ef736 F test/rdonly.test 64e2696c322e3538df0b1ed624e21f9a23ed9ff8 F test/regexp1.test 497ea812f264d12b6198d6e50a76be4a1973a9d8 F test/reindex.test 44edd3966b474468b823d481eafef0c305022254 -F test/releasetest.tcl 298556d91ee49375cf87c3c899483f50d4722a07 +F test/releasetest.tcl 1012f41f1a5fefd6a62331332b97a9938e1c64cc F test/resolver01.test f4022acafda7f4d40eca94dbf16bc5fc4ac30ceb F test/rollback.test 458fe73eb3ffdfdf9f6ba3e9b7350a6220414dea F test/rollback2.test fc14cf6d1a2b250d2735ef16124b971bce152f14 @@ -1397,7 +1397,7 @@ F tool/vdbe_profile.tcl 246d0da094856d72d2c12efec03250d71639d19f F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P aef177fef049f9ffb0d138b947326dc0186b1f4f -R 8b650d0156c14e56fe1cf3974aba955d +P 20e96f521fce12ffeb6be788e57bce88f287cff5 +R f117a4a5b3ef13cab54d6f985044aa83 U dan -Z d28db9d91dacdee58d844fe7129a20ae +Z a5ae3477937f7e46f7556e9e0025f641 diff --git a/manifest.uuid b/manifest.uuid index d5cc1bbeb0..f6c11f5fa7 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -20e96f521fce12ffeb6be788e57bce88f287cff5 \ No newline at end of file +e565e0261501e4c21e4ad3d12f9f5b24c761bf96 \ No newline at end of file diff --git a/test/releasetest.tcl b/test/releasetest.tcl index b8e6c74156..c6d98a0116 100644 --- a/test/releasetest.tcl +++ b/test/releasetest.tcl @@ -408,7 +408,7 @@ proc count_tests_and_errors {logfile rcVar errmsgVar} { proc run_slave_test {} { # Read global vars configuration from stdin. set V [gets stdin] - foreach {::TRACE} $V {} + foreach {::TRACE ::MSVC ::DRYRUN} $V {} # Read the test-suite configuration from stdin. set T [gets stdin] @@ -521,7 +521,7 @@ proc run_all_test_suites {alltests} { set fd [open "|[info nameofexecutable] [info script] --slave" r+] fconfigure $fd -blocking 0 fileevent $fd readable [list slave_fileevent $fd $T $tm1] - puts $fd [list $::TRACE] + puts $fd [list $::TRACE $::MSVC $::DRYRUN] puts $fd [list {*}$T] flush $fd } From 59189433ba8a2c4bc2fbf579ea0f67edb454578d Mon Sep 17 00:00:00 2001 From: mistachkin Date: Mon, 2 Nov 2015 21:05:56 +0000 Subject: [PATCH 5/9] Get things working better on Windows with MSVC. FossilOrigin-Name: 22cc3e6c8e7f7eed854f8a50138ccb9c79bb7a23 --- manifest | 14 +++++++------- manifest.uuid | 2 +- test/releasetest.tcl | 14 +++++++++++++- 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/manifest b/manifest index 3f100a7b32..cb6c413e21 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sthe\s--dryrun\soption\son\sthe\sreleasetest.tcl\sscript. -D 2015-11-02T20:52:20.250 +C Get\sthings\sworking\sbetter\son\sWindows\swith\sMSVC. +D 2015-11-02T21:05:56.617 F Makefile.in 4469ed8b02a9934fea9503d791165367d19db2f7 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc 702d3e98f3afc6587a78481257f3c4c900efc3a4 @@ -948,7 +948,7 @@ F test/rbu.test 168573d353cd0fd10196b87b0caa322c144ef736 F test/rdonly.test 64e2696c322e3538df0b1ed624e21f9a23ed9ff8 F test/regexp1.test 497ea812f264d12b6198d6e50a76be4a1973a9d8 F test/reindex.test 44edd3966b474468b823d481eafef0c305022254 -F test/releasetest.tcl 1012f41f1a5fefd6a62331332b97a9938e1c64cc +F test/releasetest.tcl 39d6de145cc95e81a6a48cead3fa7825a01040d3 F test/resolver01.test f4022acafda7f4d40eca94dbf16bc5fc4ac30ceb F test/rollback.test 458fe73eb3ffdfdf9f6ba3e9b7350a6220414dea F test/rollback2.test fc14cf6d1a2b250d2735ef16124b971bce152f14 @@ -1397,7 +1397,7 @@ F tool/vdbe_profile.tcl 246d0da094856d72d2c12efec03250d71639d19f F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P 20e96f521fce12ffeb6be788e57bce88f287cff5 -R f117a4a5b3ef13cab54d6f985044aa83 -U dan -Z a5ae3477937f7e46f7556e9e0025f641 +P e565e0261501e4c21e4ad3d12f9f5b24c761bf96 +R 1187737c11e82a8337e5d517b5bc7406 +U mistachkin +Z 7eb3b356bb9807dcced0017ec4636c5d diff --git a/manifest.uuid b/manifest.uuid index f6c11f5fa7..aa6b9eb88c 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -e565e0261501e4c21e4ad3d12f9f5b24c761bf96 \ No newline at end of file +22cc3e6c8e7f7eed854f8a50138ccb9c79bb7a23 \ No newline at end of file diff --git a/test/releasetest.tcl b/test/releasetest.tcl index c6d98a0116..19867f8ff6 100644 --- a/test/releasetest.tcl +++ b/test/releasetest.tcl @@ -424,7 +424,18 @@ proc run_slave_test {} { set rc 0 set rc [catch [configureCommand $configOpts]] if {!$rc} { + if {[info exists ::env(TCLSH_CMD)]} { + set savedEnv(TCLSH_CMD) $::env(TCLSH_CMD) + } else { + unset -nocomplain savedEnv(TCLSH_CMD) + } + set ::env(TCLSH_CMD) [file nativename [info nameofexecutable]] set rc [catch [makeCommand $testtarget $cflags $opts]] + if {[info exists savedEnv(TCLSH_CMD)]} { + set ::env(TCLSH_CMD) $savedEnv(TCLSH_CMD) + } else { + unset -nocomplain ::env(TCLSH_CMD) + } } # Exis successfully if the test passed, or with a non-zero error code @@ -518,7 +529,8 @@ proc run_all_test_suites {alltests} { # set tm1 [clock seconds] incr G(nJob) - set fd [open "|[info nameofexecutable] [info script] --slave" r+] + set script [file normalize [info script]] + set fd [open "|[info nameofexecutable] $script --slave" r+] fconfigure $fd -blocking 0 fileevent $fd readable [list slave_fileevent $fd $T $tm1] puts $fd [list $::TRACE $::MSVC $::DRYRUN] From 3e6d22ad4d3301541270caf76016df237a5baa2f Mon Sep 17 00:00:00 2001 From: drh Date: Mon, 2 Nov 2015 23:21:17 +0000 Subject: [PATCH 6/9] Fix the backcompat.test module so that it does not try to compare against itself on windows. FossilOrigin-Name: f625bce8b7c2884a092c70675a9c6ce15c29937e --- manifest | 14 +++++++------- manifest.uuid | 2 +- test/bc_common.tcl | 4 +++- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/manifest b/manifest index cb6c413e21..1b88902e77 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Get\sthings\sworking\sbetter\son\sWindows\swith\sMSVC. -D 2015-11-02T21:05:56.617 +C Fix\sthe\sbackcompat.test\smodule\sso\sthat\sit\sdoes\snot\stry\sto\scompare\sagainst\sitself\non\swindows. +D 2015-11-02T23:21:17.389 F Makefile.in 4469ed8b02a9934fea9503d791165367d19db2f7 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc 702d3e98f3afc6587a78481257f3c4c900efc3a4 @@ -480,7 +480,7 @@ F test/backup_ioerr.test 4c3c7147cee85b024ecf6e150e090c32fdbb5135 F test/backup_malloc.test 7162d604ec2b4683c4b3799a48657fb8b5e2d450 F test/badutf.test d5360fc31f643d37a973ab0d8b4fb85799c3169f F test/badutf2.test f5bc7f2d280670ecd79b9cf4f0f1760c607fe51f -F test/bc_common.tcl 5c8689cc6d2fb44b7c0968ae4f85eb26d50022fa +F test/bc_common.tcl 3eda41ef9cda7d5f6c205462c96228b301da4191 F test/between.test 34d375fb5ce1ae283ffe82b6b233e9f38e84fc6c F test/bigfile.test aa74f4e5db51c8e54a1d9de9fa65d01d1eb20b59 F test/bigfile2.test 1b489a3a39ae90c7f027b79110d6b4e1dbc71bfc @@ -1397,7 +1397,7 @@ F tool/vdbe_profile.tcl 246d0da094856d72d2c12efec03250d71639d19f F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P e565e0261501e4c21e4ad3d12f9f5b24c761bf96 -R 1187737c11e82a8337e5d517b5bc7406 -U mistachkin -Z 7eb3b356bb9807dcced0017ec4636c5d +P 22cc3e6c8e7f7eed854f8a50138ccb9c79bb7a23 +R c5c631dd7ea4596095ad68ee5913e438 +U drh +Z 0cc762df2756575e67d282e298d9c9ef diff --git a/manifest.uuid b/manifest.uuid index aa6b9eb88c..824dd2391f 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -22cc3e6c8e7f7eed854f8a50138ccb9c79bb7a23 \ No newline at end of file +f625bce8b7c2884a092c70675a9c6ce15c29937e \ No newline at end of file diff --git a/test/bc_common.tcl b/test/bc_common.tcl index eb9b6db9d3..78010dfa46 100644 --- a/test/bc_common.tcl +++ b/test/bc_common.tcl @@ -7,11 +7,13 @@ proc bc_find_binaries {zCaption} { # against. # set binaries [list] - set pattern "[file tail [info nameofexec]]?*" + set self [file tail [info nameofexec]] + set pattern "$self?*" if {$::tcl_platform(platform)=="windows"} { set pattern [string map {\.exe {}} $pattern] } foreach file [glob -nocomplain $pattern] { + if {$file==$self} continue if {[file executable $file] && [file isfile $file]} {lappend binaries $file} } From da9da5624af05ce9d2d8cedfdef27866b89fe519 Mon Sep 17 00:00:00 2001 From: mistachkin Date: Mon, 2 Nov 2015 23:29:58 +0000 Subject: [PATCH 7/9] Attempt to centralize and simplify the MSVC handling. FossilOrigin-Name: 4ae96d6dde7fc0a913d7719ec498686f9a1e3b98 --- manifest | 17 ++++---- manifest.uuid | 2 +- test/releasetest.tcl | 97 ++++++++++++++++++++++++++++++-------------- 3 files changed, 78 insertions(+), 38 deletions(-) diff --git a/manifest b/manifest index 1b88902e77..0347e7e67c 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sthe\sbackcompat.test\smodule\sso\sthat\sit\sdoes\snot\stry\sto\scompare\sagainst\sitself\non\swindows. -D 2015-11-02T23:21:17.389 +C Attempt\sto\scentralize\sand\ssimplify\sthe\sMSVC\shandling. +D 2015-11-02T23:29:58.179 F Makefile.in 4469ed8b02a9934fea9503d791165367d19db2f7 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc 702d3e98f3afc6587a78481257f3c4c900efc3a4 @@ -948,7 +948,7 @@ F test/rbu.test 168573d353cd0fd10196b87b0caa322c144ef736 F test/rdonly.test 64e2696c322e3538df0b1ed624e21f9a23ed9ff8 F test/regexp1.test 497ea812f264d12b6198d6e50a76be4a1973a9d8 F test/reindex.test 44edd3966b474468b823d481eafef0c305022254 -F test/releasetest.tcl 39d6de145cc95e81a6a48cead3fa7825a01040d3 +F test/releasetest.tcl 203d4ae4b5967f45aff3a702f5ceca0e374c2701 F test/resolver01.test f4022acafda7f4d40eca94dbf16bc5fc4ac30ceb F test/rollback.test 458fe73eb3ffdfdf9f6ba3e9b7350a6220414dea F test/rollback2.test fc14cf6d1a2b250d2735ef16124b971bce152f14 @@ -1397,7 +1397,10 @@ F tool/vdbe_profile.tcl 246d0da094856d72d2c12efec03250d71639d19f F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P 22cc3e6c8e7f7eed854f8a50138ccb9c79bb7a23 -R c5c631dd7ea4596095ad68ee5913e438 -U drh -Z 0cc762df2756575e67d282e298d9c9ef +P f625bce8b7c2884a092c70675a9c6ce15c29937e +R eb29c38bdfc8b6dd27ad862c284260aa +T *branch * msvcRefactor +T *sym-msvcRefactor * +T -sym-mp-releasetest * +U mistachkin +Z b0a92943833683434e791bb83f5a4e2b diff --git a/manifest.uuid b/manifest.uuid index 824dd2391f..c1778b7e5c 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -f625bce8b7c2884a092c70675a9c6ce15c29937e \ No newline at end of file +4ae96d6dde7fc0a913d7719ec498686f9a1e3b98 \ No newline at end of file diff --git a/test/releasetest.tcl b/test/releasetest.tcl index 19867f8ff6..dea09a6ebe 100644 --- a/test/releasetest.tcl +++ b/test/releasetest.tcl @@ -286,7 +286,7 @@ array set ::Platforms [strip_comments { ######################################################################### ######################################################################### -# Configuration verification: Check that each entry in the list of configs +# Configuration verification: Check that each entry in the list of configs # specified for each platforms exists. # foreach {key value} [array get ::Platforms] { @@ -392,12 +392,12 @@ proc count_tests_and_errors {logfile rcVar errmsgVar} { #-------------------------------------------------------------------------- # This command is invoked as the [main] routine for scripts run with the -# "--slave" option. +# "--slave" option. # # For each test (i.e. "configure && make test" execution), the master # process spawns a process with the --slave option. It writes two lines -# to the slaves stdin. The first contains a single boolean value - the -# value of ::TRACE to use in the slave script. The second line contains a +# to the slaves stdin. The first contains a single boolean value - the +# value of ::TRACE to use in the slave script. The second line contains a # list in the same format as each element of the list passed to the # [run_all_test_suites] command in the master process. # @@ -412,7 +412,7 @@ proc run_slave_test {} { # Read the test-suite configuration from stdin. set T [gets stdin] - foreach {title dir configOpts testtarget cflags opts} $T {} + foreach {title dir configOpts testtarget makeOpts cflags opts} $T {} # Create and switch to the test directory. trace_cmd file mkdir $dir @@ -430,7 +430,7 @@ proc run_slave_test {} { unset -nocomplain savedEnv(TCLSH_CMD) } set ::env(TCLSH_CMD) [file nativename [info nameofexecutable]] - set rc [catch [makeCommand $testtarget $cflags $opts]] + set rc [catch [makeCommand $testtarget $makeOpts $cflags $opts]] if {[info exists savedEnv(TCLSH_CMD)]} { set ::env(TCLSH_CMD) $savedEnv(TCLSH_CMD) } else { @@ -443,12 +443,12 @@ proc run_slave_test {} { exit $rc } -# This command is invoked in the master process each time a slave +# This command is invoked in the master process each time a slave # file-descriptor is readable. # proc slave_fileevent {fd T tm1} { global G - foreach {title dir configOpts testtarget cflags opts} $T {} + foreach {title dir configOpts testtarget makeOpts cflags opts} $T {} if {[eof $fd]} { fconfigure $fd -blocking 1 @@ -503,7 +503,7 @@ proc slave_fileevent {fd T tm1} { # * The first argument for [makeCommand] # * The second argument for [makeCommand] # * The third argument for [makeCommand] -# +# proc run_all_test_suites {alltests} { global G set tests $alltests @@ -518,7 +518,7 @@ proc run_all_test_suites {alltests} { if {[llength $tests]>0} { set T [lindex $tests 0] set tests [lrange $tests 1 end] - foreach {title dir configOpts testtarget cflags opts} $T {} + foreach {title dir configOpts testtarget makeOpts cflags opts} $T {} if {!$::TRACE} { set n [string length $title] PUTS "starting: ${title}" @@ -548,6 +548,7 @@ proc add_test_suite {listvar name testtarget config} { # CFLAGS. The makefile will pass OPTS to both gcc and lemon, but # CFLAGS is only passed to gcc. # + set makeOpts "" set cflags [expr {$::MSVC ? "-Zi" : "-g"}] set opts "" set title ${name}($testtarget) @@ -560,34 +561,70 @@ proc add_test_suite {listvar name testtarget config} { } elseif {[regexp {^[A-Z]+=} $arg]} { lappend testtarget $arg } elseif {[regexp {^--(enable|disable)-} $arg]} { + if {$::MSVC} { + if {$arg eq "--disable-amalgamation"} { + lappend makeOpts USE_AMALGAMATION=0 + continue + } + if {$arg eq "--disable-shared"} { + lappend makeOpts USE_CRT_DLL=0 DYNAMIC_SHELL=0 + continue + } + if {$arg eq "--enable-fts5"} { + lappend opts -DSQLITE_ENABLE_FTS5 + continue + } + if {$arg eq "--enable-json1"} { + lappend opts -DSQLITE_ENABLE_JSON1 + continue + } + } lappend configOpts $arg } else { + if {$::MSVC} { + if {$arg eq "-g"} { + lappend cflags -Zi + continue + } + if {[regexp -- {^-O(\d+)$} $arg all level]} then { + lappend makeOpts OPTIMIZATIONS=$level + continue + } + } lappend cflags $arg } } - set cflags [join $cflags " "] - set opts [join $opts " "] - append opts " -DSQLITE_NO_SYNC=1" + # Disable sync to make testing faster. + # + lappend opts -DSQLITE_NO_SYNC=1 # Some configurations already set HAVE_USLEEP; in that case, skip it. # - if {![regexp { -DHAVE_USLEEP$} $opts] - && ![regexp { -DHAVE_USLEEP[ =]+} $opts]} { - append opts " -DHAVE_USLEEP=1" + if {[lsearch -regexp $opts {^-DHAVE_USLEEP(?:=|$)}]==-1} { + lappend opts -DHAVE_USLEEP=1 + } + + # Add the define for this platform. + # + if {$::tcl_platform(platform)=="windows"} { + lappend opts -DSQLITE_OS_WIN=1 + } else { + lappend opts -DSQLITE_OS_UNIX=1 } # Set the sub-directory to use. # set dir [string tolower [string map {- _ " " _} $name]] - if {$::tcl_platform(platform)=="windows"} { - append opts " -DSQLITE_OS_WIN=1" - } else { - append opts " -DSQLITE_OS_UNIX=1" - } + # Join option lists into strings, using space as delimiter. + # + set makeOpts [join $makeOpts " "] + set cflags [join $cflags " "] + set opts [join $opts " "] - lappend alltests [list $title $dir $configOpts $testtarget $cflags $opts] + lappend alltests [list \ + $title $dir $configOpts $testtarget $makeOpts $cflags $opts] } # The following procedure returns the "configure" command to be exectued for @@ -607,15 +644,19 @@ proc configureCommand {opts} { # The following procedure returns the "make" command to be executed for the # specified targets, compiler flags, and options. # -proc makeCommand { targets cflags opts } { +proc makeCommand { targets makeOpts cflags opts } { set result [list trace_cmd exec] if {$::MSVC} { set nmakeDir [file nativename $::SRCDIR] set nmakeFile [file join $nmakeDir Makefile.msc] - lappend result nmake /f $nmakeFile TOP=$nmakeDir clean + lappend result nmake /f $nmakeFile TOP=$nmakeDir } else { - lappend result make clean + lappend result make } + foreach makeOpt $makeOpts { + lappend result $makeOpt + } + lappend result clean foreach target $targets { lappend result $target } @@ -733,11 +774,7 @@ proc process_options {argv} { } -g { - if {$::MSVC} { - lappend ::EXTRACONFIG -Zi - } else { - lappend ::EXTRACONFIG [lindex $argv $i] - } + lappend ::EXTRACONFIG [lindex $argv $i] } -with-tcl=* { From 98fea32c83da3ac962b9e74911537b91a9f85d30 Mon Sep 17 00:00:00 2001 From: mistachkin Date: Tue, 3 Nov 2015 02:47:11 +0000 Subject: [PATCH 8/9] Use the native name for the MSVC makefile as well. FossilOrigin-Name: e457c615647a5bacb32d7d1d9ddfcfb0c7d56e82 --- manifest | 15 ++++++--------- manifest.uuid | 2 +- test/releasetest.tcl | 2 +- 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/manifest b/manifest index 0347e7e67c..b37dc4bb87 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Attempt\sto\scentralize\sand\ssimplify\sthe\sMSVC\shandling. -D 2015-11-02T23:29:58.179 +C Use\sthe\snative\sname\sfor\sthe\sMSVC\smakefile\sas\swell. +D 2015-11-03T02:47:11.042 F Makefile.in 4469ed8b02a9934fea9503d791165367d19db2f7 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc 702d3e98f3afc6587a78481257f3c4c900efc3a4 @@ -948,7 +948,7 @@ F test/rbu.test 168573d353cd0fd10196b87b0caa322c144ef736 F test/rdonly.test 64e2696c322e3538df0b1ed624e21f9a23ed9ff8 F test/regexp1.test 497ea812f264d12b6198d6e50a76be4a1973a9d8 F test/reindex.test 44edd3966b474468b823d481eafef0c305022254 -F test/releasetest.tcl 203d4ae4b5967f45aff3a702f5ceca0e374c2701 +F test/releasetest.tcl bad82f39a04a0167a4f66e8e08b17b23f204af47 F test/resolver01.test f4022acafda7f4d40eca94dbf16bc5fc4ac30ceb F test/rollback.test 458fe73eb3ffdfdf9f6ba3e9b7350a6220414dea F test/rollback2.test fc14cf6d1a2b250d2735ef16124b971bce152f14 @@ -1397,10 +1397,7 @@ F tool/vdbe_profile.tcl 246d0da094856d72d2c12efec03250d71639d19f F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P f625bce8b7c2884a092c70675a9c6ce15c29937e -R eb29c38bdfc8b6dd27ad862c284260aa -T *branch * msvcRefactor -T *sym-msvcRefactor * -T -sym-mp-releasetest * +P 4ae96d6dde7fc0a913d7719ec498686f9a1e3b98 +R 14492f88a18ae330845ea78da3703df0 U mistachkin -Z b0a92943833683434e791bb83f5a4e2b +Z 0806ab004061ebe41f0631a896122666 diff --git a/manifest.uuid b/manifest.uuid index c1778b7e5c..40cad1b83f 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -4ae96d6dde7fc0a913d7719ec498686f9a1e3b98 \ No newline at end of file +e457c615647a5bacb32d7d1d9ddfcfb0c7d56e82 \ No newline at end of file diff --git a/test/releasetest.tcl b/test/releasetest.tcl index dea09a6ebe..a4d379b4d9 100644 --- a/test/releasetest.tcl +++ b/test/releasetest.tcl @@ -648,7 +648,7 @@ proc makeCommand { targets makeOpts cflags opts } { set result [list trace_cmd exec] if {$::MSVC} { set nmakeDir [file nativename $::SRCDIR] - set nmakeFile [file join $nmakeDir Makefile.msc] + set nmakeFile [file nativename [file join $nmakeDir Makefile.msc]] lappend result nmake /f $nmakeFile TOP=$nmakeDir } else { lappend result make From 7d3bfa2713eddfd3816e695be24c9c7e7d638341 Mon Sep 17 00:00:00 2001 From: mistachkin Date: Tue, 3 Nov 2015 06:23:33 +0000 Subject: [PATCH 9/9] Further enhancement and a bit of cleanup. FossilOrigin-Name: 0d8b59783e0a84bc59661b3469e1ca1b1fa90c71 --- manifest | 12 ++++++------ manifest.uuid | 2 +- test/releasetest.tcl | 5 ++++- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/manifest b/manifest index b37dc4bb87..7f5cecce2f 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Use\sthe\snative\sname\sfor\sthe\sMSVC\smakefile\sas\swell. -D 2015-11-03T02:47:11.042 +C Further\senhancement\sand\sa\sbit\sof\scleanup. +D 2015-11-03T06:23:33.220 F Makefile.in 4469ed8b02a9934fea9503d791165367d19db2f7 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc 702d3e98f3afc6587a78481257f3c4c900efc3a4 @@ -948,7 +948,7 @@ F test/rbu.test 168573d353cd0fd10196b87b0caa322c144ef736 F test/rdonly.test 64e2696c322e3538df0b1ed624e21f9a23ed9ff8 F test/regexp1.test 497ea812f264d12b6198d6e50a76be4a1973a9d8 F test/reindex.test 44edd3966b474468b823d481eafef0c305022254 -F test/releasetest.tcl bad82f39a04a0167a4f66e8e08b17b23f204af47 +F test/releasetest.tcl c4f9bc9ef7e4b52b5b0f4a4dc304f048f9f67500 F test/resolver01.test f4022acafda7f4d40eca94dbf16bc5fc4ac30ceb F test/rollback.test 458fe73eb3ffdfdf9f6ba3e9b7350a6220414dea F test/rollback2.test fc14cf6d1a2b250d2735ef16124b971bce152f14 @@ -1397,7 +1397,7 @@ F tool/vdbe_profile.tcl 246d0da094856d72d2c12efec03250d71639d19f F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P 4ae96d6dde7fc0a913d7719ec498686f9a1e3b98 -R 14492f88a18ae330845ea78da3703df0 +P e457c615647a5bacb32d7d1d9ddfcfb0c7d56e82 +R 12eec2478f572b441249fa0b7ba8f658 U mistachkin -Z 0806ab004061ebe41f0631a896122666 +Z 3f7ea4357401426e1a05712401cf1f9e diff --git a/manifest.uuid b/manifest.uuid index 40cad1b83f..480a279558 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -e457c615647a5bacb32d7d1d9ddfcfb0c7d56e82 \ No newline at end of file +0d8b59783e0a84bc59661b3469e1ca1b1fa90c71 \ No newline at end of file diff --git a/test/releasetest.tcl b/test/releasetest.tcl index a4d379b4d9..5f7afa5d38 100644 --- a/test/releasetest.tcl +++ b/test/releasetest.tcl @@ -578,6 +578,10 @@ proc add_test_suite {listvar name testtarget config} { lappend opts -DSQLITE_ENABLE_JSON1 continue } + if {$arg eq "--enable-shared"} { + lappend makeOpts USE_CRT_DLL=1 DYNAMIC_SHELL=1 + continue + } } lappend configOpts $arg } else { @@ -690,7 +694,6 @@ proc process_options {argv} { set ::MSVC 0 set ::BUILDONLY 0 set ::DRYRUN 0 - set ::EXEC exec set ::TRACE 0 set ::JOBS 1 set ::WITHTCL {}