From: dan Date: Mon, 28 Aug 2023 20:14:19 +0000 (+0000) Subject: Updates to testrunner.tcl so that it runs fuzztest using multiple jobs. X-Git-Tag: version-3.44.0~249 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=35c7f538e9ca6c38340d284e877106ea45597573;p=thirdparty%2Fsqlite.git Updates to testrunner.tcl so that it runs fuzztest using multiple jobs. FossilOrigin-Name: ceeabe9f8b31a30c65147fd270b92d43c7842247548cee9de165113991f6c2cf --- 35c7f538e9ca6c38340d284e877106ea45597573 diff --cc manifest index d123e5846f,47a70ff455..7c36b33c28 --- a/manifest +++ b/manifest @@@ -1,5 -1,5 +1,5 @@@ - C Remove\sa\spair\sof\swhat\sare\sarguably\sunnecessary\smutex\slocks\s(and\soften\shit).\sMore\sJNI-internal\scleanups. - D 2023-08-28T16:22:31.875 -C Fix\sthe\s"sdevtest"\stestrunner.tcl\scommand\sso\sthat\sit\scorrectly\senables\sasan\son\swindows. -D 2023-08-28T20:02:59.639 ++C Updates\sto\stestrunner.tcl\sso\sthat\sit\sruns\sfuzztest\susing\smultiple\sjobs. ++D 2023-08-28T20:14:19.097 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@@ -1617,8 -1615,8 +1618,8 @@@ F test/temptable2.test 76821347810ecc88 F test/temptable3.test d11a0974e52b347e45ee54ef1923c91ed91e4637 F test/temptrigger.test 38f0ca479b1822d3117069e014daabcaacefffcc F test/tester.tcl 68454ef88508c196d19e8694daa27bff7107a91857799eaa12f417188ae53ede - F test/testrunner.tcl ccdfda84732cf8665bd8d3bfee79b80841e221459e5d00a632a3a5c758966e1f - F test/testrunner_data.tcl c448693eb6fdbadb78cb26f6253d4f335666f9836f988afa575de960b666b19f + F test/testrunner.tcl c88eae7d8ba9825d09f080ee2aa98b8e65c381bb56b4d427fb492625d2d4c36b -F test/testrunner_data.tcl 7d698b094b66b2a9849c6a592fe7083fd76b382257d49985b3487f2f5bf412ad ++F test/testrunner_data.tcl 05f2eafd9bcf0aafcc2b747b751f81c5b958e7dc286d108ad81d40b984ff60b3 F test/thread001.test a0985c117eab62c0c65526e9fa5d1360dd1cac5b03bde223902763274ce21899 F test/thread002.test c24c83408e35ba5a952a3638b7ac03ccdf1ce4409289c54a050ac4c5f1de7502 F test/thread003.test ee4c9efc3b86a6a2767516a37bd64251272560a7 @@@ -2106,8 -2104,8 +2107,9 @@@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a9 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 - P 349aac7e8d513bc420e8948b84cf715e454443439fdcd5aff0f2b13815a9cbb3 - R 3d489af3468d8a7b527ca6166e876cc6 - U stephan - Z a77195f4742188b139cedf649b9d3b8f -P 26ae090889640bfcf02a6dd5aa58044edd4d0708a11d8e005149f1a3c8495bba -R 72ed41043ab228a8430556867561403b ++P ecf07a0144dc6402b1e0924b1775d99dc465b27aa86a2718cac60a9b4c974312 6463192369ff22eb15d4e34590ef55cd8a6f2501227835664816277806bf961b ++R 31bc738c1437151db584e22f2c509958 ++T +closed 6463192369ff22eb15d4e34590ef55cd8a6f2501227835664816277806bf961b + U dan -Z 47e21353f9923e8c0acadea18c12278f ++Z 97aabfccc20038ea125aae98b8297d02 # Remove this line to create a well-formed Fossil manifest. diff --cc manifest.uuid index b73fe40d28,78bd4bf0d6..d7d1100a9c --- a/manifest.uuid +++ b/manifest.uuid @@@ -1,1 -1,1 +1,1 @@@ - ecf07a0144dc6402b1e0924b1775d99dc465b27aa86a2718cac60a9b4c974312 -6463192369ff22eb15d4e34590ef55cd8a6f2501227835664816277806bf961b ++ceeabe9f8b31a30c65147fd270b92d43c7842247548cee9de165113991f6c2cf diff --cc test/testrunner_data.tcl index ce2ce01dd6,381bb3b461..32dbe45572 --- a/test/testrunner_data.tcl +++ b/test/testrunner_data.tcl @@@ -370,15 -370,45 +370,45 @@@ proc trd_configs {platform bld} proc trd_extras {platform bld} { trd_import + if {[info exists extra($platform.$bld)]==0} { return [list] } + return $extra($platform.$bld) + } + + # Usage: + # + # trd_fuzztest_data + # + # This returns data used by testrunner.tcl to run commands equivalent + # to [make fuzztest]. The returned value is a list, which should be + # interpreted as a sequence of pairs. The first element of each pair + # is an interpreter name. The second element is a list of files. + # testrunner.tcl automatically creates one job to build each interpreter, + # and one to run each of the files with it once it has been built. + # + # In practice, the returned value looks like this: + # + # { + # {fuzzcheck {$testdir/fuzzdata1.db $testdir/fuzzdata2.db ...}} + # {{sessionfuzz run} $testdir/sessionfuzz-data1.db} + # } + # + # where $testdir is replaced by the full-path to the test-directory (the + # directory containing this file). "fuzzcheck" and "sessionfuzz" have .exe + # extensions on windows. + # + proc trd_fuzztest_data {} { + set EXE "" + set lFuzzDb [glob [file join $::testdir fuzzdata*.db]] + set lSessionDb [glob [file join $::testdir sessionfuzz-data*.db]] - set elist [list] - if {[info exists extra($platform.$bld)]} { - set elist $extra($platform.$bld) + if {$::tcl_platform(platform)=="windows"} { + return [list fuzzcheck.exe $lFuzzDb] } - set elist - return [list fuzzcheck $lFuzzDb sessionfuzz $lSessionDb] ++ return [list fuzzcheck $lFuzzDb {sessionfuzz run} $lSessionDb] } + proc trd_all_configs {} { trd_import set all_configs