]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Further improvements to the status display in order to maximum the amount of
authordrh <>
Wed, 28 Aug 2024 11:03:58 +0000 (11:03 +0000)
committerdrh <>
Wed, 28 Aug 2024 11:03:58 +0000 (11:03 +0000)
information shown on the limited screen realestate available when running
via "watch" or in continuous monitoring mode.  All details are still shown
when doing a stand-alone "status".

FossilOrigin-Name: 557a2c65f5ae1d8cb1858c17da0fe64fbfba83d787cfb7f2f21582960a8b9eac

manifest
manifest.uuid
test/testrunner.tcl

index 5f2f3faa01e29f650788b2d3a547340c01650bc6..b3678578487c847eed02a2c668b1d7b0e3a0c094 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Only\slimit\sthe\snumber\sof\sfailures\sreported\sby\stestrunner\sstatus\sif\susing\nVT100\scursor\smovement.\s\sFor\sa\sstraight-up\s"status"\scommand,\sshow\severything.
-D 2024-08-28T10:36:18.262
+C Further\simprovements\sto\sthe\sstatus\sdisplay\sin\sorder\sto\smaximum\sthe\samount\sof\ninformation\sshown\son\sthe\slimited\sscreen\srealestate\savailable\swhen\srunning\nvia\s"watch"\sor\sin\scontinuous\smonitoring\smode.\s\sAll\sdetails\sare\sstill\sshown\nwhen\sdoing\sa\sstand-alone\s"status".
+D 2024-08-28T11:03:58.055
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -1714,7 +1714,7 @@ F test/temptable2.test 76821347810ecc88203e6ef0dd6897b6036ac788e9dd3e6b04fd4d163
 F test/temptable3.test d11a0974e52b347e45ee54ef1923c91ed91e4637
 F test/temptrigger.test 38f0ca479b1822d3117069e014daabcaacefffcc
 F test/tester.tcl 2c203a2dd664298f239f0ec3ce22fbc65b5f021c1e09edbae8452af8a694e052
-F test/testrunner.tcl cfe0f1dd8ce1da41ebc2238eabd2f9562e48162505eb6c4495eb9221e00a0c93
+F test/testrunner.tcl 2345d50bca7a48fa3454cf088a2ec6978d8a0042feadc8e7336ac5d0dfe53b07
 F test/testrunner_data.tcl f1cbff53fe42087cac3d43ca02f9574bd212c842307442e2b6fff2183f5ccbfe
 F test/thread001.test a0985c117eab62c0c65526e9fa5d1360dd1cac5b03bde223902763274ce21899
 F test/thread002.test c24c83408e35ba5a952a3638b7ac03ccdf1ce4409289c54a050ac4c5f1de7502
@@ -2211,8 +2211,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 ffeaa4d5d73871cbdf1ef70b9845d921ebdb96e964d232661a5048cab7d744ed
-R 8085922607334118c1b73e04568394c4
+P 791237e0f4b67f0197ae11e966554edeade0c443289d2ade00470d23bf5e8ec8
+R d373eef32be36327da73bfcab1a028e6
 U drh
-Z 328eda1f95b36f3977ef4f1d3bbc3083
+Z 38527615900da2d45d6401569f849a97
 # Remove this line to create a well-formed Fossil manifest.
index 6bcef0ddb0fc4fbddf11748c2d37851abd3a1b40..7e1aedcbf951beba6189bccf8b9f38f86c7e0f43 100644 (file)
@@ -1 +1 @@
-791237e0f4b67f0197ae11e966554edeade0c443289d2ade00470d23bf5e8ec8
+557a2c65f5ae1d8cb1858c17da0fe64fbfba83d787cfb7f2f21582960a8b9eac
index 1744af2ea7e12d771a2404f37a591569f1dcf721..5bddeee610664c768ddd4c43f67a2c6e3e0b1be0 100644 (file)
@@ -470,19 +470,15 @@ proc show_status {db cls} {
     # overwrite.
     puts -nonewline "\033\[H"
     flush stdout
-    set clreol "\033\[K"
-  } else {
-    set clreol ""
   }
-  puts [format %-79.79s "Command: \[testrunner.tcl$cmdline\]$clreol"]
-  puts [format %-79.79s "Jobs:    $nJob max $S(running) active"]
-  puts [format %-79.79s "Summary: [elapsetime $tm], $fin/$total tasks,\
+  puts [format %-79.79s "Command: \[testrunner.tcl$cmdline\]"]
+  puts [format %-79.79s "Summary: [elapsetime $tm], $fin/$total jobs,\
                          $ne errors, $nt tests"]
 
   set srcdir [file dirname [file dirname $TRG(info_script)]]
   set nrun 0
+  puts [format %-79s    "Running: $S(running) (max: $nJob)"]
   if {$S(running)>0} {
-    puts [format %-79s "$S(running) Running:"]
     $db eval {
       SELECT * FROM jobs WHERE state='running' ORDER BY starttime 
     } job {
@@ -491,34 +487,30 @@ proc show_status {db cls} {
     }
   }
   if {$S(failed)>0} {
-    puts [format %-79s "$S(failed) Failed:"]
-    set nfail 0
-
-    # $mxtoshow tries to limit the number of "Failures:" reported so that
-    # the status display does not overflow a 24-line terminal.  But it will
+    # $toshow is the number of failures to report.  In $cls mode,
+    # status tries to limit the number of failure reported so that
+    # the status display does not overflow a 24-line terminal.  It will
     # always show at least the most recent 4 failures, even if an overflow
-    # is needed.  But, do not limit the length of the output of $cls is false.
-    if {$cls} {
-      set mxtoshow [expr {16-$nrun}]
-      if {$mxtoshow<4} {set mxtoshow 4}
+    # is needed.  No limit is imposed for a status within $cls.
+    #
+    if {$cls && $S(failed)>18-$S(running)} {
+      set toshow [expr {18-$S(running)}]
+      if {$toshow<4} {set toshow 4}
+      set shown " (must recent $toshow shown)"
     } else {
-      set mxtoshow 9999999
+      set toshow $S(failed)
+      set shown ""
     }
-
+    puts [format %-79s  "Failed:  $S(failed) $shown"]
     $db eval {
-      SELECT * FROM jobs WHERE state='failed' ORDER BY endtime DESC
+      SELECT * FROM jobs WHERE state='failed'
+       ORDER BY endtime DESC LIMIT $toshow
     } job {
-      incr nfail
-      if {$nfail<=$mxtoshow} {
-        display_job [array get job]
-      }
-    }
-    if {$nfail>$mxtoshow} {
-      puts [format %-79s "  ... plus [expr {$nfail-$mxtoshow}] more"]
+      display_job [array get job]
     }
     set nOmit [$db one {SELECT count(*) FROM jobs WHERE state='omit'}]
     if {$nOmit} {
-      puts [format %-79s "$nOmit jobs omitted due to failures$clreol"]
+      puts [format %-79s "  ... $nOmit jobs omitted due to failures"]
     }
   }
   if {$cls} {