Update wapptest.tcl to use a simpler slave script. And to leave scripts wapptest_configure.sh and wapptest_make.sh in each test directory.
FossilOrigin-Name: 07e527d781838412b2a434e64baaa49cbf7410a51c7393f54adc7b8eaffd5229
This commit is contained in:
parent
c589acbc50
commit
919458923d
13
manifest
13
manifest
@ -1,5 +1,5 @@
|
||||
C Fix\sa\sproblem\sallowing\sa\sTable\sobject\sto\sbe\sdeleted\sfrom\swithin\sa\scall\sto\sthe\sxDestroy\smethod\sof\sthe\sassociated\svirtual\stable,\scausing\sa\suse-after-free\serror.
|
||||
D 2019-04-30T15:36:32.034
|
||||
C Update\swapptest.tcl\sto\suse\sa\ssimpler\sslave\sscript.\sAnd\sto\sleave\sscripts\swapptest_configure.sh\sand\swapptest_make.sh\sin\seach\stest\sdirectory.
|
||||
D 2019-04-30T20:43:10.531
|
||||
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
|
||||
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
|
||||
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
|
||||
@ -1656,7 +1656,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 78aff97afe76fd9728cf5f84710a772412735bc68a612b4789279072177a424e x
|
||||
F test/wapptest.tcl 7cdac27ab7945b96719aea1afdeac5922b38657d488c676b91fff173552087e0 x
|
||||
F test/where.test 0607caa5a1fbfe7b93b95705981b463a3a0408038f22ae6e9dc11b36902b0e95
|
||||
F test/where2.test 478d2170637b9211f593120648858593bf2445a1
|
||||
F test/where3.test 2341a294e17193a6b1699ea7f192124a5286ca6acfcc3f4b06d16c931fbcda2c
|
||||
@ -1822,7 +1822,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
|
||||
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
|
||||
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
|
||||
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
|
||||
P b6d7d42b7426622a26b67809cd1f21285fea120aa1897377b9946840463b41f1
|
||||
R 6adb84036e04ae37c244138c75843359
|
||||
P 1dbbb0101e8213b92b9a4c78c0fd2f9d0240a8ea3b40dff1033d1b8d71fb04ef
|
||||
R f8f2ef19afa4c11d5a1036e92efd9ad2
|
||||
T +closed 9e849f25029b05b44220acd881356bcade9ba76f9d1308556850cd4d6b6a94d7
|
||||
U dan
|
||||
Z bb2c7686d9426e0e670050982240668c
|
||||
Z 8ade123def7ea1f2c0a2e92932d92c90
|
||||
|
@ -1 +1 @@
|
||||
1dbbb0101e8213b92b9a4c78c0fd2f9d0240a8ea3b40dff1033d1b8d71fb04ef
|
||||
07e527d781838412b2a434e64baaa49cbf7410a51c7393f54adc7b8eaffd5229
|
@ -37,9 +37,6 @@ proc wapptest_init {} {
|
||||
# The root of the SQLite source tree.
|
||||
set G(srcdir) [file dirname [file dirname [info script]]]
|
||||
|
||||
# releasetest.tcl script
|
||||
set G(releaseTest) [file join [file dirname [info script]] releasetest.tcl]
|
||||
|
||||
set G(sqlite_version) "unknown"
|
||||
|
||||
# Either "config", "running" or "stopped":
|
||||
@ -52,28 +49,20 @@ proc wapptest_init {} {
|
||||
append G(host) " $::tcl_platform(machine) $::tcl_platform(byteOrder)"
|
||||
}
|
||||
|
||||
# Check to see if there are uncommitted changes in the SQLite source
|
||||
# directory. Return true if there are, or false otherwise.
|
||||
# Generate the text for the box at the top of the UI. The current SQLite
|
||||
# version, according to fossil, along with a warning if there are
|
||||
# uncommitted changes in the checkout.
|
||||
#
|
||||
proc check_uncommitted {} {
|
||||
global G
|
||||
set ret 0
|
||||
set pwd [pwd]
|
||||
cd $G(srcdir)
|
||||
if {[catch {exec fossil changes} res]==0 && [string trim $res]!=""} {
|
||||
set ret 1
|
||||
}
|
||||
cd $pwd
|
||||
return $ret
|
||||
}
|
||||
|
||||
proc generate_fossil_info {} {
|
||||
global G
|
||||
set pwd [pwd]
|
||||
cd $G(srcdir)
|
||||
if {[catch {exec fossil info} r1]} return
|
||||
if {[catch {exec fossil changes} r2]} return
|
||||
set rc [catch {
|
||||
set r1 [exec fossil info]
|
||||
set r2 [exec fossil changes]
|
||||
}]
|
||||
cd $pwd
|
||||
if {$rc} return
|
||||
|
||||
foreach line [split $r1 "\n"] {
|
||||
if {[regexp {^checkout: *(.*)$} $line -> co]} {
|
||||
@ -239,6 +228,88 @@ proc slave_fileevent {name} {
|
||||
do_some_stuff
|
||||
}
|
||||
|
||||
proc wapptest_slave_script {} {
|
||||
global G
|
||||
set res {
|
||||
proc readfile {filename} {
|
||||
set fd [open $filename]
|
||||
set data [read $fd]
|
||||
close $fd
|
||||
return $data
|
||||
}
|
||||
}
|
||||
|
||||
if {$G(msvc)==0} {
|
||||
append res {
|
||||
set cfg [readfile wapptest_configure.sh]
|
||||
set rc [catch { exec {*}$cfg >& test.log } msg]
|
||||
if {$rc==0} {
|
||||
set make [readfile wapptest_make.sh]
|
||||
catch { exec {*}$make >>& test.log }
|
||||
}
|
||||
}
|
||||
} else {
|
||||
append res {
|
||||
set make [readfile wapptest_make.sh]
|
||||
catch { exec {*}$make >>& test.log }
|
||||
}
|
||||
}
|
||||
|
||||
set res
|
||||
}
|
||||
|
||||
|
||||
# Launch a slave process to run a test.
|
||||
#
|
||||
proc slave_launch {
|
||||
name wtcl title dir configOpts testtarget makeOpts cflags opts
|
||||
} {
|
||||
global G
|
||||
|
||||
catch { file mkdir $dir } msg
|
||||
foreach f [glob -nocomplain [file join $dir *]] {
|
||||
catch { file delete -force $f }
|
||||
}
|
||||
|
||||
# Write the configure command to wapptest_configure.sh. This file
|
||||
# is empty if using MSVC - MSVC does not use configure.
|
||||
#
|
||||
set fd1 [open [file join $dir wapptest_configure.sh] w]
|
||||
if {$G(msvc)==0} {
|
||||
puts $fd1 "[file join .. $G(srcdir) configure] $wtcl $configOpts"
|
||||
}
|
||||
close $fd1
|
||||
|
||||
# Write the make command to wapptest_make.sh. Using nmake for MSVC and
|
||||
# make for all other systems.
|
||||
#
|
||||
set makecmd "make"
|
||||
if {$G(msvc)} {
|
||||
set nativedir [file nativename $G(srcdir)]
|
||||
set nativedir [string map [list "\\" "\\\\"] $nativedir]
|
||||
set makecmd "nmake /f [file join $nativedir Makefile.msc] TOP=$nativedir"
|
||||
}
|
||||
set fd2 [open [file join $dir wapptest_make.sh] w]
|
||||
puts $fd2 "$makecmd $makeOpts $testtarget \"CFLAGS=$cflags\" \"OPTS=$opts\""
|
||||
close $fd2
|
||||
|
||||
# Write the wapptest_run.tcl script to the test directory. To run the
|
||||
# commands in the other two files.
|
||||
#
|
||||
set fd3 [open [file join $dir wapptest_run.tcl] w]
|
||||
puts $fd3 [wapptest_slave_script]
|
||||
close $fd3
|
||||
|
||||
set pwd [pwd]
|
||||
cd $dir
|
||||
set fd [open "|[info nameofexecutable] wapptest_run.tcl" r+]
|
||||
cd $pwd
|
||||
|
||||
set G(test.$name.channel) $fd
|
||||
fconfigure $fd -blocking 0
|
||||
fileevent $fd readable [list slave_fileevent $name]
|
||||
}
|
||||
|
||||
proc do_some_stuff {} {
|
||||
global G
|
||||
|
||||
@ -275,15 +346,9 @@ proc do_some_stuff {} {
|
||||
if { ![info exists G(test.$name.channel)]
|
||||
&& ![info exists G(test.$name.done)]
|
||||
} {
|
||||
|
||||
set target [dict get $j target]
|
||||
set G(test.$name.start) [clock seconds]
|
||||
set fd [open "|[info nameofexecutable] $G(releaseTest) --slave" r+]
|
||||
set G(test.$name.channel) $fd
|
||||
fconfigure $fd -blocking 0
|
||||
fileevent $fd readable [list slave_fileevent $name]
|
||||
|
||||
puts $fd [list 0 $G(msvc) 0 $G(keep)]
|
||||
|
||||
set wtcl ""
|
||||
if {$G(tcl)!=""} { set wtcl "--with-tcl=$G(tcl)" }
|
||||
|
||||
@ -303,8 +368,9 @@ proc do_some_stuff {} {
|
||||
}
|
||||
|
||||
set L [make_test_suite $G(msvc) $wtcl $name $target $opts]
|
||||
puts $fd $L
|
||||
flush $fd
|
||||
set G(test.$name.log) [file join [lindex $L 1] test.log]
|
||||
slave_launch $name $wtcl {*}$L
|
||||
|
||||
set G(test.$name.log) [file join [lindex $L 1] test.log]
|
||||
incr nLaunch -1
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user