summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-09-22 15:13:00 +0100
committerBram Moolenaar <Bram@vim.org>2022-09-22 15:13:00 +0100
commitdaaa3d9965d74faf1f75aea218822bfb7ba687a7 (patch)
tree991522294b86225544fc746e98756489ea2ec14f
parentfcba86c0316dc0d6341078b50e7967206a1627a0 (diff)
downloadvim-git-daaa3d9965d74faf1f75aea218822bfb7ba687a7.tar.gz
patch 9.0.0545: when a test is slow and CI times out there is no time infov9.0.0545
Problem: When a test is slow and CI times out there is no time info. Solution: Add the elapsed time to the "Executing" message.
-rw-r--r--src/testdir/Makefile5
-rw-r--r--src/testdir/runtest.vim10
-rw-r--r--src/version.c2
3 files changed, 13 insertions, 4 deletions
diff --git a/src/testdir/Makefile b/src/testdir/Makefile
index adec1f167..54a998961 100644
--- a/src/testdir/Makefile
+++ b/src/testdir/Makefile
@@ -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.
diff --git a/src/testdir/runtest.vim b/src/testdir/runtest.vim
index ebc692b47..bb0325fe8 100644
--- a/src/testdir/runtest.vim
+++ b/src/testdir/runtest.vim
@@ -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
diff --git a/src/version.c b/src/version.c
index d9bcbbc7b..196b9d868 100644
--- a/src/version.c
+++ b/src/version.c
@@ -700,6 +700,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 545,
+/**/
544,
/**/
543,