vim-patch:8.2.2424: some tests are known to cause an error with ASAN

Problem:    Some tests are known to cause an error with ASAN.
Solution:   Add CheckNotAsan.
97202d9516

Move CheckNotMSWindows to the right place.
Omit test_memory_usage.vim: a Lua test is used for this file.
This commit is contained in:
zeertzjq
2022-07-17 12:13:29 +08:00
parent 656a1889ee
commit b0bbcfa239
3 changed files with 32 additions and 23 deletions

View File

@@ -55,6 +55,14 @@ func CheckMSWindows()
endif
endfunc
" Command to check for NOT running on MS-Windows
command CheckNotMSWindows call CheckNotMSWindows()
func CheckNotMSWindows()
if has('win32')
throw 'Skipped: does not work on MS-Windows'
endif
endfunc
" Command to check for running on Unix
command CheckUnix call CheckUnix()
func CheckUnix()
@@ -129,14 +137,6 @@ func CheckEnglish()
endif
endfunc
" Command to check for NOT running on MS-Windows
command CheckNotMSWindows call CheckNotMSWindows()
func CheckNotMSWindows()
if has('win32')
throw 'Skipped: does not work on MS-Windows'
endif
endfunc
" Command to check for not running under ASAN
command CheckNotAsan call CheckNotAsan()
func CheckNotAsan()

View File

@@ -191,6 +191,9 @@ func Test_ex_mode_errors()
endfunc
func Test_ex_mode_count_overflow()
" The multiplication causes an integer overflow
CheckNotAsan
" this used to cause a crash
let lines =<< trim END
call feedkeys("\<Esc>gQ\<CR>")

View File

@@ -628,27 +628,33 @@ func Test_completefunc_error()
call setline(1, ['', 'abcd', ''])
call assert_fails('exe "normal 2G$a\<C-X>\<C-U>"', 'E565:')
" Jump to a different window from the complete function
" TODO: The following test causes an ASAN failure. Once this issue is
" addressed, enable the following test.
"func! CompleteFunc(findstart, base)
" if a:findstart == 1
" return col('.') - 1
" endif
" wincmd p
" return ['a', 'b']
"endfunc
"set completefunc=CompleteFunc
"new
"call assert_fails('exe "normal a\<C-X>\<C-U>"', 'E839:')
"close!
set completefunc&
delfunc CompleteFunc
delfunc CompleteFunc2
close!
endfunc
func Test_completefunc_error_not_asan()
" The following test causes an ASAN failure.
CheckNotAsan
" Jump to a different window from the complete function
func! CompleteFunc(findstart, base)
if a:findstart == 1
return col('.') - 1
endif
wincmd p
return ['a', 'b']
endfunc
set completefunc=CompleteFunc
new
call assert_fails('exe "normal a\<C-X>\<C-U>"', 'E839:')
close!
set completefunc&
delfunc CompleteFunc
endfunc
" Test for returning non-string values from 'completefunc'
func Test_completefunc_invalid_data()
new