]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Update mdevtest and sdevtest to do shell builds in parallel. And only if one or more...
authordan <Dan Kennedy>
Mon, 11 Mar 2024 19:33:55 +0000 (19:33 +0000)
committerdan <Dan Kennedy>
Mon, 11 Mar 2024 19:33:55 +0000 (19:33 +0000)
FossilOrigin-Name: 6eae4547d4d50c798d1f05eaa1da02f4682d261dbd64e94748179923839024e6

15 files changed:
ext/expert/expert1.test
manifest
manifest.uuid
test/avfs.test
test/recover.test
test/shell1.test
test/shell2.test
test/shell3.test
test/shell4.test
test/shell5.test
test/shell6.test
test/shell7.test
test/shell8.test
test/shell9.test
test/testrunner.tcl

index 453334234dcbbb17ad5a34ac9872c73aad230c13..c456c30c524784b8c259c18796a704da1c3be2f6 100644 (file)
@@ -8,6 +8,7 @@
 #    May you share freely, never taking more than you give.
 #
 #***********************************************************************
+# TESTRUNNER: shell
 #
 # The focus of this file is testing the CLI shell tool. Specifically,
 # the ".recommend" command.
index d8e6bebb995a5ad49dff51778e2965e91e81b380..ccb451459a29aa5a649ba0476863b2554ef08d8d 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Run\sshell*.test\smodules\swith\s"make\smdevtest".
-D 2024-03-11T18:21:02.927
+C Update\smdevtest\sand\ssdevtest\sto\sdo\sshell\sbuilds\sin\sparallel.\sAnd\sonly\sif\sone\sor\smore\sof\sthe\stcl\sscripts\srun\srequires\sit.
+D 2024-03-11T19:33:55.704
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -57,7 +57,7 @@ F ext/consio/console_io.c f32b757c9ee7fdf68e7586bee306f8368759e7cd12febb2a683919
 F ext/consio/console_io.h 0548b83d7c4b7270ad544a67f2bb90cebc519637fa39b1838df4744cf0d87646
 F ext/expert/README.md b321c2762bb93c18ea102d5a5f7753a4b8bac646cb392b3b437f633caf2020c3
 F ext/expert/expert.c d548d603a4cc9e61f446cc179c120c6713511c413f82a4a32b1e1e69d3f086a4
-F ext/expert/expert1.test 0dd5cb096d66bed593e33053a3b364f6ef52ed72064bf5cf298364636dbf3cd6
+F ext/expert/expert1.test 53a749de08939e3bc14f804e97410927d46fa772cbce0247d7e8fa6fc2523b0c
 F ext/expert/sqlite3expert.c c8cea5ff15fbe792cccc4992a9b40b706411c41d32611f617897fecac6ff06a4
 F ext/expert/sqlite3expert.h ca81efc2679a92373a13a3e76a6138d0310e32be53d6c3bfaedabd158ea8969b
 F ext/expert/test_expert.c d56c194b769bdc90cf829a14c9ecbc1edca9c850b837a4d0b13be14095c32a72
@@ -911,7 +911,7 @@ F test/autoindex5.test 2ee94f033b87ca0160e08d81034c507aff8e230df2627f0304fa309b2
 F test/autovacuum.test 00671369bbf96c6a49989a9425f5b78b94075d6a4b031e5e00000c2c32f365df
 F test/autovacuum2.test 76f7eb4fe6a6bf6d33a196a7141dba98886d2fb53a268d7feca285d5da4759d7
 F test/autovacuum_ioerr2.test 8a367b224183ad801e0e24dcb7d1501f45f244b4
-F test/avfs.test 0c3a38e03cccb0fc3127838462dc05dc3f4c1480d770c084b388304c25de3652
+F test/avfs.test 76f59743dc1f5fa533840d1818b420fe1ee45e21c0fd6bbac7942ba677903128
 F test/avtrans.test b7dc25459ecbd86c6fa9c606ee3068f59d81e225118617dcf2bbb6ded2ade89e
 F test/backcompat.test 3e64cedda754c778ef6bbe417b6e7a295e662a4d
 F test/backup.test 3b08fd4af69f0fa786931103a31f4542b184aba16e239e5f22b18c3c2476697f
@@ -1520,7 +1520,7 @@ F test/randexpr1.tcl 40dec52119ed3a2b8b2a773bce24b63a3a746459
 F test/randexpr1.test eda062a97e60f9c38ae8d806b03b0ddf23d796df
 F test/rbu.test 168573d353cd0fd10196b87b0caa322c144ef736
 F test/rdonly.test 64e2696c322e3538df0b1ed624e21f9a23ed9ff8
-F test/recover.test fd5199f928757cb308661b5fdca1abc19398a798ff7f24b57c3071e9f8e0471e
+F test/recover.test 6463509a7404e0c35431dd9b4a1c3b4a29d7a6af8a08462b31670c8a5a616d3a
 F test/regexp1.test 8f2a8bc1569666e29a4cee6c1a666cd224eb6d50e2470d1dc1df995170f3e0f1
 F test/regexp2.test 55ed41da802b0e284ac7e2fe944be3948f93ff25abbca0361a609acfed1368b5
 F test/reindex.test cd9d6021729910ece82267b4f5e1b5ac2911a7566c43b43c176a6a4732e2118d
@@ -1600,15 +1600,15 @@ F test/sharedA.test 64bdd21216dda2c6a3bd3475348ccdc108160f34682c97f2f51c19fc0e21
 F test/sharedB.test 1a84863d7a2204e0d42f2e1606577c5e92e4473fa37ea0f5bdf829e4bf8ee707
 F test/shared_err.test 32634e404a3317eeb94abc7a099c556a346fdb8fb3858dbe222a4cbb8926a939
 F test/sharedlock.test 5ede3c37439067c43b0198f580fd374ebf15d304
-F test/shell1.test c7127a5e780ffc9e14c476773127fdf292c6db226529c44c1676f37b3793123f
-F test/shell2.test 35226c070a8c7f64fd016dfac2a0db2a40f709b3131f61daacd9dad61536c9cb
-F test/shell3.test 91febeac0412812bf6370abb8ed72700e32bf8f9878849414518f662dfd55e8a
-F test/shell4.test 947029e5a9efae9054d424b309fc0311439c0c3a0866ebfa3b8a771120708220
-F test/shell5.test 263bfd6a49049295277e3f5bdc221390dc5e72f39954b23d43204ed81993304f
-F test/shell6.test 1ceb51b2678c472ba6cf1e5da96679ce8347889fe2c3bf93a0e0fa73f00b00d3
-F test/shell7.test 115132f66d0463417f408562cc2cf534f6bbc6d83a6d50f0072a9eb171bae97f
-F test/shell8.test 3fd093d481aaa94dc77fb73f1044c1f19c7efe3477a395cc4f7450133bc54915
-F test/shell9.test f457a96c088344908e0518dbabffd02eda8ac2a8733f278679e5f47c103efbab
+F test/shell1.test 17a5ca9c6f24f807b2f505b4b38fcbce143d96cd8664c06c34bbbe0672bf7c30
+F test/shell2.test 56da24128304c9ab67da2964cc80beff7b35761c446ec6e6e98bff2775b15026
+F test/shell3.test 5ad4b2813717956414f2c0c8a2027895cd98ccf7dd54dbacbde4d4f5591ce5a1
+F test/shell4.test 522fdc628c55eff697b061504fb0a9e4e6dfc5d9087a633ab0f3dd11bcc4f807
+F test/shell5.test 5b2ab1c0540217773f939927c24163a56257446da3f564d4724042620bfea762
+F test/shell6.test e3b883b61d4916b6906678a35f9d19054861123ad91b856461e0a456273bdbb8
+F test/shell7.test 753c6ece5361df50025a50cadf378ea36db9cc05fb23d7a96cff7fa130626ef9
+F test/shell8.test 9b71d56a6f6fc62edd9163534ac21eaa328ad95f1b9026e7bd08d5b4621eacf6
+F test/shell9.test 8742a5b390cdcef6369f5aa223e415aa4255a4129ef249b177887dc635a87209
 F test/shmlock.test 3dbf017d34ab0c60abe6a44e447d3552154bd0c87b41eaf5ceacd408dd13fda5
 F test/shortread1.test bb591ef20f0fd9ed26d0d12e80eee6d7ac8897a3
 F test/show_speedtest1_rtree.tcl 32e6c5f073d7426148a6936a0408f4b5b169aba5
@@ -1687,7 +1687,7 @@ F test/temptable2.test 76821347810ecc88203e6ef0dd6897b6036ac788e9dd3e6b04fd4d163
 F test/temptable3.test d11a0974e52b347e45ee54ef1923c91ed91e4637
 F test/temptrigger.test 38f0ca479b1822d3117069e014daabcaacefffcc
 F test/tester.tcl fe617b88c7eb08bdf983d2aaa31c20fbf439eee7b8e0d61ca636fcd0c305bbbf
-F test/testrunner.tcl 277bf6ed811b1f07796eedf8b5740ef521fc7fa99bd50faad9760a1fa53653b3
+F test/testrunner.tcl 742a86037556cc6a9e51b5598955fcfc7a610a187ca257791c320b13ce2d5232
 F test/testrunner_data.tcl 7ffd951527bbc614e723fd8d123b6834321878530696adecfdf6035100bac64e
 F test/thread001.test a0985c117eab62c0c65526e9fa5d1360dd1cac5b03bde223902763274ce21899
 F test/thread002.test c24c83408e35ba5a952a3638b7ac03ccdf1ce4409289c54a050ac4c5f1de7502
@@ -2177,8 +2177,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 95a9c88b258f18ac671a4c712603931167cc8bd0b86e41481b200c08043338b5
-R 29b12e6b8f2a6bc2a8ea9a08c15b926a
-U drh
-Z a3f33edbc2a09bf20230f9f2220bf336
+P 76c471061809307c1922a9460f1ea37291ff5f4dc11a71af594351e875fdc8e3
+R 3a2de83b3312aef9322c95d69c88f610
+U dan
+Z ad568019dcaf7d3ff511c52e874411fe
 # Remove this line to create a well-formed Fossil manifest.
index d3cdb542bf78cec62cd9d06adbb24c448d3ab0e7..b517c05b4d522f20468ced06ed9e7ea9feb73645 100644 (file)
@@ -1 +1 @@
-76c471061809307c1922a9460f1ea37291ff5f4dc11a71af594351e875fdc8e3
\ No newline at end of file
+6eae4547d4d50c798d1f05eaa1da02f4682d261dbd64e94748179923839024e6
\ No newline at end of file
index 2ebd608baafa13a17579995d47701b47609db86b..ffd6b309fc80254ef7bcbb57e76e016e17fc757c 100644 (file)
@@ -8,6 +8,7 @@
 #    May you share freely, never taking more than you give.
 #
 #***********************************************************************
+# TESTRUNNER: shell
 # 
 # This file implements tests for the appendvfs extension.
 #
index 8d9ad013c034a2bc4e5cd5985c55ebb454ab2427..5495b7a0065fbbceb51243dc0b9c6e341624cdca 100644 (file)
@@ -8,6 +8,7 @@
 #    May you share freely, never taking more than you give.
 #
 #***********************************************************************
+# TESTRUNNER: shell
 #
 # Test the shell tool ".ar" command.
 #
index 5d4243f47a93eab48aa31d20feef0064e87727b3..206fb0a4fd8bbe0a1a4a8718e188d81e124a119a 100644 (file)
@@ -11,6 +11,7 @@
 #
 # The focus of this file is testing the CLI shell tool.
 #
+# TESTRUNNER: shell
 #
 
 # Test plan:
index 16ed33c442daefb4f99e8bb327ddbcf6ac4ad864..c6c27d2165af70e974fb21b08c732cfa9d84cb8f 100644 (file)
@@ -8,6 +8,7 @@
 #    May you share freely, never taking more than you give.
 #
 #***********************************************************************
+# TESTRUNNER: shell
 #
 # The focus of this file is testing the CLI shell tool.
 #
index f8d69946e7cbdbdd5586acf0911df9d1e6bb759f..c1ea9f6a7544325aa6131848978a27dcf9cf5a2b 100644 (file)
@@ -8,6 +8,7 @@
 #    May you share freely, never taking more than you give.
 #
 #***********************************************************************
+# TESTRUNNER: shell
 #
 # The focus of this file is testing the CLI shell tool.
 #
index eee59b02b8116fa9070facdc525d3566b7686324..4b7e9b8eec91106111a5dbad9f9b6993c880e9c9 100644 (file)
@@ -8,6 +8,7 @@
 #    May you share freely, never taking more than you give.
 #
 #***********************************************************************
+# TESTRUNNER: shell
 #
 # The focus of this file is testing the CLI shell tool.
 # These tests are specific to the .stats command.
index 20f2ba219d4ded5289c3432a882a4f4541926eb3..877676d7263176adceb78f6fb373c6e11bcb5d67 100644 (file)
@@ -8,6 +8,7 @@
 #    May you share freely, never taking more than you give.
 #
 #***********************************************************************
+# TESTRUNNER: shell
 #
 # The focus of this file is testing the CLI shell tool.
 # These tests are specific to the .import command.
index 49b4cc334413dd153a7e9548fa3bbec3e6a57cc6..4841d6c01ad04ac524584ea21957a7bc66995c05 100644 (file)
@@ -8,6 +8,7 @@
 #    May you share freely, never taking more than you give.
 #
 #***********************************************************************
+# TESTRUNNER: shell
 #
 # Test the shell tool ".lint fkey-indexes" command.
 #
index 898018d775e2348c6e6e53fc155c600e010b56d7..dfd9e47c2d2620e776b5d7f44ee0e316366d3e71 100644 (file)
@@ -8,6 +8,7 @@
 #    May you share freely, never taking more than you give.
 #
 #***********************************************************************
+# TESTRUNNER: shell
 #
 # Test the readfile() function built into the shell tool. Specifically,
 # that it does not truncate the blob read at the first embedded 0x00
index bee603923201221911b900e3614dc6c9c0548f91..944173a2a129a0c1c08c45ac36e2c5269882299e 100644 (file)
@@ -8,6 +8,7 @@
 #    May you share freely, never taking more than you give.
 #
 #***********************************************************************
+# TESTRUNNER: shell
 #
 # Test the shell tool ".ar" command.
 #
index 34c9d8c5d6d01ce7d851ec7aab310d5d1acf8c46..869cb075da1593d3b0708c4f9bd5fe09e0ae8489 100644 (file)
@@ -8,6 +8,7 @@
 #    May you share freely, never taking more than you give.
 #
 #***********************************************************************
+# TESTRUNNER: shell
 #
 # The focus of this file is testing the CLI shell tool. Specifically, 
 # testing that it is possible to run a ".dump" script that creates
index b5bd54e2b1876bd1e1f9ac76527d60fdbdb6ffc9..dd909ea186c9270fee92133f96ea99d826cd08f4 100644 (file)
@@ -159,6 +159,7 @@ switch -nocase -glob -- $tcl_platform(os) {
     set TRG(make)        make.sh
     set TRG(makecmd)     "bash make.sh"
     set TRG(testfixture) testfixture
+    set TRG(shell)       sqlite3
     set TRG(run)         run.sh
     set TRG(runcmd)      "bash run.sh"
   }
@@ -167,6 +168,7 @@ switch -nocase -glob -- $tcl_platform(os) {
     set TRG(make)        make.sh
     set TRG(makecmd)     "bash make.sh"
     set TRG(testfixture) testfixture
+    set TRG(shell)       sqlite3
     set TRG(run)         run.sh
     set TRG(runcmd)      "bash run.sh"
   }
@@ -175,6 +177,7 @@ switch -nocase -glob -- $tcl_platform(os) {
     set TRG(make)        make.bat
     set TRG(makecmd)     make.bat
     set TRG(testfixture) testfixture.exe
+    set TRG(shell)       sqlite3.exe
     set TRG(run)         run.bat
     set TRG(runcmd)      "run.bat"
   }
@@ -617,7 +620,16 @@ proc add_job {args} {
   trdb last_insert_rowid
 }
 
-proc add_tcl_jobs {build config patternlist} {
+# Argument $build is either an empty string, or else a list of length 3 
+# describing the job to build testfixture. In the usual form:
+#
+#    {ID DIRNAME DISPLAYNAME}
+# 
+# e.g    
+#
+#    {1 /home/user/sqlite/test/testrunner_bld_xyz All-Debug}
+# 
+proc add_tcl_jobs {build config patternlist {shelldepid ""}} {
   global TRG
 
   set topdir [file dirname $::testdir]
@@ -666,29 +678,28 @@ proc add_tcl_jobs {build config patternlist} {
     if {[lsearch $lProp slow]>=0} { set priority 2 }
     if {[lsearch $lProp superslow]>=0} { set priority 4 }
 
+    set depid [lindex $build 0]
+    if {$shelldepid!="" && [lsearch $lProp shell]>=0} { set depid $shelldepid }
+
     add_job                            \
         -displaytype tcl               \
         -displayname $displayname      \
         -cmd $cmd                      \
-        -depid [lindex $build 0]       \
+        -depid $depid                  \
         -priority $priority
-
   }
 }
 
-proc add_build_job {buildname target} {
+proc add_build_job {buildname target {postcmd ""} {depid ""}} {
   global TRG
 
   set dirname "[string tolower [string map {- _} $buildname]]_$target"
   set dirname "testrunner_bld_$dirname"
-  switch $target {
-    testfixture -
-    testfixture.exe {
-      set mktarget coretestprogs
-    }
-    default {
-      set mktarget $target
-    }
+
+  set cmd "$TRG(makecmd) $target"
+  if {$postcmd!=""} {
+    append cmd "\n"
+    append cmd $postcmd
   }
 
   set id [add_job                                \
@@ -696,13 +707,30 @@ proc add_build_job {buildname target} {
     -displayname "Build $buildname ($target)"    \
     -dirname $dirname                            \
     -build $buildname                            \
-    -cmd  "$TRG(makecmd) $mktarget"              \
+    -cmd  $cmd                                   \
+    -depid $depid                                \
     -priority 3
   ]
 
   list $id [file normalize $dirname] $buildname
 }
 
+proc add_shell_build_job {buildname dirname depid} {
+  global TRG
+
+  if {$TRG(platform)=="win"} {
+    set path [string map {/ \\} "$dirname/"
+    set copycmd "xcopy /S $TRG(shell) $path"
+  } else {
+    set copycmd "cp $TRG(shell) $dirname/"
+  }
+
+  return [
+    add_build_job $buildname $TRG(shell) $copycmd $depid
+  ]
+}
+
+
 proc add_make_job {bld target} {
   global TRG
 
@@ -776,10 +804,19 @@ proc add_devtest_jobs {lBld patternlist} {
 
   foreach b $lBld {
     set bld [add_build_job $b $TRG(testfixture)]
-    add_tcl_jobs $bld veryquick $patternlist
+    add_tcl_jobs $bld veryquick $patternlist SHELL
     if {$patternlist==""} {
       add_fuzztest_jobs $b
     }
+
+    if {[trdb one "SELECT EXISTS (SELECT 1 FROM jobs WHERE depid='SHELL')"]} {
+      set sbld [add_shell_build_job $b [lindex $bld 1] [lindex $bld 0]]
+      set sbldid [lindex $sbld 0]
+      trdb eval {
+        UPDATE jobs SET depid=$sbldid WHERE depid='SHELL'
+      }
+    }
+
   }
 }