aboutsummaryrefslogtreecommitdiff
path: root/test/functional/api/server_requests_spec.lua
diff options
context:
space:
mode:
authorBjörn Linse <bjorn.linse@gmail.com>2017-05-06 09:31:36 +0200
committerBjörn Linse <bjorn.linse@gmail.com>2017-05-29 19:02:49 +0200
commit5a151555c8dce70bbf235e7f6d5bd1ced5e7c46c (patch)
tree2860c9db4994bc363a8a1ee036dd9dc2ad73b83b /test/functional/api/server_requests_spec.lua
parent6a7593875827374c15484dd4eecd31a88f8c6f77 (diff)
downloadrneovim-5a151555c8dce70bbf235e7f6d5bd1ced5e7c46c.tar.gz
rneovim-5a151555c8dce70bbf235e7f6d5bd1ced5e7c46c.tar.bz2
rneovim-5a151555c8dce70bbf235e7f6d5bd1ced5e7c46c.zip
sockets: don't deadlock when connecting to own pipe address
Diffstat (limited to 'test/functional/api/server_requests_spec.lua')
-rw-r--r--test/functional/api/server_requests_spec.lua16
1 files changed, 16 insertions, 0 deletions
diff --git a/test/functional/api/server_requests_spec.lua b/test/functional/api/server_requests_spec.lua
index b325139d12..cf15062325 100644
--- a/test/functional/api/server_requests_spec.lua
+++ b/test/functional/api/server_requests_spec.lua
@@ -282,4 +282,20 @@ describe('server -> client', function()
end)
end)
+ describe('when connecting to its own pipe adress', function()
+ it('it does not deadlock', function()
+ local address = funcs.serverlist()[1]
+ local first = string.sub(address,1,1)
+ ok(first == '/' or first == '\\')
+ local serverpid = funcs.getpid()
+
+ local id = funcs.sockconnect('pipe', address, {rpc=true})
+
+ funcs.rpcrequest(id, 'nvim_set_current_line', 'hello')
+ eq('hello', meths.get_current_line())
+ eq(serverpid, funcs.rpcrequest(id, "nvim_eval", "getpid()"))
+
+ eq(id, funcs.rpcrequest(id, 'nvim_get_api_info')[1])
+ end)
+ end)
end)