]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Include a test case summary in the output of "errors" in testrunner.tcl.
authordrh <>
Thu, 1 Aug 2024 14:43:27 +0000 (14:43 +0000)
committerdrh <>
Thu, 1 Aug 2024 14:43:27 +0000 (14:43 +0000)
FossilOrigin-Name: 173df1478e89996126e172656e35da8026d4ef145b2341ef56213f00ade14f48

manifest
manifest.uuid
test/testrunner.tcl

index 5a1c13a60f65707cb14b664629d1368fc8d6b49d..488738897e87c0f1f95f469eb4298bef228fb0e6 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Add\sthe\s"errors"\scommand\sto\stestrunner.tcl.
-D 2024-08-01T14:16:36.126
+C Include\sa\stest\scase\ssummary\sin\sthe\soutput\sof\s"errors"\sin\stestrunner.tcl.
+D 2024-08-01T14:43:27.026
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -1705,7 +1705,7 @@ F test/temptable2.test 76821347810ecc88203e6ef0dd6897b6036ac788e9dd3e6b04fd4d163
 F test/temptable3.test d11a0974e52b347e45ee54ef1923c91ed91e4637
 F test/temptrigger.test 38f0ca479b1822d3117069e014daabcaacefffcc
 F test/tester.tcl 640106bf8f7785d0ac67cda2837577eb9f2d936033bacedf9e705ca5451958ef
-F test/testrunner.tcl 609d9e8f073ad7a4f839e3394ffb5019d4ea895c08e6701115bb0e94afa45c65
+F test/testrunner.tcl f6ac1a55ce4c9278cf8c4dbaed1facd347c9b80acae5d32511c3bf3e529a4817
 F test/testrunner_data.tcl c5ae2b1f9a99210b0600d002fb3af1fee350997cee9416551e83b93501360ebf
 F test/thread001.test a0985c117eab62c0c65526e9fa5d1360dd1cac5b03bde223902763274ce21899
 F test/thread002.test c24c83408e35ba5a952a3638b7ac03ccdf1ce4409289c54a050ac4c5f1de7502
@@ -2200,8 +2200,8 @@ F vsixtest/vsixtest.tcl 6195aba1f12a5e10efc2b8c0009532167be5e301abe5b31385638080
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P ea9d88f9ca3399bca83bf03893689a927b73e481604b94527e42de43f103eb46
-R bfca8ad2d62c4f03659e091bb06ca2cc
+P 03b7f99229cfcffde024915e6812d75ae11318db9dc93a00838e4588a79b1243
+R 08e6905a776f74e196253ed63d164e48
 U drh
-Z 49d94432a94da4d21f2422461c255ece
+Z 096dcbc7b2b21544af81d2d7e8439d72
 # Remove this line to create a well-formed Fossil manifest.
index 6742779a8cbb4d2db43d1945e992a56f196bf967..7d0cd49d410a54c2d0eed92a7bba5fd66eba3311 100644 (file)
@@ -1 +1 @@
-03b7f99229cfcffde024915e6812d75ae11318db9dc93a00838e4588a79b1243
+173df1478e89996126e172656e35da8026d4ef145b2341ef56213f00ade14f48
index 3b9da35b00f5481d87fd2145a60bc728f35a77dc..aeb015865dfcfdd45fee2c4da9233c9ad8cad077 100644 (file)
@@ -473,6 +473,32 @@ if {[llength $argv]==1
   exit
 }
 
+# Scan the output of all jobs looking for the summary lines that
+# report the number of test cases and the number of errors.
+# Aggregate these numbers and return them.
+#
+proc aggregate_test_counts {db} {
+  set ncase 0
+  set nerr 0
+  $db eval {SELECT output FROM jobs WHERE displaytype IN ('tcl','fuzz')} {
+    set n 0
+    set m 0
+    if {[regexp {(\d+) errors out of (\d+) tests} $output all n m]
+        && [string is integer -strict $n]
+        && [string is integer -strict $m]} {
+      incr ncase $m
+      incr nerr $n
+    } elseif {[regexp {sessionfuzz.*: *(\d+) cases, (\d+) crash} $output \
+                      all m n]
+              && [string is integer -strict $m]
+              && [string is integer -strict $n]} {
+      incr ncase $m
+      incr nerr $n
+    }
+  }
+  return [list $nerr $ncase]
+}
+
 #--------------------------------------------------------------------------
 # Check if this is the "errors" command:
 #
@@ -507,10 +533,9 @@ if {[llength $argv]>=1 && [llength $argv]<=2
     }
     incr cnt
   }
+  set summary [aggregate_test_counts mydb]
   mydb close
-  if {$cnt==0} {
-    puts "No errors"
-  }
+  puts "Total [lindex $summary 0] errors out of [lindex $summary 1] tests"
   exit
 }