Mercurial > vim
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 |