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.
diff --git a/src/testdir/check.vim b/src/testdir/check.vim
index 2a45997..e5298bc 100644
--- a/src/testdir/check.vim
+++ b/src/testdir/check.vim
@@ -183,4 +183,12 @@
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
diff --git a/src/testdir/test_ex_mode.vim b/src/testdir/test_ex_mode.vim
index a07649e..ffde11e 100644
--- a/src/testdir/test_ex_mode.vim
+++ b/src/testdir/test_ex_mode.vim
@@ -207,6 +207,9 @@
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>")
diff --git a/src/testdir/test_ins_complete.vim b/src/testdir/test_ins_complete.vim
index e59bd20..5aa2664 100644
--- a/src/testdir/test_ins_complete.vim
+++ b/src/testdir/test_ins_complete.vim
@@ -562,27 +562,33 @@
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
diff --git a/src/testdir/test_memory_usage.vim b/src/testdir/test_memory_usage.vim
index 49abc56..4f78d9a 100644
--- a/src/testdir/test_memory_usage.vim
+++ b/src/testdir/test_memory_usage.vim
@@ -4,11 +4,9 @@
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
diff --git a/src/version.c b/src/version.c
index 0816982..fbdb35c 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2424,
+/**/
2423,
/**/
2422,