summaryrefslogtreecommitdiff
path: root/src/testdir
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2021-01-28 18:34:35 +0100
committerBram Moolenaar <Bram@vim.org>2021-01-28 18:34:35 +0100
commit97202d951685fc4d90085da676a90644cbf72571 (patch)
tree95bd89e9b4a3f61934a273819e795c49c5191568 /src/testdir
parent61015162ba834541c42da5db6f3fa0ebe1d40e87 (diff)
downloadvim-git-97202d951685fc4d90085da676a90644cbf72571.tar.gz
patch 8.2.2424: some tests are known to cause an error with ASANv8.2.2424
Problem: Some tests are known to cause an error with ASAN. Solution: Add CheckNotAsan.
Diffstat (limited to 'src/testdir')
-rw-r--r--src/testdir/check.vim8
-rw-r--r--src/testdir/test_ex_mode.vim3
-rw-r--r--src/testdir/test_ins_complete.vim36
-rw-r--r--src/testdir/test_memory_usage.vim8
4 files changed, 35 insertions, 20 deletions
diff --git a/src/testdir/check.vim b/src/testdir/check.vim
index 2a4599763..e5298bc53 100644
--- a/src/testdir/check.vim
+++ b/src/testdir/check.vim
@@ -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
diff --git a/src/testdir/test_ex_mode.vim b/src/testdir/test_ex_mode.vim
index a07649e0b..ffde11e3e 100644
--- a/src/testdir/test_ex_mode.vim
+++ b/src/testdir/test_ex_mode.vim
@@ -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>")
diff --git a/src/testdir/test_ins_complete.vim b/src/testdir/test_ins_complete.vim
index e59bd207e..5aa26645b 100644
--- a/src/testdir/test_ins_complete.vim
+++ b/src/testdir/test_ins_complete.vim
@@ -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
diff --git a/src/testdir/test_memory_usage.vim b/src/testdir/test_memory_usage.vim
index 49abc5677..4f78d9a09 100644
--- a/src/testdir/test_memory_usage.vim
+++ b/src/testdir/test_memory_usage.vim
@@ -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