]> granicus.if.org Git - vim/commitdiff
patch 9.0.0545: when a test is slow and CI times out there is no time info v9.0.0545
authorBram Moolenaar <Bram@vim.org>
Thu, 22 Sep 2022 14:13:00 +0000 (15:13 +0100)
committerBram Moolenaar <Bram@vim.org>
Thu, 22 Sep 2022 14:13:00 +0000 (15:13 +0100)
Problem:    When a test is slow and CI times out there is no time info.
Solution:   Add the elapsed time to the "Executing" message.

src/testdir/Makefile
src/testdir/runtest.vim
src/version.c

index adec1f167e30cf310d9800ba688f47e23711df94..54a998961f1fd86351b2d6ad5db9c78c54009496 100644 (file)
@@ -12,7 +12,7 @@ SCRIPTSOURCE = ../../runtime
 # Comment out this line to see the verbose output of tests.
 #
 # Catches SwapExists to avoid hanging at the ATTENTION prompt.
-REDIR_TEST_TO_NULL = --cmd 'au SwapExists * let v:swapchoice = "e"' | LC_ALL=C LANG=C LANGUAGE=C awk '/Executing Test_/{match($$0, "Executing Test_[^\\)]*\\)"); print substr($$0, RSTART, RLENGTH) "\r"; fflush()}'
+REDIR_TEST_TO_NULL = --cmd 'au SwapExists * let v:swapchoice = "e"' | LC_ALL=C LANG=C LANGUAGE=C awk '/Executing Test_/{match($$0, "(took .*; now )?Executing Test_[^\\)]*\\)"); print substr($$0, RSTART, RLENGTH) "\r"; fflush()}'
 
 # Uncomment this line to use valgrind for memory leaks and extra warnings.
 #   The output goes into a file "valgrind.testN"
@@ -20,6 +20,9 @@ REDIR_TEST_TO_NULL = --cmd 'au SwapExists * let v:swapchoice = "e"' | LC_ALL=C L
 #   This will make testing about 10 times as slow.
 # VALGRIND = valgrind --tool=memcheck --leak-check=yes --num-callers=35 --log-file=valgrind.$*
 
+# To execute one test, e.g. in gdb, use something like this:
+# run -f -u unix.vim --gui-dialog-file guidialog -U NONE --noplugin --not-a-term -S runtest.vim test_name.vim
+
 default: nongui
 
 # The list of tests is common to all systems.
index ebc692b478d92f90d035cce29be4baa992b0b238..bb0325fe89e2c6487cd3c32b84ba4535e7c8171b 100644 (file)
@@ -173,11 +173,15 @@ function GetAllocId(name)
   return lnum - top - 1
 endfunc
 
+let g:func_start = reltime()
+
 func RunTheTest(test)
-  echoconsole 'Executing ' . a:test
+  let prefix = ''
   if has('reltime')
-    let func_start = reltime()
+    let prefix = 'took ' .. reltimestr(reltime(g:func_start)) .. '; now '
+    let g:func_start = reltime()
   endif
+  echoconsole prefix .. 'Executing ' .. a:test
 
   " Avoid stopping at the "hit enter" prompt
   set nomore
@@ -292,7 +296,7 @@ func RunTheTest(test)
   let message = 'Executed ' . a:test
   if has('reltime')
     let message ..= repeat(' ', 50 - len(message))
-    let time = reltime(func_start)
+    let time = reltime(g:func_start)
     if reltimefloat(time) > 0.1
       let message = s:t_bold .. message
     endif
index d9bcbbc7b8c61009a5ab8a7cd3b4d82d76845a4a..196b9d868d76fcc4c11c83788c9492220a0d1813 100644 (file)
@@ -699,6 +699,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    545,
 /**/
     544,
 /**/