-C Have\sthe\smdevtest\starget\ssupport\sthe\sOPTS\svariable\son\sunix.
-D 2023-08-12T18:23:38.196
+C Fix\stestrunner.tcl\sso\sthat\sit\srestarts\sitself\susing\s[testfixture]\sif\sits\scurrent\sinterpreter\sdoes\snot\ssupport\s[package\srequire\ssqlite3].
+D 2023-08-12T19:25:26.853
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
F test/temptable3.test d11a0974e52b347e45ee54ef1923c91ed91e4637
F test/temptrigger.test 38f0ca479b1822d3117069e014daabcaacefffcc
F test/tester.tcl 68454ef88508c196d19e8694daa27bff7107a91857799eaa12f417188ae53ede
-F test/testrunner.tcl 3d34b921c035e36a65aa83ff86c90e025e5f49a7b60a1c659295ce203ec43d37
+F test/testrunner.tcl 0cf11ad8611e483f47e73d4893df855790c98fa610bc932316d194ea9fc4bb8a
F test/testrunner_data.tcl 8169c68654ac8906833b8a6aadca973358a441ebf88270dd05c153e5f96f76b8
F test/thread001.test a0985c117eab62c0c65526e9fa5d1360dd1cac5b03bde223902763274ce21899
F test/thread002.test c24c83408e35ba5a952a3638b7ac03ccdf1ce4409289c54a050ac4c5f1de7502
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P af354fbc0be06d5792a1e712ec4e9cec4c6cb4521335aa31f8f51ca5c94499ae
-R 99fdc031851985867d9a29bdef499f9f
+P 940f58d9b944d3344b40a4bc020842d9b6703685c9c51f4010e265afd98608ff
+R 8eaf8f3ae70d104a58df886c85da18b1
U dan
-Z 5f290b1952fc6dd878813fd1db55896a
+Z 4074f3c8050d02c7dea851ab48461f73
# Remove this line to create a well-formed Fossil manifest.
set argv $saved
cd $dir
+# This script requires an interpreter that supports [package require sqlite3]
+# to run. If this is not such an intepreter, see if there is a [testfixture]
+# in the current directory. If so, run the command using it. If not,
+# recommend that the user build one.
+#
+proc find_interpreter {} {
+ set interpreter [file tail [info nameofexec]]
+ set rc [catch { package require sqlite3 }]
+ if {$rc} {
+ if { [string match -nocase testfixture* $interpreter]==0
+ && [file executable ./testfixture]
+ } {
+ puts "Failed to find tcl package sqlite3. Restarting with ./testfixture.."
+ set status [catch {
+ exec ./testfixture [info script] {*}$::argv >@ stdout
+ } msg]
+ exit $status
+ }
+ }
+ if {$rc} {
+ puts stderr "Failed to find tcl package sqlite3"
+ puts stderr "Run \"make testfixture\" and then try again..."
+ exit 1
+ }
+}
+find_interpreter
+
# Usually this script is run by [testfixture]. But it can also be run
-# by a regular [tclsh]. For these cases, load the sqlite3 package and
-# implement a [clock_milliseconds] command.
-package require sqlite3
+# by a regular [tclsh]. For these cases, emulate the [clock_milliseconds]
+# command.
if {[info commands clock_milliseconds]==""} {
proc clock_milliseconds {} {
clock milliseconds