From d993ec5db811ae5085544f9cd4261e24a4ee51c1 Mon Sep 17 00:00:00 2001 From: Daniel Hahler Date: Wed, 21 Aug 2019 02:28:59 +0200 Subject: src/nvim/testdir/runnvim.vim: improve escaping of non-printables --- src/nvim/testdir/runnvim.vim | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/nvim/testdir/runnvim.vim b/src/nvim/testdir/runnvim.vim index 52e05cfbeb..0ac97b717a 100644 --- a/src/nvim/testdir/runnvim.vim +++ b/src/nvim/testdir/runnvim.vim @@ -7,6 +7,13 @@ function s:logger.on_exit(id, data, event) call add(self.d_events, [a:event, ['']]) endfunction +" Replace non-printable chars by special sequence, or "<%x>". +let s:escaped_char = {"\n": '\n', "\r": '\r', "\t": '\t'} +function! s:escape_non_printable(char) abort + let r = get(s:escaped_char, a:char) + return r == 0 ? printf('<%x>', char2nr(a:char)) : string(r) +endfunction + function Main() let argc = +$NVIM_TEST_ARGC let args = [] @@ -26,9 +33,8 @@ function Main() \'join(map(v:val[1], '. \ '''substitute(v:val, '. \ '"\\v\\C(\\p@!.|\\<)", '. - \ '"\\=printf(\"<%x>\", '. - \ 'char2nr(submatch(0)))", '. - \ '"")''), '. + \ '"\\=s:escape_non_printable(submatch(0))", '. + \ '"g")''), '. \ '''\n'')') call setline(1, [ \ 'Job exited with code ' . results[0], -- cgit From e5b2423fa180d0951ec6eb5bfcdf3fedb2a7c161 Mon Sep 17 00:00:00 2001 From: Daniel Hahler Date: Wed, 21 Aug 2019 02:44:27 +0200 Subject: fixup! test/functional/helpers.lua: env: forward also TSAN_OPTIONS/MSAN_OPTIONS --- src/nvim/testdir/runnvim.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/nvim/testdir/runnvim.vim b/src/nvim/testdir/runnvim.vim index 0ac97b717a..a46e2d3fc0 100644 --- a/src/nvim/testdir/runnvim.vim +++ b/src/nvim/testdir/runnvim.vim @@ -11,7 +11,7 @@ endfunction let s:escaped_char = {"\n": '\n', "\r": '\r', "\t": '\t'} function! s:escape_non_printable(char) abort let r = get(s:escaped_char, a:char) - return r == 0 ? printf('<%x>', char2nr(a:char)) : string(r) + return r is 0 ? printf('<%x>', char2nr(a:char)) : r endfunction function Main() -- cgit