patch 8.1.2087: cannot easily select one test function to execute

Problem:    Cannot easily select one test function to execute.
Solution:   Support the $TEST_FILTER environment variable. (Ozaki Kiichi,
            closes #2695)
This commit is contained in:
Bram Moolenaar
2019-09-27 15:34:16 +02:00
parent 38f1eeac3d
commit a7f6c3cf07
4 changed files with 17 additions and 1 deletions

View File

@ -2262,6 +2262,10 @@ test1 \
# Run individual NEW style test.
# These do not depend on the executable, compile it when needed.
# Set $TEST_FILTER to select what test function to invoke, e.g.:
# export TEST_FILTER=Test_terminal_wipe_buffer
# A partial match also works:
# export TEST_FILTER=wipe_buffer
$(NEW_TESTS):
cd testdir; $(MAKE) $@ VIMPROG=../$(VIMTESTTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)

View File

@ -384,6 +384,12 @@ if argc() > 1
let s:tests = filter(s:tests, 'v:val =~ argv(1)')
endif
" If the environment variable $TEST_FILTER is set then filter the function
" names against it.
if $TEST_FILTER != ''
let s:tests = filter(s:tests, 'v:val =~ $TEST_FILTER')
endif
" Execute the tests in alphabetical order.
for s:test in sort(s:tests)
" Silence, please!

View File

@ -8,7 +8,7 @@ if 1
let g:failed += a:match+0
elseif a:type ==# 'skipped'
let g:skipped += 1
call extend(g:skipped_output, ["\t".a:match])
call extend(g:skipped_output, ["\t" .. a:match])
endif
endfunc
@ -19,6 +19,10 @@ if 1
let g:failed_output = []
let output = [""]
if $TEST_FILTER != ''
call extend(g:skipped_output, ["\tAll tests not matching $TEST_FILTER: '" .. $TEST_FILTER .. "'"])
endif
try
" This uses the :s command to just fetch and process the output of the
" tests, it doesn't actually replace anything.

View File

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