Update testrunner.tcl to use environment variable %NUMBER_OF_PROCESSES% when running under tclsh on windows. Also modify the internal database schema used by testrunner.tcl to be compatible with old versions of SQLite.

FossilOrigin-Name: 6542ed3b9e028c44aca504eadca843ee9b2ba08f5f650523238dd1253f7e221b
This commit is contained in:
dan 2023-08-16 14:18:53 +00:00
parent fe18355267
commit af8980bdce
3 changed files with 35 additions and 22 deletions

View File

@ -1,5 +1,5 @@
C Fix\stest\sscript\sproblem\spreventing\sveryquick.test\sfrom\srunning.
D 2023-08-16T13:55:38.215
C Update\stestrunner.tcl\sto\suse\senvironment\svariable\s%NUMBER_OF_PROCESSES%\swhen\srunning\sunder\stclsh\son\swindows.\sAlso\smodify\sthe\sinternal\sdatabase\sschema\sused\sby\stestrunner.tcl\sto\sbe\scompatible\swith\sold\sversions\sof\sSQLite.
D 2023-08-16T14:18:53.625
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@ -1602,7 +1602,7 @@ F test/temptable2.test 76821347810ecc88203e6ef0dd6897b6036ac788e9dd3e6b04fd4d163
F test/temptable3.test d11a0974e52b347e45ee54ef1923c91ed91e4637
F test/temptrigger.test 38f0ca479b1822d3117069e014daabcaacefffcc
F test/tester.tcl 68454ef88508c196d19e8694daa27bff7107a91857799eaa12f417188ae53ede
F test/testrunner.tcl d18b0480901b0d8db4016128935a52aba8618fb36ae99a6736461921d4a52eac
F test/testrunner.tcl 56a744d4e6e516b2091c2ca6b7b27b9600e9ded136a2c860c350515511ebe20a
F test/testrunner_data.tcl 0f167aa9e9a640f2f19e5d99bc99016c236526a6a8eb36432e445df1983a8548
F test/thread001.test a0985c117eab62c0c65526e9fa5d1360dd1cac5b03bde223902763274ce21899
F test/thread002.test c24c83408e35ba5a952a3638b7ac03ccdf1ce4409289c54a050ac4c5f1de7502
@ -2091,8 +2091,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 e12d70f38c0ed5c0abf9a1e30ce4db59a4426e1e8cb1f8f07834fc1bedfcc65a
R aad1c865033f092e6c13ef7485e12ba1
P e73886574042108eb31641d0820c273c10b83fbf08ac6cb52d3e4c27830e2c23
R 02f8906445af4d496aeb7df86dbf9411
U dan
Z 3ef211021d49ef1d76dc9c52896d0217
Z 5346440cb243f66c6add836cfbeafff3
# Remove this line to create a well-formed Fossil manifest.

View File

@ -1 +1 @@
e73886574042108eb31641d0820c273c10b83fbf08ac6cb52d3e4c27830e2c23
6542ed3b9e028c44aca504eadca843ee9b2ba08f5f650523238dd1253f7e221b

View File

@ -110,16 +110,20 @@ proc guess_number_of_cores {} {
if {[catch {number_of_cores} ret]} {
set ret 4
if {$::tcl_platform(os)=="Darwin"} {
set cmd "sysctl -n hw.logicalcpu"
if {$::tcl_platform(platform)=="windows"} {
catch { set ret $::env(NUMBER_OF_PROCESSORS) }
} else {
set cmd "nproc"
}
catch {
set fd [open "|$cmd" r]
set ret [gets $fd]
close $fd
set ret [expr $ret]
if {$::tcl_platform(os)=="Darwin"} {
set cmd "sysctl -n hw.logicalcpu"
} else {
set cmd "nproc"
}
catch {
set fd [open "|$cmd" r]
set ret [gets $fd]
close $fd
set ret [expr $ret]
}
}
}
return $ret
@ -188,10 +192,8 @@ set TRG(schema) {
state TEXT CHECK( state IN ('', 'ready', 'running', 'done', 'failed') ),
time INTEGER, -- Time in ms
output TEXT, -- full output of test script
priority AS (((config='make')*3) + (config='build') + (slow*2)),
jobtype AS (
CASE WHEN config IN ('build', 'make') THEN config ELSE 'script' END
),
priority INTEGER,
jobtype TEXT CHECK( jobtype IN ('script', 'build', 'make') ),
PRIMARY KEY(build, config, filename)
);
@ -697,9 +699,20 @@ proc make_new_testset {} {
set state ""
}
set priority [expr {$slow*2}]
if {$c=="make"} { incr priority 3 }
if {$c=="build"} { incr priority 1 }
if {$c=="make" || $c=="build"} {
set jobtype $c
} else {
set jobtype "script"
}
trdb eval {
INSERT INTO script(build, config, filename, slow, state)
VALUES ($b, $c, $s, $slow, $state)
INSERT INTO script
(build, config, filename, slow, state, priority, jobtype)
VALUES ($b, $c, $s, $slow, $state, $priority, $jobtype)
}
}
}