diff options
Diffstat (limited to 'test/functional/vimscript/server_spec.lua')
-rw-r--r-- | test/functional/vimscript/server_spec.lua | 27 |
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() |