Break the tcl release tests into smaller units to better take advantage of multi-processor systems.
FossilOrigin-Name: 03cef1c30d96cd42682f57667bb3072c7643ef43fe05eda2d8b82c30789234af
This commit is contained in:
parent
a4eeccdfdf
commit
867bc4de2e
@ -1251,7 +1251,10 @@ coretestprogs: $(TESTPROGS)
|
||||
testprogs: coretestprogs srcck1$(BEXE) fuzzcheck$(TEXE) sessionfuzz$(TEXE)
|
||||
|
||||
# A very detailed test running most or all test cases
|
||||
fulltest: $(TESTPROGS) fuzztest
|
||||
fulltest: alltest fuzztest
|
||||
|
||||
# Run most or all tcl test cases
|
||||
alltest: $(TESTPROGS)
|
||||
./testfixture$(TEXE) $(TOP)/test/all.test $(TESTOPTS)
|
||||
|
||||
# Really really long testing
|
||||
|
@ -2437,7 +2437,9 @@ coretestprogs: $(TESTPROGS)
|
||||
|
||||
testprogs: coretestprogs srcck1.exe fuzzcheck.exe sessionfuzz.exe
|
||||
|
||||
fulltest: $(TESTPROGS) fuzztest
|
||||
fulltest: alltest fuzztest
|
||||
|
||||
alltest: $(TESTPROGS)
|
||||
@set PATH=$(LIBTCLPATH);$(PATH)
|
||||
.\testfixture.exe $(TOP)\test\all.test $(TESTOPTS)
|
||||
|
||||
|
21
manifest
21
manifest
@ -1,11 +1,11 @@
|
||||
C Protect\sall\saccesses\sto\sthe\sExpr.x\sunion\susing\snearby\sassert()s\sand\sbranches.
|
||||
D 2021-10-07T17:43:30.167
|
||||
C Break\sthe\stcl\srelease\stests\sinto\ssmaller\sunits\sto\sbetter\stake\sadvantage\sof\smulti-processor\ssystems.
|
||||
D 2021-10-07T19:27:17.394
|
||||
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
|
||||
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
|
||||
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
|
||||
F Makefile.in 2a6e71e91f29e9eb0cb800b6500bbbfef31730d5c37eaadb6e8ea8a45e6ead21
|
||||
F Makefile.in 457a0f10540bd18a700c9d45add8dcc06e040bc9d1e948c9816b9b6eab1de384
|
||||
F Makefile.linux-gcc f609543700659711fbd230eced1f01353117621dccae7b9fb70daa64236c5241
|
||||
F Makefile.msc b18738be47ba9293dbea2048fe1d5a737456fdc630361cc98ef2c2f73bf3395c
|
||||
F Makefile.msc fef1e54f1a2138aa2de79ad8a928f1711106d082e6a35cdfbbfec9e8fd0c59c3
|
||||
F README.md 27fb76aa7eb57ed63a53bbba7292b6bf71f51125554f79f16b5d040edd1e6110
|
||||
F VERSION c6595fef606851f2bc3ebed6a7386c73751835fc909feab7c093739fa4b3c1d1
|
||||
F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50
|
||||
@ -1273,7 +1273,7 @@ F test/parser1.test 6ccdf5e459a5dc4673d3273dc311a7e9742ca952dd0551a6a6320d27035c
|
||||
F test/pcache.test c8acbedd3b6fd0f9a7ca887a83b11d24a007972b
|
||||
F test/pcache2.test af7f3deb1a819f77a6d0d81534e97d1cf62cd442
|
||||
F test/percentile.test 4243af26b8f3f4555abe166f723715a1f74c77ff
|
||||
F test/permutations.test dfdb3356ceb66e515193b12e3fd46706d28274142dc46fd37da63fda9cd4a68a
|
||||
F test/permutations.test 536ab91e3d8fda6086ae6a3a0087d0750c95a412a9f3fb661e5a58de6d1b1224
|
||||
F test/pg_common.tcl 3b27542224db1e713ae387459b5d117c836a5f6e328846922993b6d2b7640d9f
|
||||
F test/pragma.test cae534c12a033a5c319ccc94f50b32811acdef9f67bf19a82ff42697caccd69f
|
||||
F test/pragma2.test e5d5c176360c321344249354c0c16aec46214c9f
|
||||
@ -1301,8 +1301,7 @@ F test/recover.test ccb8c2623902a92ebb76770edd075cb4f75a4760bb7afde38026572c6e79
|
||||
F test/regexp1.test 0c3ff80f66b0eff80e623eb5db7a3dad512095c573d78ac23009785f6d8f51ce
|
||||
F test/regexp2.test 55ed41da802b0e284ac7e2fe944be3948f93ff25abbca0361a609acfed1368b5
|
||||
F test/reindex.test cd9d6021729910ece82267b4f5e1b5ac2911a7566c43b43c176a6a4732e2118d
|
||||
F test/releasetest.tcl 6f803ef0b896f8f3f4c26eb072c0399963a5987a509a64d45f5dfbc1ebae2951 x
|
||||
F test/releasetest_data.tcl 1673991f780277748a0c7524969ae9d6f7cfb21d8c790f6081ee5c0d96ea0f28
|
||||
F test/releasetest_data.tcl 0f844b4884df67619768400eb8e4dd55708397d1728b52a2d41a8b76fb62ca7e
|
||||
F test/resetdb.test 8062cf10a09d8c048f8de7711e94571c38b38168db0e5877ba7561789e5eeb2b
|
||||
F test/resolver01.test f4022acafda7f4d40eca94dbf16bc5fc4ac30ceb
|
||||
F test/returning1.test f96c7245f6ac16038e802760cd90b93479369939a8a7a44e2329ee5aed28239c
|
||||
@ -1929,7 +1928,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 f85cb287c52baa729aeb223038e979a3b74a1eb3d97bf59c01f5417998204f84
|
||||
R d1a38de85ec9395d66459f512bc9b39f
|
||||
U drh
|
||||
Z a07d4736a8e9c697e3914dd4948a3735
|
||||
P 8eaa1d4a98b24adf245bbd2fe9212aa6a924a0f09c445906d7f87574f36a7423
|
||||
R 5eb83fb05c47023834fe1cae6d00b957
|
||||
U dan
|
||||
Z 9054f47cc6bebbf9ed5d65ed018c55d7
|
||||
|
@ -1 +1 @@
|
||||
8eaa1d4a98b24adf245bbd2fe9212aa6a924a0f09c445906d7f87574f36a7423
|
||||
03cef1c30d96cd42682f57667bb3072c7643ef43fe05eda2d8b82c30789234af
|
@ -1138,7 +1138,14 @@ proc run_tests {name args} {
|
||||
set ::G(perm:dbconfig) $options(-dbconfig)
|
||||
set ::G(perm:presql) $options(-presql)
|
||||
|
||||
foreach file [lsort $options(-files)] {
|
||||
set filelist [lsort $options(-files)]
|
||||
if {[info exists ::env(TCLTEST_PART)]} {
|
||||
regexp {^([0-9]*)/([0-9]*)$} $::env(TCLTEST_PART) -> A B
|
||||
set nFile [expr {([llength $filelist]+$B-1)/$B}]
|
||||
set filelist [lrange $filelist [expr ($A-1)*$nFile] [expr $A*$nFile-1]]
|
||||
}
|
||||
|
||||
foreach file $filelist {
|
||||
if {[file tail $file] == $file} { set file [file join $::testdir $file] }
|
||||
|
||||
if {[info exists ::env(SQLITE_TEST_PATTERN_LIST)]} {
|
||||
|
1100
test/releasetest.tcl
1100
test/releasetest.tcl
File diff suppressed because it is too large
Load Diff
@ -22,14 +22,6 @@
|
||||
# "fulltest"). The program may be invoked as follows:
|
||||
#
|
||||
set USAGE {
|
||||
$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
|
||||
@ -37,6 +29,14 @@ $argv0 script ?-msvc? CONFIGURATION TARGET
|
||||
|
||||
$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.
|
||||
}
|
||||
|
||||
# Omit comments (text between # and \n) in a long multi-line string.
|
||||
@ -289,56 +289,56 @@ if {$tcl_platform(os)=="Darwin"} {
|
||||
|
||||
array set ::Platforms [strip_comments {
|
||||
Linux-x86_64 {
|
||||
"Check-Symbols*" checksymbols
|
||||
"Fast-One" "QUICKTEST_INCLUDE=rbu.test fuzztest test"
|
||||
"Debug-One" "mptest test"
|
||||
"Debug-Two" "test"
|
||||
"Have-Not" test
|
||||
"Secure-Delete" test
|
||||
"Unlock-Notify" "QUICKTEST_INCLUDE=notify2.test test"
|
||||
"User-Auth" tcltest
|
||||
"Update-Delete-Limit" test
|
||||
"Extra-Robustness" test
|
||||
"Device-Two" "threadtest test"
|
||||
"No-lookaside" test
|
||||
"Devkit" test
|
||||
"Apple" test
|
||||
"Sanitize" test
|
||||
"Device-One" fulltest
|
||||
"Default" "threadtest fulltest"
|
||||
"Valgrind*" valgrindtest
|
||||
"Check-Symbols*" "" checksymbols
|
||||
"Fast-One" QUICKTEST_INCLUDE=rbu.test "fuzztest test"
|
||||
"Debug-One" "" "mptest test"
|
||||
"Debug-Two" "" test
|
||||
"Have-Not" "" test
|
||||
"Secure-Delete" "" test
|
||||
"Unlock-Notify" QUICKTEST_INCLUDE=notify2.test test
|
||||
"User-Auth" "" tcltest
|
||||
"Update-Delete-Limit" "" test
|
||||
"Extra-Robustness" "" test
|
||||
"Device-Two" "" "threadtest test"
|
||||
"No-lookaside" "" test
|
||||
"Devkit" "" test
|
||||
"Apple" "" test
|
||||
"Sanitize*" "" test
|
||||
"Device-One" "" "fuzztest alltest"
|
||||
"Default" "" "threadtest fuzztest alltest"
|
||||
"Valgrind*" "" valgrindtest
|
||||
}
|
||||
Linux-i686 {
|
||||
"Devkit" test
|
||||
"Have-Not" test
|
||||
"Unlock-Notify" "QUICKTEST_INCLUDE=notify2.test test"
|
||||
"Device-One" test
|
||||
"Device-Two" test
|
||||
"Default" "threadtest fulltest"
|
||||
"Devkit" "" test
|
||||
"Have-Not" "" test
|
||||
"Unlock-Notify" QUICKTEST_INCLUDE=notify2.test test
|
||||
"Device-One" "" test
|
||||
"Device-Two" "" test
|
||||
"Default" "" "threadtest fuzztest alltest"
|
||||
}
|
||||
Darwin-i386 {
|
||||
"Locking-Style" "mptest test"
|
||||
"Have-Not" test
|
||||
"Apple" "threadtest fulltest"
|
||||
"Locking-Style" "" "mptest test"
|
||||
"Have-Not" "" test
|
||||
"Apple" "" "threadtest fuzztest alltest"
|
||||
}
|
||||
Darwin-x86_64 {
|
||||
"Locking-Style" "mptest test"
|
||||
"Have-Not" test
|
||||
"Apple" "threadtest fulltest"
|
||||
"Locking-Style" "" "mptest test"
|
||||
"Have-Not" "" test
|
||||
"Apple" "" "threadtest fuzztest alltest"
|
||||
}
|
||||
"Windows NT-intel" {
|
||||
"Stdcall" test
|
||||
"Have-Not" test
|
||||
"Windows-Memdebug*" test
|
||||
"Windows-Win32Heap*" test
|
||||
"Default" "mptest fulltestonly"
|
||||
"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"
|
||||
"Stdcall" "" test
|
||||
"Have-Not" "" test
|
||||
"Windows-Memdebug*" "" test
|
||||
"Windows-Win32Heap*" "" test
|
||||
"Default" "" "mptest fulltestonly"
|
||||
}
|
||||
|
||||
# The Failure-Detection platform runs various tests that deliberately
|
||||
@ -346,13 +346,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
|
||||
}
|
||||
}]
|
||||
|
||||
@ -368,7 +368,7 @@ array set ::Platforms [strip_comments {
|
||||
# specified for each platforms exists.
|
||||
#
|
||||
foreach {key value} [array get ::Platforms] {
|
||||
foreach {v t} $value {
|
||||
foreach {v vars t} $value {
|
||||
if {[string range $v end end]=="*"} {
|
||||
set v [string range $v 0 end-1]
|
||||
}
|
||||
@ -439,6 +439,7 @@ proc main_script {args} {
|
||||
lappend opts -DSQLITE_EXTRA_IFNULLROW
|
||||
set config [string range $config 0 end-6]
|
||||
}
|
||||
regexp {^(.*)-[0-9]+} $config -> config
|
||||
|
||||
# Ensure that the named configuration exists.
|
||||
#
|
||||
@ -474,6 +475,7 @@ proc main_script {args} {
|
||||
if {$bRemoveDebug} {
|
||||
if {$param=="-DSQLITE_DEBUG" || $param=="-DSQLITE_DEBUG=1"
|
||||
|| $param=="-DSQLITE_MEMDEBUG" || $param=="-DSQLITE_MEMDEBUG=1"
|
||||
|| $param=="--enable-debug"
|
||||
} {
|
||||
continue
|
||||
}
|
||||
@ -586,32 +588,57 @@ proc main_tests {args} {
|
||||
exit 1
|
||||
}
|
||||
|
||||
foreach {config target} $::Platforms($p) {
|
||||
set bNosynthetic 0
|
||||
set lTest [list]
|
||||
|
||||
foreach {config vars target} $::Platforms($p) {
|
||||
if {[string range $config end end]=="*"} {
|
||||
set bNosynthetic 1
|
||||
set config [string range $config 0 end-1]
|
||||
}
|
||||
puts "$config \"$target\""
|
||||
if {$bNodebug==0 && $bNosynthetic==0} {
|
||||
set iHas [string first SQLITE_DEBUG $::Configs($config)]
|
||||
set dtarget [list]
|
||||
set iQTI [lsearch -glob $target QUICKTEST_*]
|
||||
if {$iQTI>=0} {
|
||||
lappend dtarget [lindex $target $iQTI]
|
||||
}
|
||||
} elseif {$bNodebug==0} {
|
||||
set dtarget test
|
||||
if {[lsearch $target tcltest]>=0} {
|
||||
lappend dtarget tcltest
|
||||
} else {
|
||||
lappend dtarget test
|
||||
set dtarget tcltest
|
||||
}
|
||||
if {$iHas>=0} {
|
||||
puts "$config-ndebug \"$dtarget\""
|
||||
if {$vars!=""} { set dtarget "$vars $dtarget" }
|
||||
|
||||
if {[string first SQLITE_DEBUG $::Configs($config)]>=0
|
||||
|| [string first --enable-debug $::Configs($config)]>=0
|
||||
} {
|
||||
lappend lTest "$config-ndebug \"$dtarget\""
|
||||
} else {
|
||||
puts "$config-debug \"$dtarget\""
|
||||
lappend lTest "$config-debug \"$dtarget\""
|
||||
}
|
||||
}
|
||||
|
||||
if {[llength $target]==1
|
||||
&& [lsearch $target "valgrindtest"]<0
|
||||
&& [lsearch $target "alltest"]<0
|
||||
&& [lsearch $target "fulltestonly"]<0
|
||||
&& ![string match Sanitize* $config]
|
||||
} {
|
||||
if {$vars!=""} { set target "$vars $target" }
|
||||
lappend lTest "$config \"$target\""
|
||||
} else {
|
||||
set idir -1
|
||||
foreach t $target {
|
||||
if {$t=="valgrindtest" || $t=="alltest" || $t=="fulltestonly"
|
||||
|| [string match Sanitize* $config]
|
||||
} {
|
||||
if {$vars!=""} { set t "$vars $t" }
|
||||
for {set ii 1} {$ii<=4} {incr ii} {
|
||||
lappend lTest "$config-[incr idir] \"TCLTEST_PART=$ii/4 $t\""
|
||||
}
|
||||
} else {
|
||||
if {$vars!=""} { set t "$vars $t" }
|
||||
lappend lTest "$config-[incr idir] \"$t\""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach l $lTest {
|
||||
puts $l
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if {[llength $argv]==0} { usage }
|
||||
|
Loading…
Reference in New Issue
Block a user