aboutsummaryrefslogtreecommitdiff
path: root/test/functional/vimscript/server_spec.lua
diff options
context:
space:
mode:
Diffstat (limited to 'test/functional/vimscript/server_spec.lua')
-rw-r--r--test/functional/vimscript/server_spec.lua27
1 files changed, 25 insertions, 2 deletions
diff --git a/test/functional/vimscript/server_spec.lua b/test/functional/vimscript/server_spec.lua
index 14c87d9d93..a2d99c7d45 100644
--- a/test/functional/vimscript/server_spec.lua
+++ b/test/functional/vimscript/server_spec.lua
@@ -1,4 +1,6 @@
local helpers = require('test.functional.helpers')(after_each)
+local assert_log = helpers.assert_log
+local retry = helpers.retry
local eq, neq, eval = helpers.eq, helpers.neq, helpers.eval
local clear, funcs, meths = helpers.clear, helpers.funcs, helpers.meths
local ok = helpers.ok
@@ -7,6 +9,8 @@ local pcall_err = helpers.pcall_err
local mkdir = helpers.mkdir
local is_os = helpers.is_os
+local testlog = 'Xtest-server-log'
+
local function clear_serverlist()
for _, server in pairs(funcs.serverlist()) do
funcs.serverstop(server)
@@ -14,6 +18,10 @@ local function clear_serverlist()
end
describe('server', function()
+ after_each(function()
+ os.remove(testlog)
+ end)
+
it('serverstart() stores sockets in $XDG_RUNTIME_DIR', function()
local dir = 'Xtest_xdg_run'
mkdir(dir)
@@ -74,13 +82,22 @@ describe('server', function()
end)
it('serverstop() returns false for invalid input', function()
- clear()
+ clear{env={
+ NVIM_LOG_FILE=testlog,
+ NVIM_LISTEN_ADDRESS='.',
+ }}
eq(0, eval("serverstop('')"))
eq(0, eval("serverstop('bogus-socket-name')"))
+ retry(nil, 1000, function()
+ assert_log('Not listening on bogus%-socket%-name', testlog, 10)
+ end)
end)
it('parses endpoints', function()
- clear()
+ clear{env={
+ NVIM_LOG_FILE=testlog,
+ NVIM_LISTEN_ADDRESS='.',
+ }}
clear_serverlist()
eq({}, funcs.serverlist())
@@ -104,6 +121,9 @@ describe('server', function()
if status then
table.insert(expected, v4)
pcall(funcs.serverstart, v4) -- exists already; ignore
+ retry(nil, 1000, function()
+ assert_log('Failed to start server: address already in use: 127%.0%.0%.1', testlog, 10)
+ end)
end
local v6 = '::1:12345'
@@ -111,6 +131,9 @@ describe('server', function()
if status then
table.insert(expected, v6)
pcall(funcs.serverstart, v6) -- exists already; ignore
+ retry(nil, 1000, function()
+ assert_log('Failed to start server: address already in use: ::1', testlog, 10)
+ end)
end
eq(expected, funcs.serverlist())
clear_serverlist()