diff options
-rw-r--r-- | test/functional/eval/server_spec.lua | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/test/functional/eval/server_spec.lua b/test/functional/eval/server_spec.lua index e1d268a7d8..a621be2100 100644 --- a/test/functional/eval/server_spec.lua +++ b/test/functional/eval/server_spec.lua @@ -5,6 +5,12 @@ local command = helpers.command local clear, funcs, meths = helpers.clear, helpers.funcs, helpers.meths local os_name = helpers.os_name +local function clear_serverlist() + for _, server in pairs(funcs.serverlist()) do + funcs.serverstop(server) + end +end + describe('serverstart(), serverstop()', function() before_each(clear) @@ -52,6 +58,32 @@ describe('serverstart(), serverstop()', function() command("call serverstop('bogus-socket-name')") end) + it('parses endpoints correctly', function() + clear_serverlist() + eq({}, funcs.serverlist()) + + funcs.serverstart('127.0.0.1:0') -- assign random port + assert(string.match(funcs.serverlist()[1], '127.0.0.1:%d+')) + clear_serverlist() + + funcs.serverstart('127.0.0.1:') -- assign random port + assert(string.match(funcs.serverlist()[1], '127.0.0.1:%d+')) + clear_serverlist() + + funcs.serverstart('127.0.0.1:12345') + funcs.serverstart('127.0.0.1:12345') -- exists already; ignore + funcs.serverstart('::1:12345') + funcs.serverstart('::1:12345') -- exists already; ignore + local expected = { + '127.0.0.1:12345', + '::1:12345', + } + eq(expected, funcs.serverlist()) + clear_serverlist() + + funcs.serverstart('127.0.0.1:65536') -- invalid port + eq({}, funcs.serverlist()) + end) end) describe('serverlist()', function() |