0
0
mirror of https://github.com/vim/vim.git synced 2025-10-02 05:04:20 -04:00

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.
This commit is contained in:
Bram Moolenaar
2021-01-28 18:34:35 +01:00
parent 61015162ba
commit 97202d9516
5 changed files with 37 additions and 20 deletions

View File

@@ -183,4 +183,12 @@ func s:CheckIPv6Loopback()
return v:false
endfunc
" Command to check for not running under ASAN
command CheckNotAsan call CheckNotAsan()
func CheckNotAsan()
if execute('version') =~# '-fsanitize=[a-z,]*\<address\>'
throw 'Skipped: does not work with ASAN'
endif
endfunc
" vim: shiftwidth=2 sts=2 expandtab

View File

@@ -207,6 +207,9 @@ func Test_ex_mode_with_global()
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>Q\<CR>")

View File

@@ -562,27 +562,33 @@ func Test_completefunc_error()
call setline(1, ['', 'abcd', ''])
call assert_fails('exe "normal 2G$a\<C-X>\<C-U>"', 'E578:')
" 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

View File

@@ -4,11 +4,9 @@ source check.vim
CheckFeature terminal
CheckNotGui
if execute('version') =~# '-fsanitize=[a-z,]*\<address\>'
" Skip tests on Travis CI ASAN build because it's difficult to estimate
" memory usage.
throw 'Skipped: does not work with ASAN'
endif
" Skip tests on Travis CI ASAN build because it's difficult to estimate memory
" usage.
CheckNotAsan
source shared.vim

View File

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