view src/testdir/test_terminal_fail.vim @ 13798:415185e2c970 v8.0.1771

patch 8.0.1771: in tests, when WaitFor() fails it doesn't say why commit https://github.com/vim/vim/commit/50182fa84e20a0547f3e2bd6683ef799fcd27855 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Apr 28 21:34:40 2018 +0200 patch 8.0.1771: in tests, when WaitFor() fails it doesn't say why Problem: In tests, when WaitFor() fails it doesn't say why. (James McCoy) Solution: Add WaitForAssert(), which produces an assert error when it fails.
author Christian Brabandt <cb@256bit.org>
date Sat, 28 Apr 2018 21:45:06 +0200
parents e9dbdc4d8279
children f38fcbf343ce
line wrap: on
line source

" This test is in a separate file, because it usually causes reports for memory
" leaks under valgrind.  That is because when fork/exec fails memory is not
" freed.  Since the process exists right away it's not a real leak.

if !has('terminal')
  finish
endif

source shared.vim

func Test_terminal_redir_fails()
  if has('unix')
    let buf = term_start('xyzabc', {'err_io': 'file', 'err_name': 'Xfile'})
    call term_wait(buf)
    call WaitFor('len(readfile("Xfile")) > 0')
    call assert_match('executing job failed', readfile('Xfile')[0])
    call WaitFor('!&modified')
    call delete('Xfile')
    bwipe
  endif
endfunc