comparison src/testdir/runtest.vim @ 30449:55aa44dd59ef v9.0.0560

patch 9.0.0560: elapsed time since testing started is not visible Commit: https://github.com/vim/vim/commit/b9093d50098ccff3848c2a404b9d0324a074c7b7 Author: Bram Moolenaar <Bram@vim.org> Date: Fri Sep 23 19:42:31 2022 +0100 patch 9.0.0560: elapsed time since testing started is not visible Problem: Elapsed time since testing started is not visible. Solution: Show the elapsed time while running tests.
author Bram Moolenaar <Bram@vim.org>
date Fri, 23 Sep 2022 20:45:03 +0200
parents f652823ce8bb
children c9d72c379cec
comparison
equal deleted inserted replaced
30448:48f3922a1dac 30449:55aa44dd59ef
72 write 72 write
73 qa! 73 qa!
74 endif 74 endif
75 75
76 if has('reltime') 76 if has('reltime')
77 let s:start_time = reltime() 77 let s:run_start_time = reltime()
78
79 if !filereadable('starttime')
80 " first test, store the overall test starting time
81 let s:test_start_time = localtime()
82 call writefile([string(s:test_start_time)], 'starttime')
83 else
84 " second or later test, read the overall test starting time
85 let s:test_start_time = readfile('starttime')[0]->str2nr()
86 endif
78 endif 87 endif
79 88
80 " Always use forward slashes. 89 " Always use forward slashes.
81 set shellslash 90 set shellslash
82 91
171 endif 180 endif
172 close 181 close
173 return lnum - top - 1 182 return lnum - top - 1
174 endfunc 183 endfunc
175 184
176 let g:func_start = reltime() 185 if has('reltime')
186 let g:func_start = reltime()
187 endif
177 188
178 func RunTheTest(test) 189 func RunTheTest(test)
179 let prefix = '' 190 let prefix = ''
180 if has('reltime') 191 if has('reltime')
181 let prefix = 'took ' .. reltimestr(reltime(g:func_start)) .. '; now ' 192 let prefix = strftime('%M:%S', localtime() - s:test_start_time) .. ' '
182 let g:func_start = reltime() 193 let g:func_start = reltime()
183 endif 194 endif
184 echoconsole prefix .. 'Executing ' .. a:test 195 echoconsole prefix .. 'Executing ' .. a:test
185 196
186 " Avoid stopping at the "hit enter" prompt 197 " Avoid stopping at the "hit enter" prompt
375 endif 386 endif
376 let message = 'Executed ' . s:done . (s:done > 1 ? ' tests' : ' test') 387 let message = 'Executed ' . s:done . (s:done > 1 ? ' tests' : ' test')
377 endif 388 endif
378 if s:done > 0 && has('reltime') 389 if s:done > 0 && has('reltime')
379 let message = s:t_bold .. message .. repeat(' ', 40 - len(message)) 390 let message = s:t_bold .. message .. repeat(' ', 40 - len(message))
380 let message ..= ' in ' .. reltimestr(reltime(s:start_time)) .. ' seconds' 391 let message ..= ' in ' .. reltimestr(reltime(s:run_start_time)) .. ' seconds'
381 let message ..= s:t_normal 392 let message ..= s:t_normal
382 endif 393 endif
383 echo message 394 echo message
384 call add(s:messages, message) 395 call add(s:messages, message)
385 if s:fail > 0 396 if s:fail > 0