fix: adjust error message for error in UI event callback (#28200)

Also close Nvim instance before removing log file, otherwise the Nvim
instance will still write to the log file.

Also adjust log level in libuv_process_spawn(). Ref #27660
This commit is contained in:
zeertzjq
2024-04-06 11:18:43 +08:00
committed by GitHub
parent ddbd2b4e40
commit ae28ef327e
9 changed files with 41 additions and 2 deletions

View File

@@ -5,6 +5,10 @@ local exec_lua = helpers.exec_lua
local clear = helpers.clear
local feed = helpers.feed
local fn = helpers.fn
local assert_log = helpers.assert_log
local check_close = helpers.check_close
local testlog = 'Xtest_lua_ui_event_log'
describe('vim.ui_attach', function()
local screen
@@ -150,3 +154,22 @@ describe('vim.ui_attach', function()
}, actual, vim.inspect(actual))
end)
end)
describe('vim.ui_attach', function()
after_each(function()
check_close()
os.remove(testlog)
end)
it('error in callback is logged', function()
clear({ env = { NVIM_LOG_FILE = testlog } })
local screen = Screen.new()
screen:attach()
exec_lua([[
local ns = vim.api.nvim_create_namespace('testspace')
vim.ui_attach(ns, { ext_popupmenu = true }, function() error(42) end)
]])
feed('ifoo<CR>foobar<CR>fo<C-X><C-N>')
assert_log('Error executing UI event callback: Error executing lua: .*: 42', testlog, 100)
end)
end)