mirror of
https://github.com/neovim/neovim.git
synced 2025-12-16 03:15:39 +00:00
main: Temporary fix assertion error
This variant uses `fdopen()` which is not standard, but it fixes problem on my system. In next commit `scriptin` will use `FileDescriptor*` from os/fileio in place of `FILE*`.
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
local lfs = require('lfs')
|
||||
local helpers = require('test.functional.helpers')(after_each)
|
||||
local Screen = require('test.functional.ui.screen')
|
||||
|
||||
local eq = helpers.eq
|
||||
local feed = helpers.feed
|
||||
local clear = helpers.clear
|
||||
local funcs = helpers.funcs
|
||||
local nvim_prog = helpers.nvim_prog
|
||||
@@ -53,5 +55,51 @@ describe('Command-line option', function()
|
||||
local attrs = lfs.attributes(fname)
|
||||
eq(#('100500\n'), attrs.size)
|
||||
end)
|
||||
it('does not crash after reading from stdin in non-headless mode', function()
|
||||
local screen = Screen.new(40, 8)
|
||||
screen:attach()
|
||||
eq(nil, lfs.attributes(fname))
|
||||
funcs.termopen({
|
||||
nvim_prog_abs(), '-u', 'NONE', '-i', 'NONE',
|
||||
'--cmd', 'set noswapfile shortmess+=IFW fileformats=unix',
|
||||
'-s', '-'
|
||||
})
|
||||
screen:expect([[
|
||||
^ |
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
{2:[No Name] 0,0-1 All}|
|
||||
|
|
||||
|
|
||||
]], {
|
||||
[1] = {foreground = 4210943, special = Screen.colors.Grey0},
|
||||
[2] = {special = Screen.colors.Grey0, bold = true, reverse = true}
|
||||
})
|
||||
feed('i:cq<CR><C-\\><C-n>')
|
||||
screen:expect([[
|
||||
^ |
|
||||
[Process exited 1] |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
]])
|
||||
--[=[ Example of incorrect output:
|
||||
screen:expect([[
|
||||
^nvim: /var/tmp/portage/dev-libs/libuv-1.|
|
||||
10.2/work/libuv-1.10.2/src/unix/core.c:5|
|
||||
19: uv__close: Assertion `fd > STDERR_FI|
|
||||
LENO' failed. |
|
||||
|
|
||||
[Process exited 6] |
|
||||
|
|
||||
|
|
||||
]])
|
||||
]=]
|
||||
end)
|
||||
end)
|
||||
end)
|
||||
|
||||
Reference in New Issue
Block a user