1
0
forked from aniani/vim

patch 8.1.1484: some tests are slow

Problem:    Some tests are slow.
Solution:   Add timing to the test messages.  Fix double free when quitting in
            VimLeavePre autocmd.
This commit is contained in:
Bram Moolenaar 2019-06-06 18:05:25 +02:00
parent 5d30ff1964
commit 75ee544f99
3 changed files with 22 additions and 5 deletions

View File

@ -430,11 +430,12 @@ eval_clear(void)
vim_free(SCRIPT_SV(i));
ga_clear(&ga_scripts);
/* unreferenced lists and dicts */
(void)garbage_collect(FALSE);
/* functions */
// functions need to be freed before gargabe collecting, otherwise local
// variables might be freed twice.
free_all_functions();
// unreferenced lists and dicts
(void)garbage_collect(FALSE);
}
#endif

View File

@ -42,6 +42,10 @@ if &lines < 24 || &columns < 80
cquit
endif
if has('reltime')
let s:start_time = reltime()
endif
" Common with all tests on all systems.
source setup.vim
@ -99,6 +103,9 @@ endfunc
func RunTheTest(test)
echo 'Executing ' . a:test
if has('reltime')
let func_start = reltime()
endif
" Avoid stopping at the "hit enter" prompt
set nomore
@ -126,7 +133,11 @@ func RunTheTest(test)
endtry
endif
call add(s:messages, 'Executing ' . a:test)
let message = 'Executed ' . a:test
if has('reltime')
let message ..= ' in ' .. reltimestr(reltime(func_start)) .. ' seconds'
endif
call add(s:messages, message)
let s:done += 1
if a:test =~ 'Test_nocatch_'
@ -232,6 +243,9 @@ func FinishTesting()
else
let message = 'Executed ' . s:done . (s:done > 1 ? ' tests' : ' test')
endif
if has('reltime')
let message ..= ' in ' .. reltimestr(reltime(s:start_time)) .. ' seconds'
endif
echo message
call add(s:messages, message)
if s:fail > 0

View File

@ -767,6 +767,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1484,
/**/
1483,
/**/