aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-10-09 16:14:37 +0800
committerGitHub <noreply@github.com>2023-10-09 16:14:37 +0800
commitf96f8566b5f7997266264ba94a22844d9bc22699 (patch)
treecf6751bc06fb043ecd53d57d1dac5eeb8f8eb0b1
parentdadc06ced268b0ec3b5ce5796be0af78cd387cbb (diff)
downloadrneovim-f96f8566b5f7997266264ba94a22844d9bc22699.tar.gz
rneovim-f96f8566b5f7997266264ba94a22844d9bc22699.tar.bz2
rneovim-f96f8566b5f7997266264ba94a22844d9bc22699.zip
test(ui/embed_spec): use notification instead of request (#25555)
This avoid the hang mentioned in #24888, and also matches TUI better.
-rw-r--r--test/functional/ui/embed_spec.lua1
-rw-r--r--test/functional/ui/screen.lua11
2 files changed, 9 insertions, 3 deletions
diff --git a/test/functional/ui/embed_spec.lua b/test/functional/ui/embed_spec.lua
index cd2b48213d..db01c55e23 100644
--- a/test/functional/ui/embed_spec.lua
+++ b/test/functional/ui/embed_spec.lua
@@ -98,6 +98,7 @@ describe('--embed UI', function()
-- attach immediately after startup, for early UI
local screen = Screen.new(40, 8)
+ screen.rpc_async = true -- Avoid hanging. #24888
screen:attach {stdin_fd=3}
screen:set_default_attr_ids {
[1] = {bold = true, foreground = Screen.colors.Blue1};
diff --git a/test/functional/ui/screen.lua b/test/functional/ui/screen.lua
index be7c2f291c..d3ffb07749 100644
--- a/test/functional/ui/screen.lua
+++ b/test/functional/ui/screen.lua
@@ -150,6 +150,7 @@ function Screen.new(width, height)
msg_grid = nil,
msg_grid_pos = nil,
_session = nil,
+ rpc_async = false,
messages = {},
msg_history = {},
showmode = {},
@@ -173,9 +174,13 @@ function Screen.new(width, height)
_busy = false,
}, Screen)
local function ui(method, ...)
- local status, rv = self._session:request('nvim_ui_'..method, ...)
- if not status then
- error(rv[2])
+ if self.rpc_async then
+ self._session:notify('nvim_ui_'..method, ...)
+ else
+ local status, rv = self._session:request('nvim_ui_'..method, ...)
+ if not status then
+ error(rv[2])
+ end
end
end
self.uimeths = create_callindex(ui)