vim-patch:8.2.3311: Vim9: check for DO_NOT_FREE_CNT is very slow

Problem:    Vim9: check for DO_NOT_FREE_CNT is very slow.
Solution:   Move to a separate function so it can be skipped by setting
            $TEST_SKIP_PAT.

dae453f339

Co-authored-by: Bram Moolenaar <Bram@vim.org>
This commit is contained in:
zeertzjq
2024-07-16 10:54:53 +08:00
parent c2b51e6c41
commit 1bf9a7ce95

View File

@ -13,6 +13,9 @@
" For csh:
" setenv TEST_FILTER Test_channel
"
" If the environment variable $TEST_SKIP_PAT is set then test functions
" matching this pattern will be skipped. It's the opposite of $TEST_FILTER.
"
" While working on a test you can make $TEST_NO_RETRY non-empty to not retry:
" export TEST_NO_RETRY=yes
"
@ -431,13 +434,17 @@ func FinishTesting()
if s:done == 0
if s:filtered > 0
let message = "NO tests match $TEST_FILTER: '" .. $TEST_FILTER .. "'"
if $TEST_FILTER != ''
let message = "NO tests match $TEST_FILTER: '" .. $TEST_FILTER .. "'"
else
let message = "ALL tests match $TEST_SKIP_PAT: '" .. $TEST_SKIP_PAT .. "'"
endif
else
let message = 'NO tests executed'
endif
else
if s:filtered > 0
call add(s:messages, "Filtered " .. s:filtered .. " tests with $TEST_FILTER")
call add(s:messages, "Filtered " .. s:filtered .. " tests with $TEST_FILTER and $TEST_SKIP_PAT")
endif
let message = 'Executed ' . s:done . (s:done > 1 ? ' tests' : ' test')
endif
@ -530,6 +537,12 @@ endif
" Execute the tests in alphabetical order.
for g:testfunc in sort(s:tests)
if $TEST_SKIP_PAT != '' && g:testfunc =~ $TEST_SKIP_PAT
call add(s:messages, g:testfunc .. ' matches $TEST_SKIP_PAT')
let s:filtered += 1
continue
endif
" Silence, please!
set belloff=all
let prev_error = ''