aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/testdir/runnvim.vim
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/testdir/runnvim.vim')
-rw-r--r--src/nvim/testdir/runnvim.vim58
1 files changed, 0 insertions, 58 deletions
diff --git a/src/nvim/testdir/runnvim.vim b/src/nvim/testdir/runnvim.vim
deleted file mode 100644
index a46e2d3fc0..0000000000
--- a/src/nvim/testdir/runnvim.vim
+++ /dev/null
@@ -1,58 +0,0 @@
-let s:logger = {'d_events': []}
-function s:logger.on_stdout(id, data, event)
- call add(self.d_events, [a:event, a:data])
-endfunction
-let s:logger.on_stderr = s:logger.on_stdout
-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 is 0 ? printf('<%x>', char2nr(a:char)) : r
-endfunction
-
-function Main()
- let argc = +$NVIM_TEST_ARGC
- let args = []
- for i in range(argc)
- call add(args, eval("$NVIM_TEST_ARG" . i))
- endfor
- set lines=25
- set columns=80
- enew
- let job = termopen(args, s:logger)
- let results = jobwait([job], 5 * 60 * 1000)
- " TODO(ZyX-I): Get colors
- let screen = getline(1, '$')
- bwipeout! " kills the job always.
- let stringified_events = map(s:logger.d_events,
- \'v:val[0] . ": " . ' .
- \'join(map(v:val[1], '.
- \ '''substitute(v:val, '.
- \ '"\\v\\C(\\p@!.|\\<)", '.
- \ '"\\=s:escape_non_printable(submatch(0))", '.
- \ '"g")''), '.
- \ '''\n'')')
- call setline(1, [
- \ 'Job exited with code ' . results[0],
- \ printf('Screen (%u lines)', len(screen)),
- \ repeat('=', 80),
- \] + screen + [
- \ repeat('=', 80),
- \ printf('Events (%u lines):', len(stringified_events)),
- \ repeat('=', 80),
- \] + stringified_events + [
- \ repeat('=', 80),
- \])
- write
- if results[0] != 0
- cquit
- else
- qall
- endif
-endfunction
-
-call Main()